first
This commit is contained in:
47
node_modules/@vue/cli-service/lib/util/resolveLoaderError.js
generated
vendored
Normal file
47
node_modules/@vue/cli-service/lib/util/resolveLoaderError.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
const { chalk } = require('@vue/cli-shared-utils')
|
||||
|
||||
const rules = [
|
||||
{
|
||||
type: 'cant-resolve-loader',
|
||||
re: /Can't resolve '(.*loader)'/,
|
||||
msg: (e, match) => (
|
||||
`Failed to resolve loader: ${chalk.yellow(match[1])}\n` +
|
||||
`You may need to install it.`
|
||||
)
|
||||
}
|
||||
]
|
||||
|
||||
exports.transformer = error => {
|
||||
if (error.webpackError) {
|
||||
const message = typeof error.webpackError === 'string'
|
||||
? error.webpackError
|
||||
: error.webpackError.message || ''
|
||||
for (const { re, msg, type } of rules) {
|
||||
const match = message.match(re)
|
||||
if (match) {
|
||||
return Object.assign({}, error, {
|
||||
// type is necessary to avoid being printed as default error
|
||||
// by friendly-error-webpack-plugin
|
||||
type,
|
||||
shortMessage: msg(error, match)
|
||||
})
|
||||
}
|
||||
}
|
||||
// no match, unknown webpack error without a message.
|
||||
// friendly-error-webpack-plugin fails to handle this.
|
||||
if (!error.message) {
|
||||
return Object.assign({}, error, {
|
||||
type: 'unknown-webpack-error',
|
||||
shortMessage: message
|
||||
})
|
||||
}
|
||||
}
|
||||
return error
|
||||
}
|
||||
|
||||
exports.formatter = errors => {
|
||||
errors = errors.filter(e => e.shortMessage)
|
||||
if (errors.length) {
|
||||
return errors.map(e => e.shortMessage)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user