💻
How are you using Babel?
Programmatic API (babel.transform, babel.parse)
Input code
let ast = require("@babel/parser").parse("type NamedStyles<T> = { [P in keyof T]: ViewStyle | TextStyle | ImageStyle };", {
sourceType: "module",
plugins: [
"jsx",
"typescript"
]
});
var generator = require("@babel/generator")
const output = generator.default(ast, { compact: true})
let newAst = require("@babel/parser").parse(output.code, {
sourceType: "module",
plugins: [
// enable jsx and flow syntax
"jsx",
"typescript"
]
})
console.log(newAst)
Configuration file name
No response
Configuration
No response
Current and expected behavior
current behavior:
/Documents/test/node_modules/@babel_parser@7.17.8@@babel/parser/lib/index.js:3338
if (!this.options.errorRecovery) throw error;
^
SyntaxError: Unexpected token, expected "," (1:18)
at instantiate (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:72:32)
at constructor (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:358:12)
at Object.raise (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:3334:19)
at Object.unexpected (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:3372:16)
at Object.expect (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:4001:28)
at Object.tsParseDelimitedListWorker (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:8495:14)
at Object.tsParseDelimitedList (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:8464:25)
at Object.tsParseBracketedList (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:8517:25)
at Object.tsParseTypeParameters (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:8631:24)
at Object.tsTryParseTypeParameters (/Documents/test/node_modules/_@babel_parser@7.17.8@@babel/parser/lib/index.js:8615:19) {
code: 'BABEL_PARSER_SYNTAX_ERROR',
reasonCode: 'UnexpectedToken',
loc: Position { line: 1, column: 18, index: 18 },
pos: [Getter/Setter]
}
expected behavior:
Node {
type: 'File',
start: 0,
end: 70,
loc: SourceLocation {
start: Position { line: 1, column: 0, index: 0 },
end: Position { line: 1, column: 70, index: 70 },
filename: undefined,
identifierName: undefined
},
errors: [],
program: Node {
type: 'Program',
start: 0,
end: 70,
loc: SourceLocation {
start: [Position],
end: [Position],
filename: undefined,
identifierName: undefined
},
sourceType: 'module',
interpreter: null,
body: [ [Node] ],
directives: []
},
comments: []
}
Environment
- babel-parser:7.17.8
- babel-generator:7.17.7
- node: v14.17.5
Possible solution
No response
Additional context
No response
💻
How are you using Babel?
Programmatic API (
babel.transform,babel.parse)Input code
Configuration file name
No response
Configuration
No response
Current and expected behavior
current behavior:
expected behavior:
Environment
Possible solution
No response
Additional context
No response