Blame view

node_modules/recast/parsers/_babel_options.js 1.17 KB
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  const getOption = require("../lib/util.js").getOption;
  
  module.exports = function (options) {
    // The goal here is to tolerate as much syntax as possible, since Recast
    // is not in the business of forbidding anything. If you want your
    // parser to be more restrictive for some reason, you can always pass
    // your own parser object to recast.parse.
    return {
      sourceType: getOption(options, "sourceType", "module"),
      strictMode: getOption(options, "strictMode", false),
      allowImportExportEverywhere: true,
      allowReturnOutsideFunction: true,
      startLine: 1,
      tokens: true,
      plugins: [
        "asyncGenerators",
        "bigInt",
        "classPrivateMethods",
        "classPrivateProperties",
        "classProperties",
        "decorators-legacy",
        "doExpressions",
        "dynamicImport",
        "exportDefaultFrom",
        "exportExtensions",
        "exportNamespaceFrom",
        "functionBind",
        "functionSent",
        "importMeta",
        "nullishCoalescingOperator",
        "numericSeparator",
        "objectRestSpread",
        "optionalCatchBinding",
        "optionalChaining",
        ["pipelineOperator", { proposal: "minimal" }],
        "throwExpressions",
      ]
    };
  };