You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
4.3 KiB
146 lines
4.3 KiB
// Type definitions for @babel/parser |
|
// Project: https://github.com/babel/babel/tree/master/packages/babel-parser |
|
// Definitions by: Troy Gerwien <https://github.com/yortus> |
|
// Marvin Hagemeister <https://github.com/marvinhagemeister> |
|
// Avi Vahl <https://github.com/AviVahl> |
|
// TypeScript Version: 2.9 |
|
|
|
/** |
|
* Parse the provided code as an entire ECMAScript program. |
|
*/ |
|
export function parse(input: string, options?: ParserOptions): import('@babel/types').File; |
|
|
|
/** |
|
* Parse the provided code as a single expression. |
|
*/ |
|
export function parseExpression(input: string, options?: ParserOptions): import('@babel/types').Expression; |
|
|
|
export interface ParserOptions { |
|
/** |
|
* 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. |
|
*/ |
|
allowImportExportEverywhere?: boolean; |
|
|
|
/** |
|
* By default, await use is not allowed outside of an async function. |
|
* Set this to true to accept such code. |
|
*/ |
|
allowAwaitOutsideFunction?: boolean; |
|
|
|
/** |
|
* By default, a return statement at the top level raises an error. |
|
* Set this to true to accept such code. |
|
*/ |
|
allowReturnOutsideFunction?: boolean; |
|
|
|
allowSuperOutsideMethod?: boolean; |
|
|
|
/** |
|
* By default, exported identifiers must refer to a declared variable. |
|
* Set this to true to allow export statements to reference undeclared variables. |
|
*/ |
|
allowUndeclaredExports?: boolean; |
|
|
|
/** |
|
* 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". |
|
*/ |
|
sourceType?: 'script' | 'module' | 'unambiguous'; |
|
|
|
/** |
|
* Correlate output AST nodes with their source filename. |
|
* Useful when generating code and source maps from the ASTs of multiple input files. |
|
*/ |
|
sourceFilename?: string; |
|
|
|
/** |
|
* 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. |
|
*/ |
|
startLine?: number; |
|
|
|
/** |
|
* Array containing the plugins that you want to enable. |
|
*/ |
|
plugins?: ParserPlugin[]; |
|
|
|
/** |
|
* Should the parser work in strict mode. |
|
* Defaults to true if sourceType === 'module'. Otherwise, false. |
|
*/ |
|
strictMode?: boolean; |
|
|
|
/** |
|
* Adds a ranges property to each node: [node.start, node.end] |
|
*/ |
|
ranges?: boolean; |
|
|
|
/** |
|
* Adds all parsed tokens to a tokens property on the File node. |
|
*/ |
|
tokens?: 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. |
|
*/ |
|
createParenthesizedExpressions?: boolean; |
|
} |
|
|
|
export type ParserPlugin = |
|
'asyncGenerators' | |
|
'bigInt' | |
|
'classPrivateMethods' | |
|
'classPrivateProperties' | |
|
'classProperties' | |
|
'decorators' | |
|
'decorators-legacy' | |
|
'doExpressions' | |
|
'dynamicImport' | |
|
'estree' | |
|
'exportDefaultFrom' | |
|
'exportNamespaceFrom' | // deprecated |
|
'flow' | |
|
'flowComments' | |
|
'functionBind' | |
|
'functionSent' | |
|
'importMeta' | |
|
'jsx' | |
|
'logicalAssignment' | |
|
'nullishCoalescingOperator' | |
|
'numericSeparator' | |
|
'objectRestSpread' | |
|
'optionalCatchBinding' | |
|
'optionalChaining' | |
|
'partialApplication' | |
|
'pipelineOperator' | |
|
'placeholders' | |
|
'throwExpressions' | |
|
'topLevelAwait' | |
|
'typescript' | |
|
'v8intrinsic' | |
|
ParserPluginWithOptions; |
|
|
|
export type ParserPluginWithOptions = |
|
['decorators', DecoratorsPluginOptions] | |
|
['pipelineOperator', PipelineOperatorPluginOptions] | |
|
['flow', FlowPluginOptions]; |
|
|
|
export interface DecoratorsPluginOptions { |
|
decoratorsBeforeExport?: boolean; |
|
} |
|
|
|
export interface PipelineOperatorPluginOptions { |
|
proposal: 'minimal' | 'smart'; |
|
} |
|
|
|
export interface FlowPluginOptions { |
|
all?: boolean; |
|
}
|
|
|