1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const eslint_1 = require("./eslint");
|
4 | const functional_1 = require("./functional");
|
5 | const env_1 = require("./env");
|
6 | const class_method_renamer_1 = require("./class-method-renamer");
|
7 | exports.transformOptions = {};
|
8 | exports.setTransformOptions = (options) => {
|
9 | exports.transformOptions = Object.assign({}, options);
|
10 | };
|
11 | exports.buildBabelTransformOptions = () => {
|
12 | functional_1.Status.isSFC = false;
|
13 | let plugins = [
|
14 | require('babel-plugin-transform-do-expressions'),
|
15 | require('babel-plugin-transform-export-extensions'),
|
16 | require('babel-plugin-transform-flow-strip-types'),
|
17 | [require('babel-plugin-transform-define').default, exports.transformOptions.env]
|
18 | ];
|
19 | if (!exports.transformOptions.isNormal) {
|
20 | plugins.push(class_method_renamer_1.buildVistor());
|
21 | }
|
22 | return {
|
23 | filename: exports.transformOptions.sourcePath,
|
24 | babelrc: false,
|
25 | parserOpts: {
|
26 | sourceType: 'module',
|
27 | plugins: [
|
28 | 'classProperties',
|
29 | 'jsx',
|
30 | 'flow',
|
31 | 'flowComment',
|
32 | 'trailingFunctionCommas',
|
33 | 'asyncFunctions',
|
34 | 'exponentiationOperator',
|
35 | 'asyncGenerators',
|
36 | 'objectRestSpread',
|
37 | 'decorators',
|
38 | 'dynamicImport',
|
39 | 'doExpressions',
|
40 | 'exportExtensions'
|
41 | ]
|
42 | },
|
43 | plugins: plugins
|
44 | .concat(require('babel-plugin-preval'))
|
45 | .concat(process.env.TARO_ENV === 'rn' ? [] : functional_1.functionalComponent)
|
46 | .concat(process.env.ESLINT === 'false' || exports.transformOptions.isNormal || exports.transformOptions.isTyped ? [] : eslint_1.eslintValidation)
|
47 | .concat((env_1.isTestEnv) ? [] : require('babel-plugin-minify-dead-code').default)
|
48 | };
|
49 | };
|
50 |
|
\ | No newline at end of file |