22const path = require ( 'path' )
33const getVersion = require ( '../scripts/getVersion' )
44
5+ const [ , , cwd ] = process . argv
6+
57const depFields = [
68 'dependencies' ,
79 'peerDependencies' ,
810 'devDependencies' ,
911 'optionalDependencies' ,
1012]
1113
12- let newVersion
14+ let currentVersion
1315
1416if ( ! module . parent ) {
1517 const semver = require ( 'semver' )
1618 const fs = require ( 'fs' )
1719 const glob = require ( 'glob' )
1820
1921 const [ , , versionChange , prereleaseId ] = process . argv
20- const oldVersion = getVersion ( )
22+ const previousVersion = getVersion ( cwd )
2123
2224 if ( versionChange ) {
2325 if ( / ^ ( m a j o r | m i n o r | p a t c h | p r e m a j o r | p r e m i n o r | p r e p a t c h | p r e r e l e a s e ) $ / . test ( versionChange ) ) {
24- newVersion = semver . inc ( oldVersion , versionChange , prereleaseId )
26+ currentVersion = semver . inc ( previousVersion , versionChange , prereleaseId )
2527 }
2628 else {
27- newVersion = semver . clean ( versionChange )
29+ currentVersion = semver . clean ( versionChange )
2830
29- if ( newVersion === null ) {
30- throw Error ( `Invalid version change "${ oldVersion } " -> "${ versionChange } "` )
31+ if ( currentVersion === null ) {
32+ throw Error ( `Invalid version change "${ previousVersion } " -> "${ versionChange } "` )
3133 }
3234 }
3335
3436 const versionTable = [ ]
3537
36- for ( const file of [ 'package.json' , ...glob . sync ( '{@interactjs/*,interactjs}/package.json' ) ] ) {
38+ for ( const file of [ 'package.json' , ...glob . sync ( '{@interactjs/*,interactjs}/package.json' , { cwd } ) ] ) {
3739 const pkg = require ( path . resolve ( file ) )
3840
39- versionTable . push ( { package : pkg . name , old : pkg . version , new : newVersion } )
41+ versionTable . push ( { package : pkg . name , old : pkg . version , new : currentVersion } )
4042
41- pkg . version = newVersion
43+ pkg . version = currentVersion
4244
4345 for ( const deps of depFields . map ( f => pkg [ f ] ) . filter ( Boolean ) ) {
4446 for ( const name of Object . keys ( deps ) . filter ( n => / @ ? i n t e r a c t j s \/ / . test ( n ) ) ) {
45- if ( deps [ name ] === oldVersion ) {
46- deps [ name ] = newVersion
47+ if ( deps [ name ] === previousVersion ) {
48+ deps [ name ] = currentVersion
4749 } else {
4850 console . warn ( `${ file } : not updating "${ name } " from "${ deps [ name ] } "` )
4951 }
@@ -57,8 +59,8 @@ if (!module.parent) {
5759 }
5860 // if this was run with no arguments, get the current version
5961 else {
60- newVersion = oldVersion
62+ currentVersion = previousVersion
6163 }
6264
63- console . log ( newVersion )
65+ console . log ( currentVersion )
6466}
0 commit comments