@@ -3,10 +3,11 @@ var path = require('path');
33var fs = require ( 'fs' ) ;
44var project = require ( '../package.json' ) ;
55
6- const getPackageJsons = ( startPath , results ) => {
7- startPath = startPath || 'packages' ;
8- results = results || [ ] ;
9- const filter = 'package.json' ;
6+ const ignoreDirs = [ 'node_modules' ] ;
7+
8+ const getFiles = ( filter , startPath = 'packages' ) => {
9+ let results = [ ] ;
10+
1011 if ( ! fs . existsSync ( startPath ) ) {
1112 console . log ( 'no dir ' , startPath ) ;
1213 return ;
@@ -16,8 +17,8 @@ const getPackageJsons = (startPath, results) => {
1617 for ( var i = 0 ; i < files . length ; i ++ ) {
1718 var filename = path . join ( startPath , files [ i ] ) ;
1819 var stat = fs . lstatSync ( filename ) ;
19- if ( stat . isDirectory ( ) ) {
20- getPackageJsons ( filename , results ) ; //recurse
20+ if ( stat . isDirectory ( ) && ignoreDirs . indexOf ( path . basename ( filename ) ) < 0 ) {
21+ results = [ ... results , ... getFiles ( filter , filename ) ] ; //recurse
2122 } else if ( filename . indexOf ( filter ) >= 0 ) {
2223 results . push ( filename ) ;
2324 }
@@ -28,6 +29,7 @@ const getPackageJsons = (startPath, results) => {
2829
2930const updateMgtDependencyVersion = ( packages , version ) => {
3031 for ( let package of packages ) {
32+ console . log ( `updating package ${ package } with version ${ version } ` )
3133 const data = fs . readFileSync ( package , 'utf8' ) ;
3234
3335 var result = data . replace ( / " ( @ m i c r o s o f t \/ m g t .* ) " : " ( \* ) " / g, `"$1": "${ version } "` ) ;
@@ -37,6 +39,17 @@ const updateMgtDependencyVersion = (packages, version) => {
3739 }
3840}
3941
42+ const updateSpfxSolutionVersion = ( solutions , version ) => {
43+ for ( let solution of solutions ) {
44+ console . log ( `updating spfx solution ${ solution } with version ${ version } ` )
45+ const data = fs . readFileSync ( solution , 'utf8' ) ;
46+
47+ var result = data . replace ( / " v e r s i o n " : " ( .* ) " / g, `"version": "${ version } .0"` ) ;
48+
49+ fs . writeFileSync ( solution , result , 'utf8' ) ;
50+ }
51+ }
52+
4053let version = project . version ;
4154
4255if ( process . argv . length > 2 ) {
@@ -62,5 +75,8 @@ if (process.argv.length > 2) {
6275 }
6376}
6477
65- const packages = getPackageJsons ( ) ;
78+ const packages = getFiles ( 'package.json' ) ;
6679updateMgtDependencyVersion ( packages , version ) ;
80+
81+ const spfxSolutions = getFiles ( 'package-solution.json' ) ;
82+ updateSpfxSolutionVersion ( spfxSolutions , project . version ) ;
0 commit comments