1 | import { availablePlugins, registerPlugin } from "@babel/standalone";
|
2 | import proposalJsonStrings from "@babel/plugin-proposal-json-strings";
|
3 | import proposalDynamicImport from "@babel/plugin-proposal-dynamic-import";
|
4 | import syntaxJsonStrings from "@babel/plugin-syntax-json-strings";
|
5 | import syntaxTopLevelAwait from "@babel/plugin-syntax-top-level-await";
|
6 | import transformNamedCapturingGroupsRegex from "@babel/plugin-transform-named-capturing-groups-regex";
|
7 | import transformNewTarget from "@babel/plugin-transform-new-target";
|
8 |
|
9 | const notIncludedPlugins = {
|
10 | "proposal-dynamic-import": proposalDynamicImport,
|
11 | "proposal-json-strings": proposalJsonStrings,
|
12 | "syntax-json-strings": syntaxJsonStrings,
|
13 | "syntax-top-level-await": syntaxTopLevelAwait,
|
14 | "transform-named-capturing-groups-regex": transformNamedCapturingGroupsRegex,
|
15 | "transform-new-target": transformNewTarget,
|
16 | };
|
17 |
|
18 | Object.keys(notIncludedPlugins).forEach(pluginName => {
|
19 | if (!availablePlugins[pluginName]) {
|
20 | registerPlugin(pluginName, notIncludedPlugins[pluginName]);
|
21 | }
|
22 | });
|
23 |
|
24 | export default availablePlugins;
|