@@ -8,34 +8,33 @@ var path = require('path');
88var renderLodashTemplate = require ( 'broccoli-lodash' ) ;
99var replace = require ( 'broccoli-replace' ) ;
1010var stew = require ( 'broccoli-stew' ) ;
11- var ts2dart ;
12- var TraceurCompiler ;
13- var TypescriptCompiler ;
11+ var ts2dart = require ( './broccoli-ts2dart' ) ;
12+ var TraceurCompiler = require ( './traceur' ) ;
13+ var TypescriptCompiler = require ( './typescript' ) ;
1414
1515var projectRootDir = path . normalize ( path . join ( __dirname , '..' , '..' ) ) ;
1616
1717
1818module . exports = function makeBroccoliTree ( name ) {
19- if ( ! TraceurCompiler ) TraceurCompiler = require ( '../../dist/broccoli/traceur' ) ;
20- if ( ! TypescriptCompiler ) TypescriptCompiler = require ( '../../dist/broccoli/typescript' ) ;
21- if ( ! ts2dart ) ts2dart = require ( '../../dist/broccoli/broccoli-ts2dart' ) ;
22-
2319 switch ( name ) {
24- case 'dev' : return makeBrowserTree ( { name : name , typeAssertions : true } ) ;
25- case 'prod' : return makeBrowserTree ( { name : name , typeAssertions : false } ) ;
26- case 'cjs' : return makeCjsTree ( ) ;
27- case 'dart' : return makeDartTree ( ) ;
28- default : throw new Error ( 'Unknown build type: ' + name ) ;
20+ case 'dev' :
21+ return makeBrowserTree ( { name : name , typeAssertions : true } ) ;
22+ case 'prod' :
23+ return makeBrowserTree ( { name : name , typeAssertions : false } ) ;
24+ case 'cjs' :
25+ return makeCjsTree ( ) ;
26+ case 'dart' :
27+ return makeDartTree ( ) ;
28+ default :
29+ throw new Error ( 'Unknown build type: ' + name ) ;
2930 }
3031} ;
3132
3233
3334function makeBrowserTree ( options ) {
34- var modulesTree = new Funnel ( 'modules' , {
35- include : [ '**/**' ] ,
36- exclude : [ '**/*.cjs' , 'benchmarks/e2e_test/**' ] ,
37- destDir : '/'
38- } ) ;
35+ var modulesTree = new Funnel (
36+ 'modules' ,
37+ { include : [ '**/**' ] , exclude : [ '**/*.cjs' , 'benchmarks/e2e_test/**' ] , destDir : '/' } ) ;
3938
4039 // Use Traceur to transpile original sources to ES6
4140 var es6Tree = new TraceurCompiler ( modulesTree , '.es6' , '.map' , {
@@ -52,14 +51,14 @@ function makeBrowserTree(options) {
5251
5352
5453 // Call Traceur again to lower the ES6 build tree to ES5
55- var es5Tree = new TraceurCompiler ( es6Tree , '.js' , '.js.map' , { modules : 'instantiate' , sourceMaps : true } ) ;
54+ var es5Tree =
55+ new TraceurCompiler ( es6Tree , '.js' , '.js.map' , { modules : 'instantiate' , sourceMaps : true } ) ;
5656
5757 // Now we add a few more files to the es6 tree that Traceur should not see
58- [ 'angular2' , 'rtts_assert' ] . forEach (
59- function ( destDir ) {
60- var extras = new Funnel ( 'tools/build' , { files : [ 'es5build.js' ] , destDir : destDir } ) ;
61- es6Tree = mergeTrees ( [ es6Tree , extras ] ) ;
62- } ) ;
58+ [ 'angular2' , 'rtts_assert' ] . forEach ( function ( destDir ) {
59+ var extras = new Funnel ( 'tools/build' , { files : [ 'es5build.js' ] , destDir : destDir } ) ;
60+ es6Tree = mergeTrees ( [ es6Tree , extras ] ) ;
61+ } ) ;
6362
6463
6564 var vendorScriptsTree = flatten ( new Funnel ( '.' , {
@@ -76,9 +75,9 @@ function makeBrowserTree(options) {
7675 ]
7776 } ) ) ;
7877 var vendorScripts_benchmark =
79- new Funnel ( 'tools/build/snippets' , { files : [ 'url_params_to_form.js' ] , destDir : '/' } ) ;
78+ new Funnel ( 'tools/build/snippets' , { files : [ 'url_params_to_form.js' ] , destDir : '/' } ) ;
8079 var vendorScripts_benchmarks_external =
81- new Funnel ( 'node_modules/angular' , { files : [ 'angular.js' ] , destDir : '/' } ) ;
80+ new Funnel ( 'node_modules/angular' , { files : [ 'angular.js' ] , destDir : '/' } ) ;
8281
8382 var servingTrees = [ ] ;
8483
@@ -89,7 +88,7 @@ function makeBrowserTree(options) {
8988 }
9089 if ( destDir . indexOf ( 'benchmarks_external' ) > - 1 ) {
9190 servingTrees . push (
92- new Funnel ( vendorScripts_benchmarks_external , { srcDir : '/' , destDir : destDir } ) ) ;
91+ new Funnel ( vendorScripts_benchmarks_external , { srcDir : '/' , destDir : destDir } ) ) ;
9392 }
9493 }
9594
@@ -117,7 +116,7 @@ function makeBrowserTree(options) {
117116
118117 // Copy all vendor scripts into all examples and benchmarks
119118 [ 'benchmarks/src' , 'benchmarks_external/src' , 'examples/src/benchpress' ] . forEach (
120- copyVendorScriptsTo ) ;
119+ copyVendorScriptsTo ) ;
121120
122121 var scripts = mergeTrees ( servingTrees , { overwrite : true } ) ;
123122 var css = new Funnel ( modulesTree , { include : [ "**/*.css" ] } ) ;
@@ -161,11 +160,10 @@ function makeCjsTree() {
161160 } ) ;
162161
163162 // Now we add the LICENSE file into all the folders that will become npm packages
164- outputPackages . forEach (
165- function ( destDir ) {
166- var license = new Funnel ( '.' , { files : [ 'LICENSE' ] , destDir : destDir } ) ;
167- cjsTree = mergeTrees ( [ cjsTree , license ] ) ;
168- } ) ;
163+ outputPackages . forEach ( function ( destDir ) {
164+ var license = new Funnel ( '.' , { files : [ 'LICENSE' ] , destDir : destDir } ) ;
165+ cjsTree = mergeTrees ( [ cjsTree , license ] ) ;
166+ } ) ;
169167
170168 // Get all docs and related assets and prepare them for js build
171169 var docs = new Funnel ( modulesTree , { include : [ '**/*.md' , '**/*.png' ] , exclude : [ '**/*.dart.md' ] } ) ;
@@ -191,11 +189,10 @@ function makeCjsTree() {
191189 } ;
192190
193191 // Add a .template extension since renderLodashTemplate strips one extension
194- var packageJsons = stew . rename ( new Funnel ( modulesTree , { include : [ '**/package.json' ] } ) , '.json' , '.json.template' ) ;
195- packageJsons = renderLodashTemplate ( packageJsons , {
196- files : [ "**/**" ] ,
197- context : { 'packageJson' : COMMON_PACKAGE_JSON }
198- } ) ;
192+ var packageJsons = stew . rename ( new Funnel ( modulesTree , { include : [ '**/package.json' ] } ) , '.json' ,
193+ '.json.template' ) ;
194+ packageJsons = renderLodashTemplate (
195+ packageJsons , { files : [ "**/**" ] , context : { 'packageJson' : COMMON_PACKAGE_JSON } } ) ;
199196
200197
201198 var typescriptTree = new TypescriptCompiler ( modulesTree , {
@@ -251,7 +248,7 @@ function makeDartTree() {
251248 return path . join . apply ( path , parts ) ;
252249 }
253250 }
254- throw new Error ( 'Failed to match any path' , relativePath ) ;
251+ throw new Error ( 'Failed to match any path: ' + relativePath ) ;
255252 } ) ;
256253
257254 // Move the tree under the 'dart' folder.
0 commit comments