index.js.map 7.89 KB
Newer Older
Rosanny Sihombing's avatar
Rosanny Sihombing committed
1
{"version":3,"file":"index.js","sources":["../src/normalize-options.ts","../src/index.ts"],"sourcesContent":["import { OptionValidator } from \"@babel/helper-validator-option\";\nconst v = new OptionValidator(\"@babel/preset-typescript\");\n\nexport interface Options {\n  allExtensions?: boolean;\n  allowDeclareFields?: boolean;\n  allowNamespaces?: boolean;\n  disallowAmbiguousJSXLike?: boolean;\n  isTSX?: boolean;\n  jsxPragma?: string;\n  jsxPragmaFrag?: string;\n  onlyRemoveTypeImports?: boolean;\n  optimizeConstEnums?: boolean;\n}\n\nexport default function normalizeOptions(options: Options = {}) {\n  let { allowNamespaces = true, jsxPragma, onlyRemoveTypeImports } = options;\n\n  const TopLevelOptions = {\n    allExtensions: \"allExtensions\",\n    allowNamespaces: \"allowNamespaces\",\n    disallowAmbiguousJSXLike: \"disallowAmbiguousJSXLike\",\n    isTSX: \"isTSX\",\n    jsxPragma: \"jsxPragma\",\n    jsxPragmaFrag: \"jsxPragmaFrag\",\n    onlyRemoveTypeImports: \"onlyRemoveTypeImports\",\n    optimizeConstEnums: \"optimizeConstEnums\",\n  };\n\n  if (process.env.BABEL_8_BREAKING) {\n    v.validateTopLevelOptions(options, TopLevelOptions);\n    allowNamespaces = v.validateBooleanOption(\n      TopLevelOptions.allowNamespaces,\n      options.allowNamespaces,\n      true,\n    );\n    jsxPragma = v.validateStringOption(\n      TopLevelOptions.jsxPragma,\n      options.jsxPragma,\n      \"React\",\n    );\n    onlyRemoveTypeImports = v.validateBooleanOption(\n      TopLevelOptions.onlyRemoveTypeImports,\n      options.onlyRemoveTypeImports,\n      true,\n    );\n  }\n\n  const jsxPragmaFrag = v.validateStringOption(\n    TopLevelOptions.jsxPragmaFrag,\n    options.jsxPragmaFrag,\n    \"React.Fragment\",\n  );\n\n  const allExtensions = v.validateBooleanOption(\n    TopLevelOptions.allExtensions,\n    options.allExtensions,\n    false,\n  );\n\n  const isTSX = v.validateBooleanOption(\n    TopLevelOptions.isTSX,\n    options.isTSX,\n    false,\n  );\n  if (isTSX) {\n    v.invariant(allExtensions, \"isTSX:true requires allExtensions:true\");\n  }\n\n  const disallowAmbiguousJSXLike = v.validateBooleanOption(\n    TopLevelOptions.disallowAmbiguousJSXLike,\n    options.disallowAmbiguousJSXLike,\n    false,\n  );\n  if (disallowAmbiguousJSXLike) {\n    v.invariant(\n      allExtensions,\n      \"disallowAmbiguousJSXLike:true requires allExtensions:true\",\n    );\n  }\n\n  const optimizeConstEnums = v.validateBooleanOption(\n    TopLevelOptions.optimizeConstEnums,\n    options.optimizeConstEnums,\n    false,\n  );\n\n  return {\n    allExtensions,\n    allowNamespaces,\n    disallowAmbiguousJSXLike,\n    isTSX,\n    jsxPragma,\n    jsxPragmaFrag,\n    onlyRemoveTypeImports,\n    optimizeConstEnums,\n  };\n}\n","import { declarePreset } from \"@babel/helper-plugin-utils\";\nimport transformTypeScript from \"@babel/plugin-transform-typescript\";\nimport normalizeOptions from \"./normalize-options\";\nimport type { Options } from \"./normalize-options\";\n\nexport default declarePreset((api, opts: Options) => {\n  api.assertVersion(7);\n\n  const {\n    allExtensions,\n    allowNamespaces,\n    disallowAmbiguousJSXLike,\n    isTSX,\n    jsxPragma,\n    jsxPragmaFrag,\n    onlyRemoveTypeImports,\n    optimizeConstEnums,\n  } = normalizeOptions(opts);\n\n  const pluginOptions = process.env.BABEL_8_BREAKING\n    ? (isTSX: boolean, disallowAmbiguousJSXLike: boolean) => ({\n        allowNamespaces,\n        disallowAmbiguousJSXLike,\n        isTSX,\n        jsxPragma,\n        jsxPragmaFrag,\n        onlyRemoveTypeImports,\n        optimizeConstEnums,\n      })\n    : (isTSX: boolean, disallowAmbiguousJSXLike: boolean) => ({\n        allowDeclareFields: opts.allowDeclareFields,\n        allowNamespaces,\n        disallowAmbiguousJSXLike,\n        isTSX,\n        jsxPragma,\n        jsxPragmaFrag,\n        onlyRemoveTypeImports,\n        optimizeConstEnums,\n      });\n\n  return {\n    overrides: allExtensions\n      ? [\n          {\n            plugins: [\n              [\n                transformTypeScript,\n                pluginOptions(isTSX, disallowAmbiguousJSXLike),\n              ],\n            ],\n          },\n        ]\n      : // Only set 'test' if explicitly requested, since it requires that\n        // Babel is being called`\n        [\n          {\n            test: /\\.ts$/,\n            plugins: [[transformTypeScript, pluginOptions(false, false)]],\n          },\n          {\n            test: /\\.mts$/,\n            sourceType: \"module\",\n            plugins: [[transformTypeScript, pluginOptions(false, true)]],\n          },\n          {\n            test: /\\.cts$/,\n            sourceType: \"script\",\n            plugins: [[transformTypeScript, pluginOptions(false, true)]],\n          },\n          {\n            test: /\\.tsx$/,\n            // disallowAmbiguousJSXLike is a no-op when parsing TSX, since it's\n            // always disallowed.\n            plugins: [[transformTypeScript, pluginOptions(true, false)]],\n          },\n        ],\n  };\n});\n"],"names":["v","OptionValidator","normalizeOptions","options","allowNamespaces","jsxPragma","onlyRemoveTypeImports","TopLevelOptions","allExtensions","disallowAmbiguousJSXLike","isTSX","jsxPragmaFrag","optimizeConstEnums","validateStringOption","validateBooleanOption","invariant","declarePreset","api","opts","assertVersion","pluginOptions","allowDeclareFields","overrides","plugins","transformTypeScript","test","sourceType"],"mappings":"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"}