wip: better experimental feature warnings
This commit is contained in:
@@ -1,12 +1,27 @@
|
||||
const hasWarned: Record<string, boolean> = {}
|
||||
|
||||
export function warnOnce(msg: string) {
|
||||
if (!hasWarned[msg]) {
|
||||
const isNodeProd =
|
||||
typeof process !== 'undefined' && process.env.NODE_ENV === 'production'
|
||||
if (!isNodeProd && !__TEST__ && !hasWarned[msg]) {
|
||||
hasWarned[msg] = true
|
||||
warn(msg)
|
||||
}
|
||||
}
|
||||
|
||||
export function warn(msg: string) {
|
||||
console.warn(`\x1b[33m[@vue/compiler-sfc] ${msg}\x1b[0m\n`)
|
||||
console.warn(
|
||||
`\x1b[1m\x1b[33m[@vue/compiler-sfc]\x1b[0m\x1b[33m ${msg}\x1b[0m\n`
|
||||
)
|
||||
}
|
||||
|
||||
export function warnExperimental(feature: string, rfcId: number) {
|
||||
warnOnce(
|
||||
`${feature} is still an experimental proposal.\n` +
|
||||
`Follow its status at https://github.com/vuejs/rfcs/pull/${rfcId}.`
|
||||
)
|
||||
warnOnce(
|
||||
`When using experimental features,\n` +
|
||||
`it is recommended to pin your vue dependencies to exact versions to avoid breakage.`
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user