1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | var plugin_transform_template_literals_1 = __importDefault(require("@babel/plugin-transform-template-literals"));
|
13 | var plugin_transform_literals_1 = __importDefault(require("@babel/plugin-transform-literals"));
|
14 | var plugin_transform_function_name_1 = __importDefault(require("@babel/plugin-transform-function-name"));
|
15 | var plugin_transform_arrow_functions_1 = __importDefault(require("@babel/plugin-transform-arrow-functions"));
|
16 | var plugin_transform_block_scoped_functions_1 = __importDefault(require("@babel/plugin-transform-block-scoped-functions"));
|
17 | var plugin_transform_classes_1 = __importDefault(require("@babel/plugin-transform-classes"));
|
18 | var plugin_transform_object_super_1 = __importDefault(require("@babel/plugin-transform-object-super"));
|
19 | var plugin_transform_shorthand_properties_1 = __importDefault(require("@babel/plugin-transform-shorthand-properties"));
|
20 | var plugin_transform_duplicate_keys_1 = __importDefault(require("@babel/plugin-transform-duplicate-keys"));
|
21 | var plugin_transform_computed_properties_1 = __importDefault(require("@babel/plugin-transform-computed-properties"));
|
22 | var plugin_transform_for_of_1 = __importDefault(require("@babel/plugin-transform-for-of"));
|
23 | var plugin_transform_sticky_regex_1 = __importDefault(require("@babel/plugin-transform-sticky-regex"));
|
24 | var plugin_transform_unicode_regex_1 = __importDefault(require("@babel/plugin-transform-unicode-regex"));
|
25 | var plugin_transform_spread_1 = __importDefault(require("@babel/plugin-transform-spread"));
|
26 | var plugin_transform_parameters_1 = __importDefault(require("@babel/plugin-transform-parameters"));
|
27 | var plugin_transform_destructuring_1 = __importDefault(require("@babel/plugin-transform-destructuring"));
|
28 | var plugin_transform_block_scoping_1 = __importDefault(require("@babel/plugin-transform-block-scoping"));
|
29 | var plugin_transform_typeof_symbol_1 = __importDefault(require("@babel/plugin-transform-typeof-symbol"));
|
30 | var plugin_transform_modules_commonjs_1 = __importDefault(require("@babel/plugin-transform-modules-commonjs"));
|
31 | var plugin_transform_modules_systemjs_1 = __importDefault(require("@babel/plugin-transform-modules-systemjs"));
|
32 | var plugin_transform_modules_amd_1 = __importDefault(require("@babel/plugin-transform-modules-amd"));
|
33 | var plugin_transform_modules_umd_1 = __importDefault(require("@babel/plugin-transform-modules-umd"));
|
34 | var plugin_transform_instanceof_1 = __importDefault(require("@babel/plugin-transform-instanceof"));
|
35 | var plugin_transform_regenerator_1 = __importDefault(require("@babel/plugin-transform-regenerator"));
|
36 |
|
37 | var plugin_transform_async_to_generator_1 = __importDefault(require("@babel/plugin-transform-async-to-generator"));
|
38 | var plugin_transform_exponentiation_operator_1 = __importDefault(require("@babel/plugin-transform-exponentiation-operator"));
|
39 | var plugin_proposal_object_rest_spread_1 = __importDefault(require("@babel/plugin-proposal-object-rest-spread"));
|
40 | var plugin_proposal_class_properties_1 = __importDefault(require("@babel/plugin-proposal-class-properties"));
|
41 |
|
42 | var plugin_transform_runtime_1 = __importDefault(require("@babel/plugin-transform-runtime"));
|
43 | var babel_plugin_transform_proxy_compat_1 = __importDefault(require("babel-plugin-transform-proxy-compat"));
|
44 | function compatPreset(ctx, _a) {
|
45 | var _b = _a === void 0 ? {} : _a, _c = _b.loose, loose = _c === void 0 ? false : _c, _d = _b.modules, modules = _d === void 0 ? 'es' : _d, _e = _b.spec, spec = _e === void 0 ? false : _e, _f = _b.disableProxyTransform, disableProxyTransform = _f === void 0 ? false : _f, _g = _b.onlyProxyTransform, onlyProxyTransform = _g === void 0 ? false : _g;
|
46 | var plugins = [];
|
47 | var moduleTypes = ['es', 'commonjs', 'cjs', 'amd', 'umd', 'systemjs'];
|
48 | var optsLoose = { loose: loose };
|
49 | if (typeof loose !== 'boolean') {
|
50 | throw new Error('Preset es2015 "loose" option must be a boolean.');
|
51 | }
|
52 | if (typeof spec !== 'boolean') {
|
53 | throw new Error('Preset es2015 "spe" option must be a boolean.');
|
54 | }
|
55 | if (moduleTypes.indexOf(modules) === -1) {
|
56 | throw new Error('Preset compat "modules" option must be "false" to indicate no modules\n' +
|
57 | 'or a module type which be be one of: "es", "commonjs" (default), "amd", "umd", "systemjs"');
|
58 | }
|
59 | var compatPlugins = [
|
60 | [plugin_proposal_class_properties_1.default, { spec: spec }],
|
61 | [plugin_proposal_object_rest_spread_1.default, { useBuiltIns: true }],
|
62 | plugin_transform_exponentiation_operator_1.default,
|
63 | [plugin_transform_template_literals_1.default, { loose: loose, spec: spec }],
|
64 | plugin_transform_literals_1.default,
|
65 | plugin_transform_function_name_1.default,
|
66 | [plugin_transform_arrow_functions_1.default, { spec: spec }],
|
67 | plugin_transform_block_scoped_functions_1.default,
|
68 | [plugin_transform_classes_1.default, optsLoose],
|
69 | plugin_transform_object_super_1.default,
|
70 | plugin_transform_shorthand_properties_1.default,
|
71 | plugin_transform_duplicate_keys_1.default,
|
72 | [plugin_transform_computed_properties_1.default, optsLoose],
|
73 | [plugin_transform_for_of_1.default, optsLoose],
|
74 | plugin_transform_sticky_regex_1.default,
|
75 | plugin_transform_unicode_regex_1.default,
|
76 | [plugin_transform_spread_1.default, optsLoose],
|
77 | [plugin_transform_parameters_1.default, optsLoose],
|
78 | [plugin_transform_destructuring_1.default, optsLoose],
|
79 | plugin_transform_block_scoping_1.default,
|
80 | plugin_transform_typeof_symbol_1.default,
|
81 | plugin_transform_instanceof_1.default,
|
82 | (modules === 'commonjs' || modules === 'cjs') && [plugin_transform_modules_commonjs_1.default, optsLoose],
|
83 | modules === 'systemjs' && [plugin_transform_modules_systemjs_1.default, optsLoose],
|
84 | modules === 'amd' && [plugin_transform_modules_amd_1.default, optsLoose],
|
85 | modules === 'umd' && [plugin_transform_modules_umd_1.default, optsLoose],
|
86 | plugin_transform_async_to_generator_1.default,
|
87 | [plugin_transform_regenerator_1.default, { async: true, asyncGenerators: true, generators: true }],
|
88 | [plugin_transform_runtime_1.default, { helpers: true }]
|
89 | ].filter(Boolean);
|
90 | var proxyPlugins = [babel_plugin_transform_proxy_compat_1.default];
|
91 | if (!onlyProxyTransform) {
|
92 | plugins.push.apply(plugins, compatPlugins);
|
93 | }
|
94 | if (!disableProxyTransform) {
|
95 | plugins.push.apply(plugins, proxyPlugins);
|
96 | }
|
97 | return {
|
98 | plugins: plugins,
|
99 | parserOpts: { plugins: ['asyncGenerators'] }
|
100 | };
|
101 | }
|
102 | exports.default = compatPreset;
|
103 |
|
\ | No newline at end of file |