@vue/cli
Version:
Command line interface for rapid Vue.js development
35 lines (33 loc) • 1.15 kB
JavaScript
const fs = require('fs')
const path = require('path')
const resolve = require('resolve')
const { execa } = require('@vue/cli-shared-utils')
module.exports = function inspect (paths, args) {
const cwd = process.cwd()
let servicePath
try {
servicePath = resolve.sync('@vue/cli-service', { basedir: cwd })
} catch (e) {
const { error } = require('@vue/cli-shared-utils')
error(
`Failed to locate @vue/cli-service.\n` +
`Note that \`vue inspect\` is an alias of \`vue-cli-service inspect\`\n` +
`and can only be used in a project where @vue/cli-service is locally installed.`
)
process.exit(1)
}
const binPath = path.resolve(servicePath, '../../bin/vue-cli-service.js')
if (fs.existsSync(binPath)) {
execa('node', [
binPath,
'inspect',
...(args.mode ? ['--mode', args.mode] : []),
...(args.rule ? ['--rule', args.rule] : []),
...(args.plugin ? ['--plugin', args.plugin] : []),
...(args.rules ? ['--rules'] : []),
...(args.plugins ? ['--plugins'] : []),
...(args.verbose ? ['--verbose'] : []),
...paths
], { cwd, stdio: 'inherit' })
}
}