Skip to content

Commit e16e5f1

Browse files
committed
workflow: fix vue-cli-version-marker publish and eslint-config version sync
1 parent bfe42ed commit e16e5f1

File tree

2 files changed

+54
-41
lines changed

2 files changed

+54
-41
lines changed

scripts/release.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ const release = async () => {
103103
}
104104
await execa(require.resolve('lerna/cli'), lernaArgs, { stdio: 'inherit' })
105105

106-
// require('./genChangelog')(version)
106+
require('./genChangelog')(version)
107107

108108
const packages = JSON.parse(
109109
(await execa(require.resolve('lerna/cli'), ['list', '--json'])).stdout
@@ -121,9 +121,16 @@ const release = async () => {
121121
const tagName = `vue-cli-version-marker@${versionMarkerPkg.version}`
122122
await execa('git', ['add', '-A'], { stdio: 'inherit' })
123123
await execa('git', ['commit', '-m', `chore: ${tagName}`], { stdio: 'inherit' })
124-
// await execa('npm', ['publish'], { stdio: 'inherit', cwd: path.dirname(versionMarkerPath) })
125-
// await execa('git', ['tag', tagName], { stdio: 'inherit' })
126-
// await execa('git', ['push', '--tags'], { stdio: 'inherit' })
124+
125+
// Must specify registry url: https://github.com/lerna/lerna/issues/896#issuecomment-311894609
126+
await execa(
127+
'npm',
128+
['publish', '--registry', 'https://registry.npmjs.org/'],
129+
{ stdio: 'inherit', cwd: path.dirname(versionMarkerPath) }
130+
)
131+
132+
await execa('git', ['tag', tagName], { stdio: 'inherit' })
133+
await execa('git', ['push', '--tags'], { stdio: 'inherit' })
127134
}
128135

129136
release().catch(err => {

scripts/syncDeps.js

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -148,43 +148,49 @@ async function syncDeps ({ local, version, skipPrompt }) {
148148
}
149149
}
150150

151-
// console.log('Syncing local deps...')
152-
// const updatedRE = new RegExp(`'(${Array.from(updatedDeps).join('|')})': '\\^(\\d+\\.\\d+\\.\\d+[^']*)'`)
153-
// const paths = await globby(['packages/@vue/**/*.js'])
154-
// paths
155-
// .filter(p => !/\/files\//.test(p) && !/\/node_modules/.test(p))
156-
// .forEach(filePath => {
157-
// let isUpdated = false
158-
// const makeReplacer = versionGetter => (_, pkg, curVersion) => {
159-
// const targetVersion = versionGetter(pkg)
160-
// if (!targetVersion) return _
161-
// if (checkUpdate(pkg, filePath, curVersion, targetVersion)) {
162-
// isUpdated = true
163-
// }
164-
// return `'${pkg}': '^${targetVersion}'`
165-
// }
166-
167-
// const localReplacer = makeReplacer(
168-
// pkg => {
169-
// try {
170-
// // inline version takes priority
171-
// return version || require(`../packages/${pkg}/package.json`).version
172-
// } catch (e) {}
173-
// }
174-
// )
175-
176-
// const remoteReplacer = makeReplacer(getRemoteVersionSync)
177-
178-
// const updated = fs.readFileSync(filePath, 'utf-8')
179-
// // update @vue packages in this repo
180-
// .replace(localPackageRE, localReplacer)
181-
// // also update vue, vue-template-compiler, vuex, vue-router
182-
// .replace(updatedRE, remoteReplacer)
183-
184-
// if (isUpdated) {
185-
// bufferWrite(filePath, updated)
186-
// }
187-
// })
151+
console.log('Syncing local deps...')
152+
const updatedRE = new RegExp(`'(${Array.from(updatedDeps).join('|')})': '\\^(\\d+\\.\\d+\\.\\d+[^']*)'`)
153+
const paths = await globby(['packages/@vue/**/*.js'])
154+
paths
155+
.filter(p => !/\/files\//.test(p) && !/\/node_modules/.test(p))
156+
.forEach(filePath => {
157+
let isUpdated = false
158+
const makeReplacer = versionGetter => (_, pkg, curVersion) => {
159+
const targetVersion = versionGetter(pkg)
160+
if (!targetVersion) return _
161+
if (checkUpdate(pkg, filePath, curVersion, targetVersion)) {
162+
isUpdated = true
163+
}
164+
return `'${pkg}': '^${targetVersion}'`
165+
}
166+
167+
const localReplacer = makeReplacer(
168+
pkg => {
169+
try {
170+
// for eslint-config-* packages, only use version field from package.json
171+
// as they're published separately
172+
if (pkg.includes('eslint-config')) {
173+
return require(`../packages/${pkg}/package.json`).version
174+
}
175+
176+
// otherwise, inline version takes priority
177+
return version || require(`../packages/${pkg}/package.json`).version
178+
} catch (e) {}
179+
}
180+
)
181+
182+
const remoteReplacer = makeReplacer(getRemoteVersionSync)
183+
184+
const updated = fs.readFileSync(filePath, 'utf-8')
185+
// update @vue packages in this repo
186+
.replace(localPackageRE, localReplacer)
187+
// also update vue, vue-template-compiler, vuex, vue-router
188+
.replace(updatedRE, remoteReplacer)
189+
190+
if (isUpdated) {
191+
bufferWrite(filePath, updated)
192+
}
193+
})
188194

189195
if (!Object.keys(writeCache).length) {
190196
return console.log(`All packages up-to-date.`)

0 commit comments

Comments
 (0)