const webpack = require('webpack') const plugins = [] if (process.env.UNI_OPT_TREESHAKINGNG) { plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js')) } if ( (process.env.UNI_PLATFORM === 'app-plus' && process.env.UNI_USING_V8) || (process.env.UNI_PLATFORM === 'h5' && process.env.UNI_H5_BROWSER === 'builtin') ) { const path = require('path') const isWin = /^win/.test(process.platform) const normalizePath = (path) => (isWin ? path.replace(/\\/g, '/') : path) const input = normalizePath(process.env.UNI_INPUT_DIR) try { plugins.push([ require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'), { file(file) { file = normalizePath(file) if (file.indexOf(input) === 0) { return path.relative(input, file) } return false } } ]) } catch (e) {} } process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui'] process.UNI_LIBRARIES.forEach((libraryName) => { plugins.push([ 'import', { libraryName: libraryName, customName: (name) => { return `${libraryName}/lib/${name}/${name}` } } ]) }) if (process.env.UNI_PLATFORM !== 'h5') { plugins.push('@babel/plugin-transform-runtime') } const config = { presets: [ [ '@vue/app', { modules: webpack.version[0] > 4 ? 'auto' : 'commonjs', useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry' } ] ], plugins } const UNI_H5_TEST = '**/@dcloudio/uni-h5/dist/index.umd.min.js' if (process.env.NODE_ENV === 'production') { config.overrides = [ { test: UNI_H5_TEST, compact: true } ] } else { config.ignore = [UNI_H5_TEST] } module.exports = config