Skip to content

Commit 505fb5a

Browse files
authored
fix: vue add should be able to install prerelease versions for official plugins (#4356)
1 parent fd4573a commit 505fb5a

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
const chalk = require('chalk')
2+
const semver = require('semver')
23
const invoke = require('./invoke')
34

45
const PackageManager = require('./util/ProjectPackageManager')
56
const {
67
log,
78
error,
8-
resolvePluginId
9+
resolvePluginId,
10+
isOfficialPlugin
911
} = require('@vue/cli-shared-utils')
1012
const confirmIfGitDirty = require('./util/confirmIfGitDirty')
1113

@@ -21,7 +23,13 @@ async function add (pluginName, options = {}, context = process.cwd()) {
2123
log()
2224

2325
const pm = new PackageManager({ context })
24-
await pm.add(packageName)
26+
27+
const cliVersion = require('../package.json').version
28+
if (isOfficialPlugin(packageName) && semver.prerelease(cliVersion)) {
29+
await pm.add(`${packageName}@^${cliVersion}`)
30+
} else {
31+
await pm.add(packageName)
32+
}
2533

2634
log(`${chalk.green('✔')} Successfully installed plugin: ${chalk.cyan(packageName)}`)
2735
log()

0 commit comments

Comments
 (0)