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