Skip to content

Commit 134ac58

Browse files
committed
fix: fix sync script for generators
1 parent ff88afe commit 134ac58

File tree

4 files changed

+43
-35
lines changed

4 files changed

+43
-35
lines changed

packages/@vue/cli-plugin-babel/generator.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module.exports = api => {
22
api.extendPackage({
33
devDependencies: {
4-
'@vue/babel-preset-app': '^3.0.0-alpha.1'
4+
'@vue/babel-preset-app': '^3.0.0-alpha.2'
55
},
66
babel: {
77
presets: ['@vue/app']

packages/@vue/cli-plugin-eslint/generator.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ module.exports = (api, { config, lintOn = [] }) => {
1818
if (config === 'airbnb') {
1919
pkg.eslintConfig.extends.push('@vue/airbnb')
2020
Object.assign(pkg.devDependencies, {
21-
'@vue/eslint-config-airbnb': '^3.0.0-alpha.1'
21+
'@vue/eslint-config-airbnb': '^3.0.0-alpha.2'
2222
})
2323
} else if (config === 'standard') {
2424
pkg.eslintConfig.extends.push('@vue/standard')
2525
Object.assign(pkg.devDependencies, {
26-
'@vue/eslint-config-standard': '^3.0.0-alpha.1'
26+
'@vue/eslint-config-standard': '^3.0.0-alpha.2'
2727
})
2828
} else if (config === 'prettier') {
2929
pkg.eslintConfig.extends.push('@vue/prettier')
3030
Object.assign(pkg.devDependencies, {
31-
'@vue/eslint-config-prettier': '^3.0.0-alpha.1'
31+
'@vue/eslint-config-prettier': '^3.0.0-alpha.2'
3232
})
3333
} else {
3434
// default

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ test('loading plugins from package.json', () => {
3232
mockPkg({
3333
devDependencies: {
3434
'bar': '^1.0.0',
35-
'@vue/cli-plugin-babel': '^3.0.0-alpha.1',
35+
'@vue/cli-plugin-babel': '^3.0.0-alpha.2',
3636
'vue-cli-plugin-foo': '^1.0.0'
3737
}
3838
})

scripts/syncDeps.js

+38-30
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ const globby = require('globby')
1010
const { execSync } = require('child_process')
1111
const inquirer = require('inquirer')
1212

13+
const argv = process.argv.slice(2)
14+
1315
const externalVueScopedPackages = {
1416
'@vue/test-utils': true,
1517
'@vue/eslint-config': true
1618
}
17-
const localPackageRE = /'(@vue\/(cli|eslint|babel)[\w-]+)': '\^(\d+\.\d+\.\d+)'/g
19+
const localPackageRE = /'(@vue\/(?:cli|eslint|babel)[\w-]+)': '\^([\w-.]+)'/g
1820

1921
const versionCache = {}
2022

@@ -71,41 +73,44 @@ const flushWrite = () => {
7173
;(async () => {
7274
// 1. update all package deps
7375
const updatedDeps = new Set()
74-
const packages = await globby(['packages/@vue/*/package.json'])
75-
await Promise.all(packages.filter(filePath => {
76-
return filePath.match(/cli-service|cli-plugin|babel-preset|eslint-config/)
77-
}).concat('package.json').map(async (filePath) => {
78-
const pkg = require(path.resolve(__dirname, '../', filePath))
79-
if (!pkg.dependencies) {
80-
return
81-
}
82-
let isUpdated = false
83-
const deps = pkg.dependencies
84-
for (const dep in deps) {
85-
if (dep.match(/^@vue/) && !externalVueScopedPackages[dep]) {
86-
continue
76+
77+
if (!argv.includes('--local')) {
78+
const packages = await globby(['packages/@vue/*/package.json'])
79+
await Promise.all(packages.filter(filePath => {
80+
return filePath.match(/cli-service|cli-plugin|babel-preset|eslint-config/)
81+
}).concat('package.json').map(async (filePath) => {
82+
const pkg = require(path.resolve(__dirname, '../', filePath))
83+
if (!pkg.dependencies) {
84+
return
8785
}
88-
let local = deps[dep]
89-
if (local.charAt(0) !== '^') {
90-
continue
86+
let isUpdated = false
87+
const deps = pkg.dependencies
88+
for (const dep in deps) {
89+
if (dep.match(/^@vue/) && !externalVueScopedPackages[dep]) {
90+
continue
91+
}
92+
let local = deps[dep]
93+
if (local.charAt(0) !== '^') {
94+
continue
95+
}
96+
local = local.replace(/^\^/, '')
97+
const remote = await getRemoteVersion(dep)
98+
if (remote && checkUpdate(dep, filePath, local, remote)) {
99+
deps[dep] = `^${remote}`
100+
updatedDeps.add(dep)
101+
isUpdated = true
102+
}
91103
}
92-
local = local.replace(/^\^/, '')
93-
const remote = await getRemoteVersion(dep)
94-
if (remote && checkUpdate(dep, filePath, local, remote)) {
95-
deps[dep] = `^${remote}`
96-
updatedDeps.add(dep)
97-
isUpdated = true
104+
if (isUpdated) {
105+
bufferWrite(filePath, JSON.stringify(pkg, null, 2) + '\n')
98106
}
99-
}
100-
if (isUpdated) {
101-
bufferWrite(filePath, JSON.stringify(pkg, null, 2) + '\n')
102-
}
103-
}))
107+
}))
108+
}
104109

105110
const updatedRE = new RegExp(`'(${Array.from(updatedDeps).join('|')})': '\\^(\\d+\\.\\d+\\.\\d+[^']*)'`)
106111
const paths = await globby(['packages/@vue/**/*.js'])
107112
paths
108-
.filter(p => !/\/files\//.test(p))
113+
.filter(p => !/\/files\//.test(p) && !/\/node_modules/.test(p))
109114
.forEach(filePath => {
110115
let isUpdated = false
111116
const makeReplacer = versionGetter => (_, pkg, curVersion) => {
@@ -151,4 +156,7 @@ const flushWrite = () => {
151156
if (yes) {
152157
flushWrite()
153158
}
154-
})()
159+
})().catch(err => {
160+
console.log(err)
161+
process.exit(1)
162+
})

0 commit comments

Comments
 (0)