1 line
8.4 KiB
Plaintext
1 line
8.4 KiB
Plaintext
|
|
{"version":3,"names":["babel","require","semver","ESLINT_VERSION","getParserPlugins","babelOptions","_babelOptions$parserO","_babelOptions$parserO2","babelParserPlugins","parserOpts","plugins","estreeOptions","classFeatures","plugin","Array","isArray","Object","assign","normalizeParserOptions","options","version","_options$allowImportE","_options$ecmaFeatures2","_options$ecmaFeatures3","sourceType","satisfies","_options$ecmaFeatures","ecmaFeatures","globalReturn","filename","filePath","allowImportExportEverywhere","allowSuperOutsideMethod","allowReturnOutsideFunction","attachComment","ranges","tokens","caller","name","validateResolvedConfig","config","parseOptions","requireConfigFile","hasFilesystemConfig","error","includes","Error","getDefaultParserOptions","babelrc","configFile","browserslistConfigFile","ignore","only","normalizeBabelParseConfig","_x","_normalizeBabelParseConfig","apply","arguments","_asyncToGenerator","loadPartialConfigAsync","normalizeBabelParseConfigSync","loadPartialConfigSync"],"sources":["../../src/worker/configuration.cts"],"sourcesContent":["import babel = require(\"./babel-core.cts\");\nimport semver = require(\"semver\");\nimport ESLINT_VERSION = require(\"../utils/eslint-version.cts\");\nimport type { InputOptions, NormalizedOptions } from \"@babel/core\";\nimport type { Options } from \"../types.cts\";\nimport type { PartialConfig } from \"../../../../packages/babel-core/src/config\";\n\n/**\n * Merge user supplied estree plugin options to default estree plugin options\n *\n * @returns {Array} Merged parser plugin descriptors\n */\nfunction getParserPlugins(\n babelOptions: InputOptions,\n): InputOptions[\"parserOpts\"][\"plugins\"] {\n const babelParserPlugins = babelOptions.parserOpts?.plugins ?? [];\n const estreeOptions = { classFeatures: ESLINT_VERSION >= 8 };\n for (const plugin of babelParserPlugins) {\n if (Array.isArray(plugin) && plugin[0] === \"estree\") {\n Object.assign(estreeOptions, plugin[1]);\n break;\n }\n }\n // estree must be the first parser plugin to work with other parser plugins\n return [[\"estree\", estreeOptions], ...babelParserPlugins];\n}\n\nfunction normalizeParserOptions(\n options: Options,\n version: string,\n): InputOptions & {\n showIgnoredFiles?: boolean;\n} {\n // Babel <= 7.28.0 does not support `sourceType: \"commonjs\"`.\n if (\n !process.env.BABEL_8_BREAKING &&\n options.sourceType === \"commonjs\" &&\n !semver.satisfies(version, REQUIRED_VERSION(\">=7.28.0\"))\n ) {\n options.sourceType = \"script\";\n options.ecmaFeatures = {\n ...(options.ecmaFeatures ?? {}),\n globalReturn: true,\n };\n }\n return {\n sourceType: options.sourceType,\n filename: options.filePath,\n ...options.babelOptions,\n parserOpts: {\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n allowImportExportEverywhere:\n options.allowImportExportEverywhere ?? false,\n allowSuperOutsideMethod: true,\n }),\n ...(options.sourceType !== \"commonjs\"\n ? {\n allowReturnOutsideFunction:\n options.ecmaFeatures?.globalReturn ??\n (process.env.BABEL_8_BREAKING ? false : true),\n }\n : {}),\n ...options.babelOptions.parserOpts,\n plugins: getParserPlugins(options.babelOptions),\n // skip comment attaching for parsing performance\n attachComment: false,\n ranges: true,\n tokens: true,\n },\n caller: {\n name: \"@babel/eslint-parser\",\n ...options.babelOptions.caller,\n },\n };\n}\n\nfunction validateResolvedConfig(\n config: PartialConfig,\n options: Options,\n parseOptions: InputOptions,\n): InputOptions | NormalizedOptions {\n if (config !== null) {\n if (options.requireConfigFile !== false) {\n if (!config.hasFilesystemConfig()) {\n let error = `No Babel config file detected for ${config.options.filename}. Either disable config file checking with requireConfigFile: false, or configure Babel so that it can find the config files
|