src/language-js/parser-babel.js/babelOptions
function babelOptions({ sourceType, extraPlugins = [] }) {
  return {
    sourceType,
    allowAwaitOutsideFunction: true,
    allowImportExportEverywhere: true,
    allowReturnOutsideFunction: true,
    allowSuperOutsideMethod: true,
    allowUndeclaredExports: true,
    errorRecovery: true,
    createParenthesizedExpressions: true,
    plugins: [
      // When adding a plugin, please add a test in `tests/js/babel-plugins`,
      // To remove plugins, remove it here and run `yarn test tests/js/babel-plugins` to verify

      "doExpressions",
      "classProperties",
      "exportDefaultFrom",
      "functionBind",
      "functionSent",
      "classPrivateProperties",
      "throwExpressions",
      "classPrivateMethods",
      "v8intrinsic",
      "partialApplication",
      ["decorators", { decoratorsBeforeExport: false }],
      "privateIn",
      "importAssertions",
      ["recordAndTuple", { syntaxType: "hash" }],
      "decimal",
      "moduleStringNames",
      "classStaticBlock",
      ...extraPlugins,
    ],
    tokens: true,
    ranges: true,
  };
}