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
|
||||
declare var __DEV__: boolean
|
||||
declare var __COMPAT__: 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
|
||||
// and the compiler
|
||||
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 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
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user