@@ -37,27 +37,29 @@ async function makeEnv(stage: string, cwd: string, config: Config): {
37
37
env . npm_config_argv = JSON . stringify ( { remain :[ ] , cooked : [ config . commandName ] , original : [ config . commandName ] } ) ;
38
38
39
39
// add npm_package_*
40
- const manifest = await config . readManifest ( cwd ) ;
41
- const queue = [ [ '' , manifest ] ] ;
42
- while ( queue . length ) {
43
- const [ key , val ] = queue . pop ( ) ;
44
- if ( key [ 0 ] === '_' ) {
45
- continue ;
46
- }
47
-
48
- if ( typeof val === 'object' ) {
49
- for ( const subKey in val ) {
50
- const completeKey = [ key , subKey ]
51
- . filter ( ( part : ?string ) : boolean => ! ! part )
52
- . join ( '_' ) ;
53
- queue . push ( [ completeKey , val [ subKey ] ] ) ;
40
+ const manifest = await config . maybeReadManifest ( cwd ) ;
41
+ if ( manifest ) {
42
+ const queue = [ [ '' , manifest ] ] ;
43
+ while ( queue . length ) {
44
+ const [ key , val ] = queue . pop ( ) ;
45
+ if ( key [ 0 ] === '_' ) {
46
+ continue ;
54
47
}
55
- } else if ( IGNORE_MANIFEST_KEYS . indexOf ( key ) < 0 ) {
56
- let cleanVal = String ( val ) ;
57
- if ( cleanVal . indexOf ( '\n' ) >= 0 ) {
58
- cleanVal = JSON . stringify ( cleanVal ) ;
48
+
49
+ if ( typeof val === 'object' ) {
50
+ for ( const subKey in val ) {
51
+ const completeKey = [ key , subKey ]
52
+ . filter ( ( part : ?string ) : boolean => ! ! part )
53
+ . join ( '_' ) ;
54
+ queue . push ( [ completeKey , val [ subKey ] ] ) ;
55
+ }
56
+ } else if ( IGNORE_MANIFEST_KEYS . indexOf ( key ) < 0 ) {
57
+ let cleanVal = String ( val ) ;
58
+ if ( cleanVal . indexOf ( '\n' ) >= 0 ) {
59
+ cleanVal = JSON . stringify ( cleanVal ) ;
60
+ }
61
+ env [ `npm_package_${ key } ` ] = cleanVal ;
59
62
}
60
- env [ `npm_package_${ key } ` ] = cleanVal ;
61
63
}
62
64
}
63
65
@@ -158,8 +160,8 @@ export async function executeLifecycleScript(
158
160
export default executeLifecycleScript ;
159
161
160
162
export async function execFromManifest ( config : Config , commandName : string , cwd : string ) : Promise < void > {
161
- const pkg = await config . readManifest ( cwd ) ;
162
- if ( ! pkg . scripts ) {
163
+ const pkg = await config . maybeReadManifest ( cwd ) ;
164
+ if ( ! pkg || ! pkg . scripts ) {
163
165
return;
164
166
}
165
167
0 commit comments