vivo-hap-toolkit
Version:
A command line toolkit for developing Quick Apps.
51 lines (49 loc) • 1.39 kB
JavaScript
const { colorconsole } = require('@vivo-hap-toolkit/shared-utils')
/**
* 校验并返回 webpack devtool值(sourcemap)
* @param {String} mode - webpack mode
* @param {String} devtool - devtool参数值
*/
module.exports = function getDevtoolValue(mode, devtool) {
const sourcemaps = {
development: {
default: 'cheap-module-eval-source-map',
options: [
'none',
'eval',
'cheap-eval-source-map',
'cheap-module-eval-source-map',
'eval-source-map',
'cheap-source-map',
'cheap-module-source-map',
'inline-cheap-source-map',
'inline-cheap-module-source-map',
'source-map',
'inline-source-map',
'hidden-source-map',
'nosources-source-map'
]
},
production: {
default: 'none',
options: [
'none',
'cheap-source-map',
'cheap-module-source-map',
'source-map',
'hidden-source-map',
'nosources-source-map'
]
}
}
const sourcemapArr = sourcemaps[mode].options
const defaultSourcemap = sourcemaps[mode].default
if (typeof devtool !== 'string') {
return defaultSourcemap
}
if (sourcemapArr.indexOf(devtool) === -1) {
colorconsole.warn(`${mode} 模式 devtool 不支持 '${devtool}', 改为默认 '${defaultSourcemap}'`)
return defaultSourcemap
}
return devtool
}