@@ -7,7 +7,7 @@ var removeFile = require('broccoli-file-remover');
77var transpileES6 = require ( 'broccoli-es6-module-transpiler' ) ;
88var jsHint = require ( 'broccoli-jshint' ) ;
99var handlebarsInlinedTrees = require ( './build-support/handlebars-inliner' ) ;
10- var getVersion = require ( 'git-repo-version' ) ;
10+ var gitVersion = require ( 'git-repo-version' ) ;
1111
1212var packages = require ( './packages' ) ;
1313
@@ -18,11 +18,11 @@ var demos = new Funnel('demos', {
1818 destDir : '/demos'
1919} ) ;
2020
21- var ES6Tokenizer = new Funnel ( bower + '/simple-html-tokenizer/lib/' ) ;
21+ var ES6Tokenizer = new Funnel ( bower + '/simple-html-tokenizer/lib/' ) ;
2222dependableTrees [ 'simple-html-tokenizer' ] = ES6Tokenizer ;
2323
2424var npm = 'node_modules' ;
25- var MorphRange = new Funnel ( npm + '/morph-range/lib/' ) ;
25+ var MorphRange = new Funnel ( npm + '/morph-range/lib/' ) ;
2626dependableTrees [ 'morph-range' ] = MorphRange ;
2727
2828dependableTrees [ 'syntax-handlebars-inliner' ] = handlebarsInlinedTrees . syntax ;
@@ -53,7 +53,7 @@ function getPackageTrees(packageName, dependencies) {
5353 // main lib file
5454 libTrees . push ( getPackageLibTree ( packageName ) ) ;
5555 // dependencies of lib
56- for ( var i = 0 ; i < ( dependencies . lib || [ ] ) . length ; i ++ ) {
56+ for ( var i = 0 ; i < ( dependencies . lib || [ ] ) . length ; i ++ ) {
5757 var depName = dependencies . lib [ i ] ;
5858 libTrees . push ( getDependencyTree ( depName ) ) ;
5959 }
@@ -65,7 +65,7 @@ function getPackageTrees(packageName, dependencies) {
6565 destDir : '/' + packageName + '-tests'
6666 } ) ) ;
6767 // dependencies of tests
68- for ( var i = 0 ; i < ( dependencies . test || [ ] ) . length ; i ++ ) {
68+ for ( var i = 0 ; i < ( dependencies . test || [ ] ) . length ; i ++ ) {
6969 var depName = dependencies . test [ i ] ;
7070 testTrees . push ( getDependencyTree ( depName ) ) ;
7171 }
@@ -78,12 +78,12 @@ function getPackageTrees(packageName, dependencies) {
7878
7979var test = new Funnel ( 'tests' , {
8080 srcDir : '/' ,
81- files : [ 'index.html' , 'packages-config.js' ] ,
81+ files : [ 'index.html' , 'packages-config.js' ] ,
8282 destDir : '/tests'
8383} ) ;
8484
8585test = replace ( test , {
86- files : [ 'tests/packages-config.js' ] ,
86+ files : [ 'tests/packages-config.js' ] ,
8787 pattern : {
8888 match : / \{ \{ P A C K A G E S _ C O N F I G \} \} / g,
8989 replacement : JSON . stringify ( packages , null , 2 )
@@ -92,7 +92,7 @@ test = replace(test, {
9292
9393var loader = new Funnel ( bower , {
9494 srcDir : '/loader' ,
95- files : [ 'loader.js' ] ,
95+ files : [ 'loader.js' ] ,
9696 destDir : '/assets'
9797} ) ;
9898
@@ -103,7 +103,7 @@ var qunit = new Funnel(bower, {
103103
104104var cliSauce = new Funnel ( './node_modules/ember-cli-sauce' , {
105105 srcDir : '/vendor' ,
106- files : [ 'export-test-results.js' ] ,
106+ files : [ 'export-test-results.js' ] ,
107107 destDir : '/tests'
108108} ) ;
109109
@@ -137,8 +137,8 @@ for (var packageName in packages.dependencies) {
137137 } ) ;
138138 trees . push ( pickedCjsLib ) ;
139139 var pickedCjsMain = new Funnel ( transpiledCjsLib , {
140- srcDir : packageName + '.js' ,
141- destDir : '/cjs/' + packageName + '.js'
140+ srcDir : packageName + '.js' ,
141+ destDir : '/cjs/' + packageName + '.js'
142142 } ) ;
143143 trees . push ( pickedCjsMain ) ;
144144
@@ -148,7 +148,7 @@ for (var packageName in packages.dependencies) {
148148 var jsHintLibTree = new Funnel ( libTree , {
149149 include : [ new RegExp ( packageName ) , new RegExp ( packageName + '.+\.js$' ) ] ,
150150 exclude : [ / h t m l b a r s - ( s y n t a x | u t i l ) \/ h a n d l e b a r s / ] ,
151- destDir : packageName + '-tests/'
151+ destDir : packageName + '-tests/'
152152 } ) ;
153153 jsHintLibTree = removeFile ( jsHintLibTree , {
154154 srcFile : 'htmlbars-runtime.js' // Uses ES6 `module` syntax. Breaks jsHint
@@ -167,16 +167,48 @@ for (var packageName in packages.dependencies) {
167167 // CJS tests
168168 var transpiledCjsTests = transpileES6 ( mergeTrees ( testTrees ) , { type : 'cjs' } ) ;
169169 var movedCjsTests = new Funnel ( transpiledCjsTests , {
170- srcDir : packageName + '-tests/' ,
171- destDir : '/cjs/' + packageName + " -tests/"
170+ srcDir : packageName + '-tests/' ,
171+ destDir : '/cjs/' + packageName + ' -tests/'
172172 } ) ;
173173 trees . push ( movedCjsTests ) ;
174+
175+ console . log ( '>>>' , packageName ) ;
174176}
175177
176- trees = replace ( mergeTrees ( trees , { overwrite : true } ) , {
177- files : [ 'es6/htmlbars.js' , 'es6/htmlbars-compiler/template-compiler.js' , 'amd/htmlbars.js' , 'cjs/htmlbars.js' ] ,
178+ // Bower
179+ var generatedBowerConfig = new Funnel ( 'build-support' , {
180+ srcDir : '/' ,
181+ destDir : '/' ,
182+ files : [ 'bower.json' ]
183+ } ) ;
184+ generatedBowerConfig = replace ( generatedBowerConfig , {
185+ files : [ 'bower.json' ] ,
186+ pattern : {
187+ match : / B O W E R _ V E R S I O N _ S T R I N G _ P L A C E H O L D E R / ,
188+ replacement : function ( ) {
189+ // remove leading `v` (since by default our tags use a `v` prefix)
190+ return gitVersion ( ) . replace ( / ^ v / , '' ) ;
191+ }
192+ }
193+ } ) ;
194+ trees . push ( generatedBowerConfig ) ;
195+
196+ // Globals lib
197+ var globalizedBuildSupport = new Funnel ( 'build-support' , {
198+ srcDir : '/' ,
199+ files : [ 'iife-start.js' , 'globalize.js' , 'iife-stop.js' ] ,
200+ destDir : '/'
201+ } ) ;
202+ var globalsLib = concatFiles ( mergeTrees ( [ globalizedBuildSupport ] . concat ( trees ) , { overwrite : true } ) , {
203+ inputFiles : [ 'iife-start.js' , 'assets/loader.js' , 'amd/htmlbars.amd.js' , 'globalize.js' , 'iife-stop.js' ] ,
204+ outputFile : '/globals/htmlbars.js'
205+ } ) ;
206+ trees . push ( globalsLib ) ;
207+
208+ trees = replace ( mergeTrees ( trees , { overwrite : true } ) , {
209+ files : [ 'es6/htmlbars.js' , 'es6/htmlbars-compiler/template-compiler.js' , 'amd/htmlbars.js' , 'cjs/htmlbars.js' ] ,
178210 patterns : [
179- { match : / V E R S I O N _ S T R I N G _ P L A C E H O L D E R / g, replacement : getVersion ( ) }
211+ { match : / V E R S I O N _ S T R I N G _ P L A C E H O L D E R / g, replacement : gitVersion ( ) }
180212 ]
181213} ) ;
182214
0 commit comments