1 |
- {"version":3,"names":["_helperPluginUtils","require","_default","declare","api","options","assertVersion","version","legacy","undefined","Error","decoratorsBeforeExport","name","manipulateOptions","generatorOpts","parserOpts","plugins","push","allowCallParenthesized","exports","default"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n // TODO(Babel 8): Remove\n legacy?: boolean;\n // TODO(Babel 8): Remove \"2018-09\", \"2021-12\", '2022-03', and '2023-01'\n version?:\n | \"legacy\"\n | \"2018-09\"\n | \"2021-12\"\n | \"2022-03\"\n | \"2023-01\"\n | \"2023-05\";\n // TODO(Babel 8): Remove\n decoratorsBeforeExport?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n let { version } = options;\n\n if (process.env.BABEL_8_BREAKING) {\n if (version === undefined) {\n throw new Error(\n \"The decorators plugin requires a 'version' option, whose value must be one of: \" +\n \"'2023-05', '2023-01', '2022-03', '2021-12', '2018-09', or 'legacy'.\",\n );\n }\n if (\n version !== \"2023-05\" &&\n version !== \"2023-01\" &&\n version !== \"2022-03\" &&\n version !== \"2021-12\" &&\n version !== \"legacy\"\n ) {\n throw new Error(\"Unsupported decorators version: \" + version);\n }\n if (options.legacy !== undefined) {\n throw new Error(\n `The .legacy option has been removed in Babel 8. Use .version: \"legacy\" instead.`,\n );\n }\n if (options.decoratorsBeforeExport !== undefined) {\n throw new Error(\n `The .decoratorsBeforeExport option has been removed in Babel 8.`,\n );\n }\n } else {\n const { legacy } = options;\n\n if (legacy !== undefined) {\n if (typeof legacy !== \"boolean\") {\n throw new Error(\".legacy must be a boolean.\");\n }\n if (version !== undefined) {\n throw new Error(\n \"You can either use the .legacy or the .version option, not both.\",\n );\n }\n }\n\n if (version === undefined) {\n version = legacy ? \"legacy\" : \"2018-09\";\n } else if (\n version !== \"2023-05\" &&\n version !== \"2023-01\" &&\n version !== \"2022-03\" &&\n version !== \"2021-12\" &&\n version !== \"2018-09\" &&\n version !== \"legacy\"\n ) {\n // Fallback to print the invalid version option regardless of the type\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n throw new Error(\"Unsupported decorators version: \" + version);\n }\n\n // eslint-disable-next-line no-var\n var { decoratorsBeforeExport } = options;\n if (decoratorsBeforeExport === undefined) {\n if (version === \"2021-12\" || version === \"2022-03\") {\n decoratorsBeforeExport = false;\n } else if (version === \"2018-09\") {\n throw new Error(\n \"The decorators plugin, when .version is '2018-09' or not specified,\" +\n \" requires a 'decoratorsBeforeExport' option, whose value must be a boolean.\",\n );\n }\n } else {\n if (\n version === \"legacy\" ||\n version === \"2022-03\" ||\n version === \"2023-01\"\n ) {\n throw new Error(\n `'decoratorsBeforeExport' can't be used with ${version} decorators.`,\n );\n }\n if (typeof decoratorsBeforeExport !== \"boolean\") {\n throw new Error(\"'decoratorsBeforeExport' must be a boolean.\");\n }\n }\n }\n\n return {\n name: \"syntax-decorators\",\n\n manipulateOptions({ generatorOpts }, parserOpts) {\n if (version === \"legacy\") {\n parserOpts.plugins.push(\"decorators-legacy\");\n } else if (process.env.BABEL_8_BREAKING) {\n parserOpts.plugins.push(\n [\"decorators\", { allowCallParenthesized: false }],\n \"decoratorAutoAccessors\",\n );\n } else {\n if (version === \"2023-01\" || version === \"2023-05\") {\n parserOpts.plugins.push(\n [\"decorators\", { allowCallParenthesized: false }],\n \"decoratorAutoAccessors\",\n );\n } else if (version === \"2022-03\") {\n parserOpts.plugins.push(\n [\n \"decorators\",\n { decoratorsBeforeExport: false, allowCallParenthesized: false },\n ],\n \"decoratorAutoAccessors\",\n );\n } else if (version === \"2021-12\") {\n parserOpts.plugins.push(\n [\"decorators\", { decoratorsBeforeExport }],\n \"decoratorAutoAccessors\",\n );\n generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;\n } else if (version === \"2018-09\") {\n parserOpts.plugins.push([\"decorators\", { decoratorsBeforeExport }]);\n generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;\n }\n }\n },\n };\n});\n"],"mappings":"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"}
|