@@ -14,6 +14,8 @@ const log = require('debug')(packageName);
14
14
var Promise = require ( 'bluebird' ) ;
15
15
16
16
var label = 'pre-commit:' ;
17
+ // magic value, meaning we found package.json but it has no "config" object
18
+ const MISSING_GIT_CONFIG = 'MISSING_GIT_CONFIG' ;
17
19
18
20
var gitPrefix = process . env . GIT_PREFIX || '' ;
19
21
log ( 'git prefix env' , process . env . GIT_PREFIX ) ;
@@ -67,7 +69,7 @@ function findPackage(dir) {
67
69
if ( hasPreGitInFile ( filename ) ) {
68
70
log ( 'found pre-git dependency in %s' , filename ) ;
69
71
log ( 'but no pre-git config' ) ;
70
- return ;
72
+ return MISSING_GIT_CONFIG ;
71
73
}
72
74
}
73
75
@@ -84,6 +86,9 @@ function findPackage(dir) {
84
86
function getPackage ( ) {
85
87
var filename = findPackage ( ) ;
86
88
la ( check . unemptyString ( filename ) , 'could not find package' ) ;
89
+ if ( filename === MISSING_GIT_CONFIG ) {
90
+ return MISSING_GIT_CONFIG ;
91
+ }
87
92
var pkg = require ( filename ) ;
88
93
return pkg ;
89
94
}
@@ -180,6 +185,9 @@ function failure(label, err) {
180
185
181
186
function getConfig ( ) {
182
187
const pkg = getPackage ( ) ;
188
+ if ( pkg === MISSING_GIT_CONFIG ) {
189
+ return ;
190
+ }
183
191
return pkg . config && pkg . config [ packageName ] ;
184
192
}
185
193
@@ -212,14 +220,14 @@ function hasEnabledOption(config) {
212
220
213
221
function getTasks ( label ) {
214
222
log ( 'getting tasks with label "%s"' , label ) ;
215
- var pkg = getPackage ( ) ;
216
- la ( check . object ( pkg ) , 'missing package' , pkg ) ;
217
-
218
223
const config = getConfig ( ) ;
219
224
if ( ! config ) {
220
225
return ;
221
226
}
222
227
228
+ var pkg = getPackage ( ) ;
229
+ la ( check . object ( pkg ) , 'missing package' , pkg ) ;
230
+
223
231
if ( hasEnabledOption ( config ) && ! config . enabled ) {
224
232
return ;
225
233
}
0 commit comments