You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
const { resolve } = require('./utils/projectHelper');
|
|
|
|
module.exports = function (modules) {
|
|
const plugins = [
|
|
[
|
|
resolve('@babel/plugin-transform-typescript'),
|
|
{
|
|
isTSX: true,
|
|
},
|
|
],
|
|
[resolve('@vue/babel-plugin-jsx'), { mergeProps: false, enableObjectSlots: false }],
|
|
resolve('@babel/plugin-proposal-optional-chaining'),
|
|
resolve('@babel/plugin-transform-object-assign'),
|
|
resolve('@babel/plugin-proposal-object-rest-spread'),
|
|
resolve('@babel/plugin-proposal-export-default-from'),
|
|
resolve('@babel/plugin-proposal-export-namespace-from'),
|
|
resolve('@babel/plugin-proposal-class-properties'),
|
|
resolve('@babel/plugin-syntax-dynamic-import'),
|
|
[
|
|
resolve('@babel/plugin-transform-runtime'),
|
|
{
|
|
useESModules: modules === false,
|
|
version: '^7.10.4',
|
|
},
|
|
],
|
|
// resolve('babel-plugin-inline-import-data-uri'),
|
|
// resolve('@babel/plugin-transform-member-expression-literals'),
|
|
// resolve('@babel/plugin-transform-property-literals'),
|
|
// resolve('@babel/plugin-proposal-export-default-from'),
|
|
// resolve('@babel/plugin-transform-object-assign'),
|
|
// resolve('@babel/plugin-transform-template-literals'),
|
|
// resolve('@babel/plugin-proposal-object-rest-spread'),
|
|
// resolve('@babel/plugin-proposal-class-properties'),
|
|
];
|
|
return {
|
|
presets: [
|
|
[
|
|
resolve('@babel/preset-env'),
|
|
{
|
|
modules,
|
|
targets: {
|
|
browsers: ['last 2 versions', 'Firefox ESR', '> 1%', 'not ie 11'],
|
|
},
|
|
},
|
|
],
|
|
],
|
|
plugins,
|
|
env: {
|
|
test: {
|
|
plugins: [resolve('babel-plugin-istanbul')],
|
|
},
|
|
},
|
|
};
|
|
};
|