@@ -9,14 +9,26 @@ function loadPluginList (options) {
99 try {
1010 fs . accessSync ( path . join ( options . cwd , 'package.json' ) , fs . constants . R_OK ) ;
1111 } catch ( err ) {
12- return { } ;
12+ throw new Error (
13+ 'There was no package.json found in the current working dir!' ,
14+ options . cwd
15+ ) ;
1316 }
14- var plugins = JSON . parse (
15- fs . readFileSync ( path . join ( options . cwd , 'package.json' ) , 'utf-8' )
16- ) ;
17+
18+ try {
19+ var plugins = JSON . parse (
20+ fs . readFileSync ( path . join ( options . cwd , 'package.json' ) , 'utf-8' )
21+ ) ;
22+ } catch ( err ) {
23+ throw new Error ( 'Error parsing package.json' , err ) ;
24+ }
25+
1726 var targets = [ ] ;
1827
19- plugins = Object . assign ( plugins . dependencies , plugins . devDependencies ) ;
28+ plugins = Object . assign (
29+ plugins . dependencies || { } ,
30+ plugins . devDependencies || { }
31+ ) ;
2032
2133 for ( var plugin in plugins ) {
2234 if ( plugin . startsWith ( 'db-migrate-plugin' ) ) targets . push ( plugin ) ;
@@ -62,12 +74,13 @@ module.exports.getInstance = function (
6274 var plugins = { } ;
6375
6476 try {
65- if ( ! options . noPlugins ) plugins = loadPlugins ( options ) ;
77+ if ( ! options || ! options . noPlugins ) plugins = loadPlugins ( options ) ;
6678 } catch ( ex ) {
67- log . warn ( ex ) ;
79+ log . verbose ( 'No plugin could be loaded!' ) ;
80+ log . verbose ( ex ) ;
6881 }
6982
70- if ( options . plugins ) {
83+ if ( options && options . plugins ) {
7184 plugins = Object . assign ( plugins , options . plugins ) ;
7285 }
7386
0 commit comments