55var fs = require ( "fs" ) ;
66var path = require ( "path" ) ;
77
8+ function lessStrict ( regExpStr ) {
9+ regExpStr = regExpStr
10+ . replace ( / n o d e _ m o d u l e s / g, "(node_modules|~)" )
11+ . replace ( / ( \\ \/ | \\ \\ ) / g, "[\\/\\\\]" )
12+ return regExpStr ;
13+ }
14+
815module . exports = function ( template , baseDir , stdout , prefix ) {
916
1017 var regexp = new RegExp ( "\\{\\{" + ( prefix ? prefix + ":" : "" ) + "([^:\\}]+)\\}\\}" , "g" )
1118 var cwd = process . cwd ( ) ;
12- cwd = cwd . replace ( / [ - [ \] { } ( ) * + ? . , \\ ^ $ | # \s ] / g, "\\$&" ) ;
19+ var webpack = path . join ( __dirname , ".." ) ;
20+ var webpackParent = path . join ( __dirname , ".." , ".." ) ;
21+ cwd = lessStrict ( cwd . replace ( / [ - [ \] { } ( ) * + ? . , \\ ^ $ | # \s ] / g, "\\$&" ) ) ;
1322 cwd = new RegExp ( cwd , "g" ) ;
23+ webpack = lessStrict ( webpack . replace ( / [ - [ \] { } ( ) * + ? . , \\ ^ $ | # \s ] / g, "\\$&" ) ) ;
24+ webpack = new RegExp ( webpack , "g" ) ;
25+ webpackParent = lessStrict ( webpackParent . replace ( / [ - [ \] { } ( ) * + ? . , \\ ^ $ | # \s ] / g, "\\$&" ) ) ;
26+ console . log ( webpackParent ) ;
27+ webpackParent = new RegExp ( webpackParent , "g" ) ;
1428
1529 return template . replace ( regexp , function ( match ) {
1630 match = match . substr ( 2 + ( prefix ? prefix . length + 1 : 0 ) , match . length - 4 - ( prefix ? prefix . length + 1 : 0 ) ) ;
1731 if ( match === "stdout" )
1832 return stdout ;
1933 return fs . readFileSync ( path . join ( baseDir , match ) , "utf-8" ) ;
20- } ) . replace ( cwd , "." ) ;
34+ } ) . replace ( cwd , "." ) . replace ( webpack , "(webpack)" ) . replace ( webpackParent , "(webpack)/~" ) ;
2135
2236}
0 commit comments