UNPKG

1.86 kBTypeScriptView Raw
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
8import { File, Expression } from 'babel-types';
9
10export function parse(code: string, opts?: BabylonOptions): File;
11
12export function parseExpression(input: string, options?: BabylonOptions): Expression;
13
14export 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
45export 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';