first commit
This commit is contained in:
74
app_vue/node_modules/@vue/cli-service/lib/commands/inspect.js
generated
vendored
Normal file
74
app_vue/node_modules/@vue/cli-service/lib/commands/inspect.js
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
module.exports = (api, options) => {
|
||||
api.registerCommand(
|
||||
'inspect',
|
||||
{
|
||||
description: 'inspect internal webpack config',
|
||||
usage: 'vue-cli-service inspect [options] [...paths]',
|
||||
options: {
|
||||
'--mode': 'specify env mode (default: development)',
|
||||
'--rule <ruleName>': 'inspect a specific module rule',
|
||||
'--plugin <pluginName>': 'inspect a specific plugin',
|
||||
'--rules': 'list all module rule names',
|
||||
'--plugins': 'list all plugin names',
|
||||
'--verbose': 'show full function definitions in output',
|
||||
'--skip-plugins': 'comma-separated list of plugin names to skip for this run'
|
||||
}
|
||||
},
|
||||
args => {
|
||||
const { chalk, get } = require('@vue/cli-shared-utils')
|
||||
const { toString } = require('webpack-chain')
|
||||
const { highlight } = require('cli-highlight')
|
||||
const config = api.resolveWebpackConfig()
|
||||
const { _: paths, verbose } = args
|
||||
|
||||
let res
|
||||
let hasUnnamedRule
|
||||
if (args.rule) {
|
||||
res = config.module.rules.find(r => r.__ruleNames[0] === args.rule)
|
||||
} else if (args.plugin) {
|
||||
res = config.plugins.find(p => p.__pluginName === args.plugin)
|
||||
} else if (args.rules) {
|
||||
res = config.module.rules.map(r => {
|
||||
const name = r.__ruleNames ? r.__ruleNames[0] : 'Nameless Rule (*)'
|
||||
|
||||
hasUnnamedRule = hasUnnamedRule || !r.__ruleNames
|
||||
|
||||
return name
|
||||
})
|
||||
} else if (args.plugins) {
|
||||
res = config.plugins.map(p => p.__pluginName || p.constructor.name)
|
||||
} else if (paths.length > 1) {
|
||||
res = {}
|
||||
paths.forEach(path => {
|
||||
res[path] = get(config, path)
|
||||
})
|
||||
} else if (paths.length === 1) {
|
||||
res = get(config, paths[0])
|
||||
} else {
|
||||
res = config
|
||||
}
|
||||
|
||||
const output = toString(res, { verbose })
|
||||
console.log(highlight(output, { language: 'js' }))
|
||||
|
||||
// Log explanation for Nameless Rules
|
||||
if (hasUnnamedRule) {
|
||||
console.log(`--- ${chalk.green('Footnotes')} ---`)
|
||||
console.log(`*: ${chalk.green(
|
||||
'Nameless Rules'
|
||||
)} were added through the ${chalk.green(
|
||||
'configureWebpack()'
|
||||
)} API (possibly by a plugin) instead of ${chalk.green(
|
||||
'chainWebpack()'
|
||||
)} (recommended).
|
||||
You can run ${chalk.green(
|
||||
'vue-cli-service inspect'
|
||||
)} without any arguments to inspect the full config and read these rules' config.`)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
module.exports.defaultModes = {
|
||||
inspect: 'development'
|
||||
}
|
Reference in New Issue
Block a user