ParserOptions
§Properties
By default, await use is not allowed outside of an async function. Set this to true to accept such code.
By default, import and export declarations can only appear at a program's top level. Setting this option to true allows them anywhere where a statement is allowed.
By default, new.target use is not allowed outside of a function or class. Set this to true to accept such code.
By default, a return statement at the top level raises an error. Set this to true to accept such code.
By default, exported identifiers must refer to a declared variable. Set this to true to allow export statements to reference undeclared variables.
By default, Babel parser JavaScript code according to Annex B syntax.
Set this to false
to disable such behavior.
By default, Babel attaches comments to adjacent AST nodes. When this option is set to false, comments are not attached. It can provide up to 30% performance improvement when the input code has many comments.
The default is false in Babel 7 and true in Babel 8
Set this to true to parse it as an ImportExpression
node.
Otherwise import(foo)
is parsed as CallExpression(Import, [Identifier(foo)])
.
By default, the parser adds information about parentheses by setting
extra.parenthesized
to true
as needed.
When this option is true
the parser creates ParenthesizedExpression
AST nodes instead of using the extra
property.
By default, Babel always throws an error when it finds some invalid code. When this option is set to true, it will store the parsing error and try to continue parsing the invalid input file.
Array containing the plugins that you want to enable.
Correlate output AST nodes with their source filename. Useful when generating code and source maps from the ASTs of multiple input files.
Indicate the mode the code should be parsed in. Can be one of "script", "module", or "unambiguous". Defaults to "script". "unambiguous" will make @babel/parser attempt to guess, based on the presence of ES6 import or export statements. Files with ES6 imports and exports are considered "module" and are otherwise "script".
By default, the parsed code is treated as if it starts from line 1, column 0. You can provide a column number to alternatively start with. Useful for integration with other source tools.
By default, the first line of code parsed is treated as line 1. You can provide a line number to alternatively start with. Useful for integration with other source tools.