77 lines
1.7 KiB
JavaScript
77 lines
1.7 KiB
JavaScript
|
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}`
|
||
|
}
|
||
|
}
|
||
|
])
|
||
|
})
|
||
|
|
||
|
const config = {
|
||
|
presets: [
|
||
|
[
|
||
|
'@vue/app',
|
||
|
{
|
||
|
modules: '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
|