UNPKG

7.06 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6/*
7 * Copyright (c) 2018, salesforce.com, inc.
8 * All rights reserved.
9 * SPDX-License-Identifier: MIT
10 * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
11 */
12var plugin_transform_template_literals_1 = __importDefault(require("@babel/plugin-transform-template-literals"));
13var plugin_transform_literals_1 = __importDefault(require("@babel/plugin-transform-literals"));
14var plugin_transform_function_name_1 = __importDefault(require("@babel/plugin-transform-function-name"));
15var plugin_transform_arrow_functions_1 = __importDefault(require("@babel/plugin-transform-arrow-functions"));
16var plugin_transform_block_scoped_functions_1 = __importDefault(require("@babel/plugin-transform-block-scoped-functions"));
17var plugin_transform_classes_1 = __importDefault(require("@babel/plugin-transform-classes"));
18var plugin_transform_object_super_1 = __importDefault(require("@babel/plugin-transform-object-super"));
19var plugin_transform_shorthand_properties_1 = __importDefault(require("@babel/plugin-transform-shorthand-properties"));
20var plugin_transform_duplicate_keys_1 = __importDefault(require("@babel/plugin-transform-duplicate-keys"));
21var plugin_transform_computed_properties_1 = __importDefault(require("@babel/plugin-transform-computed-properties"));
22var plugin_transform_for_of_1 = __importDefault(require("@babel/plugin-transform-for-of"));
23var plugin_transform_sticky_regex_1 = __importDefault(require("@babel/plugin-transform-sticky-regex"));
24var plugin_transform_unicode_regex_1 = __importDefault(require("@babel/plugin-transform-unicode-regex"));
25var plugin_transform_spread_1 = __importDefault(require("@babel/plugin-transform-spread"));
26var plugin_transform_parameters_1 = __importDefault(require("@babel/plugin-transform-parameters"));
27var plugin_transform_destructuring_1 = __importDefault(require("@babel/plugin-transform-destructuring"));
28var plugin_transform_block_scoping_1 = __importDefault(require("@babel/plugin-transform-block-scoping"));
29var plugin_transform_typeof_symbol_1 = __importDefault(require("@babel/plugin-transform-typeof-symbol"));
30var plugin_transform_modules_commonjs_1 = __importDefault(require("@babel/plugin-transform-modules-commonjs"));
31var plugin_transform_modules_systemjs_1 = __importDefault(require("@babel/plugin-transform-modules-systemjs"));
32var plugin_transform_modules_amd_1 = __importDefault(require("@babel/plugin-transform-modules-amd"));
33var plugin_transform_modules_umd_1 = __importDefault(require("@babel/plugin-transform-modules-umd"));
34var plugin_transform_instanceof_1 = __importDefault(require("@babel/plugin-transform-instanceof"));
35var plugin_transform_regenerator_1 = __importDefault(require("@babel/plugin-transform-regenerator"));
36// ES2016 + ES2017 support
37var plugin_transform_async_to_generator_1 = __importDefault(require("@babel/plugin-transform-async-to-generator"));
38var plugin_transform_exponentiation_operator_1 = __importDefault(require("@babel/plugin-transform-exponentiation-operator"));
39var plugin_proposal_object_rest_spread_1 = __importDefault(require("@babel/plugin-proposal-object-rest-spread"));
40var plugin_proposal_class_properties_1 = __importDefault(require("@babel/plugin-proposal-class-properties"));
41// Polyfills & helpers && COMPAT
42var plugin_transform_runtime_1 = __importDefault(require("@babel/plugin-transform-runtime"));
43var babel_plugin_transform_proxy_compat_1 = __importDefault(require("babel-plugin-transform-proxy-compat"));
44function 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}
102exports.default = compatPreset;
103//# sourceMappingURL=module.js.map
\No newline at end of file