@@ -5,16 +5,53 @@ const path = require('path');
55// Import the require hook. Enables us to require TS files natively.
66require ( 'ts-node/register' ) ;
77
8-
98const Angular2App = require ( 'angular-cli/lib/broccoli/angular2-app' ) ;
109const Funnel = require ( 'broccoli-funnel' ) ;
1110const MergeTree = require ( 'broccoli-merge-trees' ) ;
1211const autoPrefixerTree = require ( 'broccoli-autoprefixer' ) ;
1312
1413
1514module . exports = function ( defaults ) {
16- var angularAppTree = new Angular2App ( defaults , {
17- sourceDir : 'src/' ,
15+ const appTree = buildAppTree ( defaults ) ;
16+ const cssAutoprefixed = autoPrefixerTree ( new Funnel ( appTree , {
17+ include : [ '**/*.css' ]
18+ } ) ) ;
19+
20+ return new MergeTree ( [
21+ new Funnel ( 'src/demo-app' , { include : [ '**/*.scss' ] } ) ,
22+ appTree ,
23+ cssAutoprefixed
24+ ] , { overwrite : true } ) ;
25+ } ;
26+
27+
28+ function buildAppTree ( defaults ) {
29+ let inputNode = new MergeTree ( [
30+ new Funnel ( 'typings' , {
31+ destDir : 'typings'
32+ } ) ,
33+ new Funnel ( 'src' , {
34+ include : [ 'components/**/*' , 'core/**/*' ] ,
35+ destDir : 'src/demo-app'
36+ } ) ,
37+ new Funnel ( 'src/demo-app' , {
38+ destDir : 'src/demo-app'
39+ } )
40+ ] ) ;
41+
42+ const getCoreAndComponentPath = function ( name ) {
43+ if ( name . startsWith ( 'src/core' ) ) {
44+ return name . replace ( / ^ s r c \/ c o r e / , 'src/demo-app/core' ) ;
45+ } else if ( name . startsWith ( 'src/components' ) ) {
46+ return name . replace ( / ^ s r c \/ c o m p o n e n t s / , 'src/demo-app/components' ) ;
47+ }
48+ return name ;
49+ } ;
50+
51+ return new Angular2App ( defaults , inputNode , {
52+ sourceDir : 'src/demo-app' ,
53+ tsCompiler : {
54+ } ,
1855 sassCompiler : {
1956 includePaths : [
2057 'src/core/style'
@@ -30,14 +67,4 @@ module.exports = function(defaults) {
3067 '@angular/**/*.js' ,
3168 ]
3269 } ) ;
33-
34- const cssAutoprefixed = autoPrefixerTree ( new Funnel ( angularAppTree , {
35- include : [ '**/*.css' ]
36- } ) ) ;
37-
38- return new MergeTree ( [
39- new Funnel ( 'src' , { include : [ '**/*.scss' ] } ) ,
40- angularAppTree ,
41- cssAutoprefixed ,
42- ] , { overwrite : true } ) ;
43- } ;
70+ }
0 commit comments