@@ -7,9 +7,15 @@ var installed = false;
7
7
var removedGlobals = {
8
8
'dbm is not defined' : globalHandler ,
9
9
'async is not defined' : globalHandler ,
10
+ 'Cannot find module \'db-migrate\'' : missingDBMigrate ,
10
11
'Cannot find module \'async\'' : installAsync
11
12
} ;
12
13
14
+ function missingDBMigrate ( migration , retry ) {
15
+
16
+ return globalHandler ( migration . path , retry ) ;
17
+ }
18
+
13
19
function installAsync ( migration , retry ) {
14
20
15
21
var cmd = [ 'install' , '--save' , 'async' ] ;
@@ -29,18 +35,22 @@ function installAsync(migration, retry) {
29
35
}
30
36
31
37
function globalHandler ( migration , retry ) {
32
-
33
38
var data = fs . readFileSync ( migration , 'utf8' ) ;
34
39
data = data . replace (
35
- / ^ d b m = d b m \| \| r e q u i r e \( \s + ' d b - m i g r a t e ' \s + \) / m,
40
+ / ^ d b m = d b m \| \| r e q u i r e \( (? ! \s ) ? ' d b - m i g r a t e ' (? ! \s ) ? \) / m,
41
+ 'var dbm'
42
+ ) ;
43
+
44
+ data = data . replace (
45
+ / ^ v a r d b m = g l o b a l \. d b m \| \| r e q u i r e \( (? ! \s ) ? ' d b - m i g r a t e ' (? ! \s ) ? \) / m,
36
46
'var dbm'
37
47
) ;
38
48
39
49
if ( data . indexOf ( 'async = async || require' ) !== - 1 ) {
40
50
41
51
handled = true ;
42
52
data = data . replace (
43
- / ^ a s y n c = a s y n c \| \| r e q u i r e \( \s + ' a s y n c ' \s + \) / m,
53
+ / ^ a s y n c = a s y n c \| \| r e q u i r e \( (? ! \s ) ? ' a s y n c ' (? ! \s ) ? \) / m,
44
54
'var async = require( \'async\' )'
45
55
) ;
46
56
}
0 commit comments