1 | // Type definitions for babylon 6.16
|
2 | // Project: https://github.com/babel/babylon, https://babeljs.io
|
3 | // Definitions by: Troy Gerwien <https://github.com/yortus>
|
4 | // Marvin Hagemeister <https://github.com/marvinhagemeister>
|
5 | // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
6 | // TypeScript Version: 2.8
|
7 |
|
8 | import { File, Expression } from 'babel-types';
|
9 |
|
10 | export function parse(code: string, opts?: BabylonOptions): File;
|
11 |
|
12 | export function parseExpression(input: string, options?: BabylonOptions): Expression;
|
13 |
|
14 | export interface BabylonOptions {
|
15 | /**
|
16 | * By default, import and export declarations can only appear at a program's top level.
|
17 | * Setting this option to true allows them anywhere where a statement is allowed.
|
18 | */
|
19 | allowImportExportEverywhere?: boolean | undefined;
|
20 |
|
21 | /**
|
22 | * By default, a return statement at the top level raises an error. Set this to true to accept such code.
|
23 | */
|
24 | allowReturnOutsideFunction?: boolean | undefined;
|
25 |
|
26 | allowSuperOutsideMethod?: boolean | undefined;
|
27 |
|
28 | /**
|
29 | * Indicate the mode the code should be parsed in. Can be either "script" or "module".
|
30 | */
|
31 | sourceType?: 'script' | 'module' | undefined;
|
32 |
|
33 | /**
|
34 | * Correlate output AST nodes with their source filename. Useful when
|
35 | * generating code and source maps from the ASTs of multiple input files.
|
36 | */
|
37 | sourceFilename?: string | undefined;
|
38 |
|
39 | /**
|
40 | * Array containing the plugins that you want to enable.
|
41 | */
|
42 | plugins?: PluginName[] | undefined;
|
43 | }
|
44 |
|
45 | export type PluginName =
|
46 | 'estree' |
|
47 | 'jsx' |
|
48 | 'flow' |
|
49 | 'typescript' |
|
50 | 'classConstructorCall' |
|
51 | 'doExpressions' |
|
52 | 'objectRestSpread' |
|
53 | 'decorators' |
|
54 | 'classProperties' |
|
55 | 'exportExtensions' |
|
56 | 'asyncGenerators' |
|
57 | 'functionBind' |
|
58 | 'functionSent' |
|
59 | 'dynamicImport';
|