Files
DefinitelyTyped/babylon/babylon.d.ts
yortus 0754cc639a Initial typings for babel v6 (#9031)
* add babel v6 definitions (6 modules)

- babel-core
- babel-generator
- babel-template
- babel-traverse
- babel-types
- babylon

* fix failing tests

- remove nullable annotations (not supported in tsc1.8.7)
- explicit 'any'
- remove property type guard (not supported in tsc1.8.7)
2016-04-23 15:21:08 +09:00

49 lines
1.7 KiB
TypeScript

// Type definitions for babylon v6.7
// Project: https://github.com/babel/babylon
// Definitions by: Troy Gerwien <https://github.com/yortus>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../babel-types/babel-types.d.ts" />
declare module "babylon" {
import * as t from 'babel-types';
type Node = t.Node;
export function parse(code: string, opts?: BabylonOptions): Node;
export interface BabylonOptions {
/**
* 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, a return statement at the top level raises an error. Set this to true to accept such code.
*/
allowReturnOutsideFunction?: boolean;
allowSuperOutsideMethod?: boolean;
/**
* Indicate the mode the code should be parsed in. Can be either "script" or "module".
*/
sourceType?: 'script' | 'module';
/**
* Correlate output AST nodes with their source filename. Useful when
* generating code and source maps from the ASTs of multiple input files.
*/
sourceFilename?: string;
/**
* Array containing the plugins that you want to enable.
*/
plugins?: PluginName[];
}
export type PluginName = 'jsx' | 'flow' | 'asyncFunctions' | 'classConstructorCall' | 'doExpressions'
| 'trailingFunctionCommas' | 'objectRestSpread' | 'decorators' | 'classProperties' | 'exportExtensions'
| 'exponentiationOperator' | 'asyncGenerators' | 'functionBind' | 'functionSent';
}