@@ -50,15 +50,17 @@ module.exports = class IncrementalTypescriptCompiler {
50
50
} ) ;
51
51
52
52
let triggerTree = new Funnel ( this . _triggerDir , { destDir : 'app' } ) ;
53
- let sourceDirectories = {
54
- [ `${ this . _relativeAppRoot ( ) } /app` ] : 'app' ,
55
- } ;
56
53
57
- this . _maybeIncludeMirage ( sourceDirectories ) ;
54
+ let appTree = new TypescriptOutput ( this , {
55
+ [ `${ this . _relativeAppRoot ( ) } /app` ] : 'app' ,
56
+ } ) ;
58
57
59
- let appTree = new TypescriptOutput ( this , sourceDirectories ) ;
58
+ let mirage = this . _mirageDirectory ( ) ;
59
+ let mirageTree = mirage && new TypescriptOutput ( this , {
60
+ [ mirage ] : 'app/mirage' ,
61
+ } ) ;
60
62
61
- let tree = new MergeTrees ( addonAppTrees . concat ( [ triggerTree , appTree ] ) , { overwrite : true } ) ;
63
+ let tree = new MergeTrees ( addonAppTrees . concat ( [ triggerTree , appTree , mirageTree ] . filter ( Boolean ) ) , { overwrite : true } ) ;
62
64
return new Funnel ( tree , { srcDir : 'app' } ) ;
63
65
}
64
66
@@ -162,7 +164,7 @@ module.exports = class IncrementalTypescriptCompiler {
162
164
this . _buildDeferred . resolve ( ) ;
163
165
}
164
166
165
- _maybeIncludeMirage ( sourceDirectories ) {
167
+ _mirageDirectory ( ) {
166
168
let mirage = this . project . addons . find ( addon => addon . name === 'ember-cli-mirage' ) ;
167
169
if ( mirage ) {
168
170
// Be a little defensive, since we're using an internal Mirage API
@@ -182,7 +184,7 @@ module.exports = class IncrementalTypescriptCompiler {
182
184
if ( source . indexOf ( this . project . root ) === 0 ) {
183
185
source = source . substring ( this . project . root . length + 1 ) ;
184
186
}
185
- sourceDirectories [ source ] = 'app/mirage' ;
187
+ return source ;
186
188
}
187
189
}
188
190
}
0 commit comments