feat: production tip
This commit is contained in:
@@ -75,7 +75,6 @@ function createConfig(output, plugins = []) {
|
||||
const isGlobalBuild = /\.global(\.prod)?\.js$/.test(output.file)
|
||||
const isBunlderESMBuild = /\.esm\.js$/.test(output.file)
|
||||
const isBrowserESMBuild = /esm-browser(\.prod)?\.js$/.test(output.file)
|
||||
const isCompat = /dist\/vue\./.test(output.file)
|
||||
|
||||
if (isGlobalBuild) {
|
||||
output.name = packageOptions.name
|
||||
@@ -112,7 +111,11 @@ function createConfig(output, plugins = []) {
|
||||
plugins: [
|
||||
tsPlugin,
|
||||
aliasPlugin,
|
||||
createReplacePlugin(isProductionBuild, isBunlderESMBuild, isCompat),
|
||||
createReplacePlugin(
|
||||
isProductionBuild,
|
||||
isBunlderESMBuild,
|
||||
isGlobalBuild || isBrowserESMBuild
|
||||
),
|
||||
...plugins
|
||||
],
|
||||
output,
|
||||
@@ -124,15 +127,19 @@ function createConfig(output, plugins = []) {
|
||||
}
|
||||
}
|
||||
|
||||
function createReplacePlugin(isProduction, isBunlderESMBuild, isCompat) {
|
||||
function createReplacePlugin(isProduction, isBunlderESMBuild, isBrowserBuild) {
|
||||
return replace({
|
||||
__DEV__: isBunlderESMBuild
|
||||
? // preserve to be handled by bundlers
|
||||
`process.env.NODE_ENV !== 'production'`
|
||||
: // hard coded dev/prod builds
|
||||
!isProduction,
|
||||
// compatibility builds
|
||||
__COMPAT__: !!packageOptions.compat,
|
||||
// show production tip?
|
||||
// should only do this for dev AND browser-targeting builds.
|
||||
__FEATURE_PRODUCTION_TIP__: !isProduction && isBrowserBuild,
|
||||
// support options?
|
||||
// the lean build drops options related code with buildOptions.lean: true
|
||||
__FEATURE_OPTIONS__: !packageOptions.lean,
|
||||
// this is only used during tests
|
||||
__JSDOM__: false
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user