@@ -6,6 +6,13 @@ const PLACEHOLDER_VERSION = '0.0.0-dev.0';
66const PROJECT_ROOT = path . resolve ( __dirname , '..' , '..' , '..' ) ;
77const LERNA_BIN = path . resolve ( PROJECT_ROOT , 'node_modules' , '.bin' , 'lerna' ) ;
88
9+ export interface LernaPackageDescription {
10+ name : string ;
11+ version : string ;
12+ private : boolean ;
13+ location : string ;
14+ }
15+
916export function spawnSync ( command : string , args : string [ ] , options : SpawnSyncOptionsWithStringEncoding ) : SpawnSyncReturns < string > {
1017 const result = spawn . sync ( command , args , options ) ;
1118 if ( result . error ) {
@@ -46,6 +53,11 @@ export function bumpNpmPackages(
4653 cwd : PROJECT_ROOT ,
4754 encoding : 'utf8'
4855 } ) ;
56+ spawnSyncFn ( 'git' , [ 'status' , '--porcelain' ] , {
57+ stdio : 'inherit' ,
58+ cwd : PROJECT_ROOT ,
59+ encoding : 'utf8'
60+ } ) ;
4961}
5062
5163export function publishNpmPackages (
@@ -88,11 +100,12 @@ export function publishNpmPackages(
88100 }
89101}
90102
91- export function listNpmPackages ( ) : { name : string ; version : string } [ ] {
103+ export function listNpmPackages ( ) : LernaPackageDescription [ ] {
92104 const lernaListOutput = spawnSync (
93105 LERNA_BIN , [
94106 'list' ,
95107 '--json' ,
108+ '--all'
96109 ] ,
97110 {
98111 cwd : PROJECT_ROOT ,
@@ -104,15 +117,16 @@ export function listNpmPackages(): { name: string; version: string }[] {
104117}
105118
106119export function markBumpedFilesAsAssumeUnchanged (
107- packages : { name : string } [ ] , assumeUnchanged : boolean ,
120+ packages : LernaPackageDescription [ ] ,
121+ assumeUnchanged : boolean ,
108122 spawnSyncFn : typeof spawnSync = spawnSync
109123) : void {
110124 const filesToAssume = [
111- 'lerna.json'
125+ path . resolve ( PROJECT_ROOT , 'lerna.json' )
112126 ] ;
113- packages . forEach ( ( { name } ) => {
114- filesToAssume . push ( `packages/ ${ name } / package.json` ) ;
115- filesToAssume . push ( `packages/ ${ name } / package-lock.json` ) ;
127+ packages . forEach ( ( { location } ) => {
128+ filesToAssume . push ( path . resolve ( location , ' package.json' ) ) ;
129+ filesToAssume . push ( path . resolve ( location , ' package-lock.json' ) ) ;
116130 } ) ;
117131
118132 filesToAssume . forEach ( f => {
0 commit comments