@@ -9,14 +9,26 @@ function loadPluginList (options) {
9
9
try {
10
10
fs . accessSync ( path . join ( options . cwd , 'package.json' ) , fs . constants . R_OK ) ;
11
11
} catch ( err ) {
12
- return { } ;
12
+ throw new Error (
13
+ 'There was no package.json found in the current working dir!' ,
14
+ options . cwd
15
+ ) ;
13
16
}
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
+
17
26
var targets = [ ] ;
18
27
19
- plugins = Object . assign ( plugins . dependencies , plugins . devDependencies ) ;
28
+ plugins = Object . assign (
29
+ plugins . dependencies || { } ,
30
+ plugins . devDependencies || { }
31
+ ) ;
20
32
21
33
for ( var plugin in plugins ) {
22
34
if ( plugin . startsWith ( 'db-migrate-plugin' ) ) targets . push ( plugin ) ;
@@ -62,12 +74,13 @@ module.exports.getInstance = function (
62
74
var plugins = { } ;
63
75
64
76
try {
65
- if ( ! options . noPlugins ) plugins = loadPlugins ( options ) ;
77
+ if ( ! options || ! options . noPlugins ) plugins = loadPlugins ( options ) ;
66
78
} catch ( ex ) {
67
- log . warn ( ex ) ;
79
+ log . verbose ( 'No plugin could be loaded!' ) ;
80
+ log . verbose ( ex ) ;
68
81
}
69
82
70
- if ( options . plugins ) {
83
+ if ( options && options . plugins ) {
71
84
plugins = Object . assign ( plugins , options . plugins ) ;
72
85
}
73
86
0 commit comments