Skip to content

Commit 73dfe00

Browse files
committed
Update script to skip over unloadable package.json files
The script failed for several test fixtures `package.json` files which were not valid JSON. This change skips over those files and logs a warning.
1 parent 3d4e13b commit 73dfe00

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

lib/node_modules/@stdlib/_tools/package-json/scripts/update_directories

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ var debug = require( 'debug' )( 'update-package-directories' );
4343
var join = require( 'path' ).join;
4444
var resolve = require( 'path' ).resolve;
4545
var parseArgs = require( 'minimist' );
46+
var isObject = require( '@stdlib/assert/is-plain-object' );
4647
var cwd = require( '@stdlib/process/cwd' );
4748
var exists = require( '@stdlib/fs/exists' ).sync;
4849
var findPkgs = require( '@stdlib/_tools/pkgs/find' ).sync;
@@ -113,7 +114,17 @@ function main( dir ) {
113114
for ( i = 0; i < pkgs.length; i++ ) {
114115
fpath = join( pkgs[ i ], 'package.json' );
115116
debug( 'Loading package file: %s (%d of %d).', fpath, i+1, pkgs.length );
116-
pkg = require( fpath ); // eslint-disable-line stdlib/no-dynamic-require
117+
118+
try {
119+
pkg = require( fpath ); // eslint-disable-line stdlib/no-dynamic-require
120+
} catch ( err ) {
121+
debug( 'Encountered an error when loading package file: %s (%d of %d). Error: %s', fpath, i+1, pkgs.length, err.message );
122+
continue;
123+
}
124+
if ( !isObject( pkg ) ) {
125+
debug( 'Unable to load package.json file: %s (%d of %d).', fpath, i+1, pkgs.length );
126+
continue;
127+
}
117128

118129
if ( pkg.directories ) {
119130
debug( 'Current directories: %s.', JSON.stringify( pkg.directories ) );

0 commit comments

Comments
 (0)