feat(cli): add babel loose mode config

This commit is contained in:
chenjiahan 2020-12-04 14:12:22 +08:00
parent 52384aba1e
commit be87fac7b6
6 changed files with 15 additions and 5 deletions

View File

@ -1,3 +1,5 @@
module.exports = { module.exports = {
presets: ['@vant/cli/preset'], presets: [
['@vant/cli/preset', { loose: process.env.BUILD_TARGET === 'package' }],
],
}; };

View File

@ -1,3 +1,3 @@
const babelConfig = require('./lib/config/babel.config'); const babelConfig = require('./lib/config/babel.config');
module.exports = api => babelConfig(api); module.exports = (api, options) => babelConfig(api, options);

View File

@ -24,6 +24,7 @@ import {
isTestDir, isTestDir,
setNodeEnv, setNodeEnv,
setModuleEnv, setModuleEnv,
setBuildTarget,
} from '../common'; } from '../common';
async function compileFile(filePath: string) { async function compileFile(filePath: string) {
@ -64,12 +65,14 @@ async function compileDir(dir: string) {
async function buildEs() { async function buildEs() {
setModuleEnv('esmodule'); setModuleEnv('esmodule');
setBuildTarget('package');
await copy(SRC_DIR, ES_DIR); await copy(SRC_DIR, ES_DIR);
await compileDir(ES_DIR); await compileDir(ES_DIR);
} }
async function buildLib() { async function buildLib() {
setModuleEnv('commonjs'); setModuleEnv('commonjs');
setBuildTarget('package');
await copy(SRC_DIR, LIB_DIR); await copy(SRC_DIR, LIB_DIR);
await compileDir(LIB_DIR); await compileDir(LIB_DIR);
} }

View File

@ -1,6 +1,10 @@
import { ConfigAPI } from '@babel/core'; import { ConfigAPI } from '@babel/core';
module.exports = function (api?: ConfigAPI) { type PresetOption = {
loose?: boolean;
};
module.exports = function (api?: ConfigAPI, options: PresetOption = {}) {
if (api) { if (api) {
api.cache.never(); api.cache.never();
} }
@ -15,6 +19,7 @@ module.exports = function (api?: ConfigAPI) {
'@babel/preset-env', '@babel/preset-env',
{ {
modules: useESModules ? false : 'commonjs', modules: useESModules ? false : 'commonjs',
loose: options.loose,
}, },
], ],
'@babel/preset-typescript', '@babel/preset-typescript',

View File

@ -1,3 +1,3 @@
module.exports = { module.exports = {
presets: ['@vant/cli/preset'], presets: [['@vant/cli/preset', { loose: true }]],
}; };

View File

@ -1,3 +1,3 @@
module.exports = { module.exports = {
presets: ['@vant/cli/preset'], presets: [['@vant/cli/preset', { loose: true }]],
}; };