interface ParserOptions {
    allowAwaitOutsideFunction?: boolean;
    allowImportExportEverywhere?: boolean;
    allowNewTargetOutsideFunction?: boolean;
    allowReturnOutsideFunction?: boolean;
    allowSuperOutsideMethod?: boolean;
    allowUndeclaredExports?: boolean;
    annexB?: boolean;
    attachComment?: boolean;
    createImportExpressions?: boolean;
    createParenthesizedExpressions?: boolean;
    errorRecovery?: boolean;
    plugins?: PluginConfig[];
    ranges?: boolean;
    sourceFilename?: string;
    sourceType?: "script" | "module" | "unambiguous";
    startColumn?: number;
    startLine?: number;
    strictMode?: boolean;
    tokens?: boolean;
}

Properties

allowAwaitOutsideFunction?: boolean

By default, await use is not allowed outside of an async function. Set this to true to accept such code.

allowImportExportEverywhere?: boolean

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.

allowNewTargetOutsideFunction?: boolean

By default, new.target use is not allowed outside of a function or class. Set this to true to accept such code.

allowReturnOutsideFunction?: boolean

By default, a return statement at the top level raises an error. Set this to true to accept such code.

allowSuperOutsideMethod?: boolean
allowUndeclaredExports?: boolean

By default, exported identifiers must refer to a declared variable. Set this to true to allow export statements to reference undeclared variables.

annexB?: boolean

By default, Babel parser JavaScript code according to Annex B syntax. Set this to false to disable such behavior.

attachComment?: boolean

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. @babel/eslint-parser will set it for you. It is not recommended to use attachComment: false with Babel transform, as doing so removes all the comments in output code, and renders annotations such as /* istanbul ignore next */ nonfunctional.

createImportExpressions?: boolean

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)]).

createParenthesizedExpressions?: boolean

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.

errorRecovery?: boolean

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.

plugins?: PluginConfig[]

Array containing the plugins that you want to enable.

ranges?: boolean

Adds a ranges property to each node: [node.start, node.end]

sourceFilename?: string

Correlate output AST nodes with their source filename. Useful when generating code and source maps from the ASTs of multiple input files.

sourceType?: "script" | "module" | "unambiguous"

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".

startColumn?: number

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.

startLine?: number

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.

strictMode?: boolean

Should the parser work in strict mode. Defaults to true if sourceType === 'module'. Otherwise, false.

tokens?: boolean

Adds all parsed tokens to a tokens property on the File node.