Skip to content

Commit 57e753e

Browse files
committed
feat: respect existing package.json
1 parent 02f2436 commit 57e753e

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

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

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
const fs = require('fs')
12
const path = require('path')
23
const debug = require('debug')
34
const inquirer = require('inquirer')
5+
const readPkg = require('read-pkg')
46
const EventEmitter = require('events')
57
const Generator = require('./Generator')
68
const cloneDeep = require('lodash.clonedeep')
@@ -142,12 +144,7 @@ module.exports = class Creator extends EventEmitter {
142144
latestMinor = current
143145
}
144146
// generate package.json with plugin dependencies
145-
const pkg = {
146-
name,
147-
version: '0.1.0',
148-
private: true,
149-
devDependencies: {}
150-
}
147+
const pkg = this.resolvePkg()
151148
const deps = Object.keys(preset.plugins)
152149
deps.forEach(dep => {
153150
if (preset.plugins[dep]._isPreset) {
@@ -515,6 +512,22 @@ module.exports = class Creator extends EventEmitter {
515512
return prompts
516513
}
517514

515+
resolvePkg () {
516+
let existingPkg = {}
517+
if (fs.existsSync(path.join(this.context, 'package.json'))) {
518+
existingPkg = readPkg.sync({ cwd: this.context })
519+
}
520+
const { name, version, devDependencies, ...more } = existingPkg
521+
const pkg = {
522+
name: name || this.name,
523+
version: version || '0.1.0',
524+
private: true,
525+
devDependencies: devDependencies || {},
526+
...more
527+
}
528+
return pkg
529+
}
530+
518531
shouldInitGit (cliOptions) {
519532
if (!hasGit()) {
520533
return false

packages/@vue/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"lodash.clonedeep": "^4.5.0",
4949
"lru-cache": "^5.1.1",
5050
"minimist": "^1.2.0",
51+
"read-pkg": "^5.1.1",
5152
"recast": "^0.18.1",
5253
"resolve": "^1.13.1",
5354
"shortid": "^2.2.15",

0 commit comments

Comments
 (0)