From be87fac7b616c364c57d888cca7df85b33c2884c Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Fri, 4 Dec 2020 14:12:22 +0800 Subject: [PATCH] feat(cli): add babel loose mode config --- babel.config.js | 4 +++- packages/vant-cli/preset.js | 2 +- packages/vant-cli/src/commands/build.ts | 3 +++ packages/vant-cli/src/config/babel.config.ts | 7 ++++++- packages/vant-lazyload/babel.config.js | 2 +- packages/vant-popperjs/babel.config.js | 2 +- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/babel.config.js b/babel.config.js index fa5ee221e..c76ad6dce 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,3 +1,5 @@ module.exports = { - presets: ['@vant/cli/preset'], + presets: [ + ['@vant/cli/preset', { loose: process.env.BUILD_TARGET === 'package' }], + ], }; diff --git a/packages/vant-cli/preset.js b/packages/vant-cli/preset.js index c43ec6d06..d63e876bb 100644 --- a/packages/vant-cli/preset.js +++ b/packages/vant-cli/preset.js @@ -1,3 +1,3 @@ const babelConfig = require('./lib/config/babel.config'); -module.exports = api => babelConfig(api); +module.exports = (api, options) => babelConfig(api, options); diff --git a/packages/vant-cli/src/commands/build.ts b/packages/vant-cli/src/commands/build.ts index 57ce191d0..0ae6da73b 100644 --- a/packages/vant-cli/src/commands/build.ts +++ b/packages/vant-cli/src/commands/build.ts @@ -24,6 +24,7 @@ import { isTestDir, setNodeEnv, setModuleEnv, + setBuildTarget, } from '../common'; async function compileFile(filePath: string) { @@ -64,12 +65,14 @@ async function compileDir(dir: string) { async function buildEs() { setModuleEnv('esmodule'); + setBuildTarget('package'); await copy(SRC_DIR, ES_DIR); await compileDir(ES_DIR); } async function buildLib() { setModuleEnv('commonjs'); + setBuildTarget('package'); await copy(SRC_DIR, LIB_DIR); await compileDir(LIB_DIR); } diff --git a/packages/vant-cli/src/config/babel.config.ts b/packages/vant-cli/src/config/babel.config.ts index 1e9a6e14f..976f38e84 100644 --- a/packages/vant-cli/src/config/babel.config.ts +++ b/packages/vant-cli/src/config/babel.config.ts @@ -1,6 +1,10 @@ import { ConfigAPI } from '@babel/core'; -module.exports = function (api?: ConfigAPI) { +type PresetOption = { + loose?: boolean; +}; + +module.exports = function (api?: ConfigAPI, options: PresetOption = {}) { if (api) { api.cache.never(); } @@ -15,6 +19,7 @@ module.exports = function (api?: ConfigAPI) { '@babel/preset-env', { modules: useESModules ? false : 'commonjs', + loose: options.loose, }, ], '@babel/preset-typescript', diff --git a/packages/vant-lazyload/babel.config.js b/packages/vant-lazyload/babel.config.js index fa5ee221e..c887455bf 100644 --- a/packages/vant-lazyload/babel.config.js +++ b/packages/vant-lazyload/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: ['@vant/cli/preset'], + presets: [['@vant/cli/preset', { loose: true }]], }; diff --git a/packages/vant-popperjs/babel.config.js b/packages/vant-popperjs/babel.config.js index fa5ee221e..c887455bf 100644 --- a/packages/vant-popperjs/babel.config.js +++ b/packages/vant-popperjs/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: ['@vant/cli/preset'], + presets: [['@vant/cli/preset', { loose: true }]], };