Skip to content

Commit d112944

Browse files
committed
fix: fix Vue 3 serve test
1 parent 680bc6d commit d112944

File tree

4 files changed

+256
-18
lines changed

4 files changed

+256
-18
lines changed

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
},
9292
"resolutions": {
9393
"puppeteer": "1.11.0",
94-
"vue": "^2.6.11",
9594
"vue-template-compiler": "^2.6.11",
9695
"vue-server-renderer": "^2.6.11"
9796
}

packages/@vue/cli-service/__tests__/serve.spec.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ test('serve', async () => {
4040
})
4141

4242
// TODO: need to fix vue package hoisting in Yarn workspace first
43-
test.skip('serve with Vue 3', async () => {
43+
test('serve with Vue 3', async () => {
44+
process.env.VUE_CLI_TEST_DO_INSTALL_PLUGIN = true
4445
const project = await create('e2e-serve-vue-3', Object.assign({}, defaultPreset, { vueVersion: '3' }))
4546

4647
await serve(
@@ -69,6 +70,8 @@ test.skip('serve with Vue 3', async () => {
6970
}
7071
}
7172
)
73+
74+
delete process.env.VUE_CLI_TEST_DO_INSTALL_PLUGIN
7275
})
7376

7477
test('serve with router', async () => {

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

+13-11
Original file line numberDiff line numberDiff line change
@@ -14,7 +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')
17+
const { resolvePkg, isOfficialPlugin } = require('@vue/cli-shared-utils')
1818

1919
const {
2020
defaults,
@@ -144,13 +144,17 @@ module.exports = class Creator extends EventEmitter {
144144
return
145145
}
146146

147-
// Note: the default creator includes no more than `@vue/cli-*` & `@vue/babel-preset-env`,
148-
// so it is fine to only test `@vue` prefix.
149-
// Other `@vue/*` packages' version may not be in sync with the cli itself.
150-
pkg.devDependencies[dep] = (
151-
preset.plugins[dep].version ||
152-
((/^@vue/.test(dep)) ? `~${latestMinor}` : `latest`)
153-
)
147+
let { version } = preset.plugins[dep]
148+
149+
if (!version) {
150+
if (isOfficialPlugin(dep) || dep === '@vue/cli-service' || dep === '@vue/babel-preset-env') {
151+
version = isTestOrDebug ? `file:../../${dep}` : `~${latestMinor}`
152+
} else {
153+
version = 'latest'
154+
}
155+
}
156+
157+
pkg.devDependencies[dep] = version
154158
})
155159

156160
// write package.json
@@ -197,9 +201,7 @@ module.exports = class Creator extends EventEmitter {
197201
log(`📦 Installing additional dependencies...`)
198202
this.emit('creation', { event: 'deps-install' })
199203
log()
200-
if (!isTestOrDebug) {
201-
await pm.install()
202-
}
204+
await pm.install()
203205

204206
// run complete cbs if any (injected by generators)
205207
log(`⚓ Running completion hooks...`)

0 commit comments

Comments
 (0)