feat: production tip
This commit is contained in:
parent
cbc8dddd15
commit
c833db9c97
5
packages/global.d.ts
vendored
5
packages/global.d.ts
vendored
@ -1,4 +1,7 @@
|
|||||||
// Global compile-time constants
|
// Global compile-time constants
|
||||||
declare var __DEV__: boolean
|
declare var __DEV__: boolean
|
||||||
declare var __COMPAT__: boolean
|
|
||||||
declare var __JSDOM__: boolean
|
declare var __JSDOM__: boolean
|
||||||
|
|
||||||
|
// Feature flags
|
||||||
|
declare var __FEATURE_OPTIONS__: boolean
|
||||||
|
declare var __FEATURE_PRODUCTION_TIP__: boolean
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
// TODO this package will be the "full-build" that includes both the runtime
|
// TODO this package will be the "full-build" that includes both the runtime
|
||||||
// and the compiler
|
// and the compiler
|
||||||
export * from '@vue/runtime-dom'
|
export * from '@vue/runtime-dom'
|
||||||
|
|
||||||
|
if (__FEATURE_PRODUCTION_TIP__) {
|
||||||
|
console[console.info ? 'info' : 'log'](
|
||||||
|
`You are running a development build of Vue.\n` +
|
||||||
|
`Make sure to use the production build (*.prod.js) when deploying for production.`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
@ -75,7 +75,6 @@ function createConfig(output, plugins = []) {
|
|||||||
const isGlobalBuild = /\.global(\.prod)?\.js$/.test(output.file)
|
const isGlobalBuild = /\.global(\.prod)?\.js$/.test(output.file)
|
||||||
const isBunlderESMBuild = /\.esm\.js$/.test(output.file)
|
const isBunlderESMBuild = /\.esm\.js$/.test(output.file)
|
||||||
const isBrowserESMBuild = /esm-browser(\.prod)?\.js$/.test(output.file)
|
const isBrowserESMBuild = /esm-browser(\.prod)?\.js$/.test(output.file)
|
||||||
const isCompat = /dist\/vue\./.test(output.file)
|
|
||||||
|
|
||||||
if (isGlobalBuild) {
|
if (isGlobalBuild) {
|
||||||
output.name = packageOptions.name
|
output.name = packageOptions.name
|
||||||
@ -112,7 +111,11 @@ function createConfig(output, plugins = []) {
|
|||||||
plugins: [
|
plugins: [
|
||||||
tsPlugin,
|
tsPlugin,
|
||||||
aliasPlugin,
|
aliasPlugin,
|
||||||
createReplacePlugin(isProductionBuild, isBunlderESMBuild, isCompat),
|
createReplacePlugin(
|
||||||
|
isProductionBuild,
|
||||||
|
isBunlderESMBuild,
|
||||||
|
isGlobalBuild || isBrowserESMBuild
|
||||||
|
),
|
||||||
...plugins
|
...plugins
|
||||||
],
|
],
|
||||||
output,
|
output,
|
||||||
@ -124,15 +127,19 @@ function createConfig(output, plugins = []) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createReplacePlugin(isProduction, isBunlderESMBuild, isCompat) {
|
function createReplacePlugin(isProduction, isBunlderESMBuild, isBrowserBuild) {
|
||||||
return replace({
|
return replace({
|
||||||
__DEV__: isBunlderESMBuild
|
__DEV__: isBunlderESMBuild
|
||||||
? // preserve to be handled by bundlers
|
? // preserve to be handled by bundlers
|
||||||
`process.env.NODE_ENV !== 'production'`
|
`process.env.NODE_ENV !== 'production'`
|
||||||
: // hard coded dev/prod builds
|
: // hard coded dev/prod builds
|
||||||
!isProduction,
|
!isProduction,
|
||||||
// compatibility builds
|
// show production tip?
|
||||||
__COMPAT__: !!packageOptions.compat,
|
// 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
|
// this is only used during tests
|
||||||
__JSDOM__: false
|
__JSDOM__: false
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user