Skip to content

Commit 78ed155

Browse files
hiroppyyyx990803
authored andcommitted
fix: validate project name (#1039)
close #1024
1 parent c49eeb7 commit 78ed155

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

packages/@vue/cli/lib/create.js

+10
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,21 @@ const inquirer = require('inquirer')
66
const Creator = require('./Creator')
77
const clearConsole = require('./util/clearConsole')
88
const { error, stopSpinner } = require('@vue/cli-shared-utils')
9+
const validateProjectName = require('validate-npm-package-name')
910

1011
async function create (projectName, options) {
1112
const inCurrent = projectName === '.'
1213
const name = inCurrent ? path.relative('../', process.cwd()) : projectName
1314
const targetDir = path.resolve(projectName || '.')
15+
16+
const result = validateProjectName(name)
17+
if (!result.validForNewPackages) {
18+
console.error(chalk.red(`Invalid project name: "${projectName}"`))
19+
result.errors && result.errors.forEach(err => {
20+
console.error(chalk.red(err))
21+
})
22+
process.exit(1)
23+
}
1424

1525
if (fs.existsSync(targetDir)) {
1626
if (options.force) {

packages/@vue/cli/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"rimraf": "^2.6.2",
5252
"semver": "^5.4.1",
5353
"slash": "^1.0.0",
54+
"validate-npm-package-name": "^3.0.0",
5455
"yaml-front-matter": "^3.4.1"
5556
},
5657
"engines": {

0 commit comments

Comments
 (0)