chensenlai 10988628a0 语音房项目初始化 | лет назад: 5 | |
---|---|---|
.. | ||
bin | лет назад: 5 | |
lib | лет назад: 5 | |
CHANGELOG.md | лет назад: 5 | |
LICENSE | лет назад: 5 | |
README.md | лет назад: 5 | |
package.json | лет назад: 5 |
Babylon is a JavaScript parser used in Babel.
Heavily based on acorn and acorn-jsx, thanks to the awesome work of @RReverser and @marijnh.
Significant diversions are expected to occur in the future such as streaming, EBNF definitions, sweet.js integration, interspacial parsing and more.
babylon.parse(code, [options])
allowImportExportEverywhere: 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.
allowReturnOutsideFunction: By default, a return statement at
the top level raises an error. Set this to true
to accept such
code.
allowSuperOutsideMethod TODO
sourceType: Indicate the mode the code should be parsed in. Can be
either "script"
or "module"
.
sourceFilename: Correlate output AST nodes with their source filename. Useful when generating code and source maps from the ASTs of multiple input files.
plugins: Array containing the plugins that you want to enable.
Babylon generates AST according to Babel AST format. It is based on ESTree spec with the following deviations:
directives
field with Directive and DirectiveLiteralAST for JSX code is based on Facebook JSX AST with the addition of one node type:
JSXText
require("babylon").parse("code", {
// parse in strict mode and allow module declarations
sourceType: "module",
plugins: [
// enable jsx and flow syntax
"jsx",
"flow"
]
});
jsx
flow
classConstructorCall
doExpressions
objectRestSpread
decorators
classProperties
exportExtensions
asyncGenerators
functionBind
functionSent