workflow!: vue-cli-version-marker's version now only syncs with @vue/cli

This breaks @vue/cli 3.1.2 and 3.1.3 but it's a necessary change to
simplify the release workflow
This commit is contained in:
Haoqun Jiang
2019-05-31 18:21:16 +08:00
parent 47d56e998d
commit 2fa9f5bf6f
5 changed files with 4 additions and 79 deletions
+2 -1
View File
@@ -4,7 +4,8 @@
"version": "4.0.0-alpha.1",
"packages": [
"packages/@vue/babel-preset-app",
"packages/@vue/cli*"
"packages/@vue/cli*",
"packages/vue-cli-version-marker"
],
"changelog": {
"repo": "vuejs/vue-cli",
+1 -1
View File
@@ -14,7 +14,7 @@
"sync": "node scripts/syncDeps.js",
"boot": "node scripts/bootstrap.js",
"release": "yarn --pure-lockfile && yarn clean && node scripts/release.js",
"version": "node scripts/markVersions.js && node scripts/genChangelog.js && git add packages/vue-cli-version-marker CHANGELOG.md",
"version": "node scripts/genChangelog.js && git add CHANGELOG.md",
"docs": "vuepress dev docs",
"docs:build": "vuepress build docs",
"patch-chromedriver": "node scripts/patchChromedriver.js"
+1 -20
View File
@@ -6,25 +6,6 @@
"license": "MIT",
"main": "package.json",
"devDependencies": {
"@vue/babel-preset-app": "4.0.0-alpha.1",
"@vue/cli-init": "4.0.0-alpha.1",
"@vue/cli-overlay": "4.0.0-alpha.1",
"@vue/cli-plugin-babel": "4.0.0-alpha.1",
"@vue/cli-plugin-e2e-cypress": "4.0.0-alpha.1",
"@vue/cli-plugin-e2e-nightwatch": "4.0.0-alpha.1",
"@vue/cli-plugin-eslint": "4.0.0-alpha.1",
"@vue/cli-plugin-pwa": "4.0.0-alpha.1",
"@vue/cli-plugin-typescript": "4.0.0-alpha.1",
"@vue/cli-plugin-unit-jest": "4.0.0-alpha.1",
"@vue/cli-plugin-unit-mocha": "4.0.0-alpha.1",
"@vue/cli-service-global": "4.0.0-alpha.1",
"@vue/cli-service": "4.0.0-alpha.1",
"@vue/cli-shared-utils": "4.0.0-alpha.1",
"@vue/cli-test-utils": "4.0.0-alpha.1",
"@vue/cli-ui-addon-webpack": "4.0.0-alpha.1",
"@vue/cli-ui-addon-widgets": "4.0.0-alpha.1",
"@vue/cli-ui": "4.0.0-alpha.1",
"@vue/cli-upgrade": "4.0.0-alpha.1",
"@vue/cli": "4.0.0-alpha.1"
}
}
}
-37
View File
@@ -1,37 +0,0 @@
const fs = require('fs')
const path = require('path')
const execa = require('execa')
const semver = require('semver')
// TODO:
// in v4 we don't need version marker's package.json to store all the versions
// so this logic can be removed
async function markVersions () {
const packages = JSON.parse(
(await execa(require.resolve('lerna/cli'), ['list', '--json'])).stdout
).filter(p => !p.private)
const markerPath = path.resolve(__dirname, '../packages/vue-cli-version-marker/package.json')
const marker = JSON.parse(fs.readFileSync(markerPath))
const curVersion = marker.version
const mainVersion = require('../lerna.json').version
if (semver.prerelease(mainVersion)) {
marker.version = mainVersion
} else {
const releaseType = semver.diff(curVersion, mainVersion) || 'patch'
marker.version = semver.inc(marker.version, releaseType)
}
marker.devDependencies = packages.reduce((prev, pkg) => {
prev[pkg.name] = pkg.version
return prev
}, {})
fs.writeFileSync(markerPath, JSON.stringify(marker, null, 2))
}
markVersions().catch(err => {
console.error(err)
process.exit(1)
})
-20
View File
@@ -112,26 +112,6 @@ const release = async () => {
}
await execa(require.resolve('lerna/cli'), lernaArgs, { stdio: 'inherit' })
// publish version marker after all other packages are published
await execa(
'npm',
[
'publish',
'--tag',
distTag,
// must specify registry url: https://github.com/lerna/lerna/issues/896#issuecomment-311894609
'--registry',
'https://registry.npmjs.org/'
],
{
stdio: 'inherit',
cwd: require('path').resolve(
__dirname,
'../packages/vue-cli-version-marker'
)
}
)
}
release().catch(err => {