@@ -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 => ! / \/ f i l e s \/ / . test ( p ) && ! / \/ n o d e _ m o d u l e s / . 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