Skip to content

Commit 14ea723

Browse files
committed
feat: respect existing package.json
1 parent 00acca5 commit 14ea723

File tree

6 files changed

+22
-13
lines changed

6 files changed

+22
-13
lines changed

packages/@vue/cli-service/lib/Service.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
const fs = require('fs')
22
const path = require('path')
33
const debug = require('debug')
4-
const readPkg = require('read-pkg')
54
const merge = require('webpack-merge')
65
const Config = require('webpack-chain')
76
const PluginAPI = require('./PluginAPI')
87
const dotenv = require('dotenv')
98
const dotenvExpand = require('dotenv-expand')
109
const defaultsDeep = require('lodash.defaultsdeep')
11-
const { chalk, warn, error, isPlugin, resolvePluginId, loadModule } = require('@vue/cli-shared-utils')
10+
const { chalk, warn, error, isPlugin, resolvePluginId, loadModule, resolvePkg } = require('@vue/cli-shared-utils')
1211

1312
const { defaults, validate } = require('./options')
1413

@@ -44,16 +43,13 @@ module.exports = class Service {
4443
resolvePkg (inlinePkg, context = this.context) {
4544
if (inlinePkg) {
4645
return inlinePkg
47-
} else if (fs.existsSync(path.join(context, 'package.json'))) {
48-
const pkg = readPkg.sync({ cwd: context })
49-
if (pkg.vuePlugins && pkg.vuePlugins.resolveFrom) {
50-
this.pkgContext = path.resolve(context, pkg.vuePlugins.resolveFrom)
51-
return this.resolvePkg(null, this.pkgContext)
52-
}
53-
return pkg
54-
} else {
55-
return {}
5646
}
47+
const pkg = resolvePkg(context)
48+
if (pkg.vuePlugins && pkg.vuePlugins.resolveFrom) {
49+
this.pkgContext = path.resolve(context, pkg.vuePlugins.resolveFrom)
50+
return this.resolvePkg(null, this.pkgContext)
51+
}
52+
return pkg
5753
}
5854

5955
init (mode = process.env.VUE_CLI_MODE) {

packages/@vue/cli-service/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363
"minimist": "^1.2.0",
6464
"portfinder": "^1.0.25",
6565
"postcss-loader": "^3.0.0",
66-
"read-pkg": "^5.1.1",
6766
"ssri": "^7.1.0",
6867
"terser-webpack-plugin": "^2.2.1",
6968
"thread-loader": "^2.1.3",

packages/@vue/cli-shared-utils/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
'module',
77
'object',
88
'openBrowser',
9+
'pkg',
910
'pluginResolution',
1011
'launch',
1112
'request',
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const fs = require('fs')
2+
const path = require('path')
3+
const readPkg = require('read-pkg')
4+
5+
exports.resolvePkg = function (context) {
6+
if (fs.existsSync(path.join(context, 'package.json'))) {
7+
return readPkg.sync({ cwd: context })
8+
}
9+
return {}
10+
}

packages/@vue/cli-shared-utils/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"node-ipc": "^9.1.1",
2929
"open": "^6.3.0",
3030
"ora": "^3.4.0",
31+
"read-pkg": "^5.1.1",
3132
"request": "^2.87.0",
3233
"request-promise-native": "^1.0.8",
3334
"semver": "^6.1.0",

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const { formatFeatures } = require('./util/features')
1414
const loadLocalPreset = require('./util/loadLocalPreset')
1515
const loadRemotePreset = require('./util/loadRemotePreset')
1616
const generateReadme = require('./util/generateReadme')
17+
const { resolvePkg } = require('@vue/cli-shared-utils')
1718

1819
const {
1920
defaults,
@@ -146,7 +147,8 @@ module.exports = class Creator extends EventEmitter {
146147
name,
147148
version: '0.1.0',
148149
private: true,
149-
devDependencies: {}
150+
devDependencies: {},
151+
...resolvePkg(context)
150152
}
151153
const deps = Object.keys(preset.plugins)
152154
deps.forEach(dep => {

0 commit comments

Comments
 (0)