@@ -7,7 +7,7 @@ var removeFile = require('broccoli-file-remover');
7
7
var transpileES6 = require ( 'broccoli-es6-module-transpiler' ) ;
8
8
var jsHint = require ( 'broccoli-jshint' ) ;
9
9
var handlebarsInlinedTrees = require ( './build-support/handlebars-inliner' ) ;
10
- var getVersion = require ( 'git-repo-version' ) ;
10
+ var gitVersion = require ( 'git-repo-version' ) ;
11
11
12
12
var packages = require ( './packages' ) ;
13
13
@@ -18,11 +18,11 @@ var demos = new Funnel('demos', {
18
18
destDir : '/demos'
19
19
} ) ;
20
20
21
- var ES6Tokenizer = new Funnel ( bower + '/simple-html-tokenizer/lib/' ) ;
21
+ var ES6Tokenizer = new Funnel ( bower + '/simple-html-tokenizer/lib/' ) ;
22
22
dependableTrees [ 'simple-html-tokenizer' ] = ES6Tokenizer ;
23
23
24
24
var npm = 'node_modules' ;
25
- var MorphRange = new Funnel ( npm + '/morph-range/lib/' ) ;
25
+ var MorphRange = new Funnel ( npm + '/morph-range/lib/' ) ;
26
26
dependableTrees [ 'morph-range' ] = MorphRange ;
27
27
28
28
dependableTrees [ 'syntax-handlebars-inliner' ] = handlebarsInlinedTrees . syntax ;
@@ -53,7 +53,7 @@ function getPackageTrees(packageName, dependencies) {
53
53
// main lib file
54
54
libTrees . push ( getPackageLibTree ( packageName ) ) ;
55
55
// dependencies of lib
56
- for ( var i = 0 ; i < ( dependencies . lib || [ ] ) . length ; i ++ ) {
56
+ for ( var i = 0 ; i < ( dependencies . lib || [ ] ) . length ; i ++ ) {
57
57
var depName = dependencies . lib [ i ] ;
58
58
libTrees . push ( getDependencyTree ( depName ) ) ;
59
59
}
@@ -65,7 +65,7 @@ function getPackageTrees(packageName, dependencies) {
65
65
destDir : '/' + packageName + '-tests'
66
66
} ) ) ;
67
67
// dependencies of tests
68
- for ( var i = 0 ; i < ( dependencies . test || [ ] ) . length ; i ++ ) {
68
+ for ( var i = 0 ; i < ( dependencies . test || [ ] ) . length ; i ++ ) {
69
69
var depName = dependencies . test [ i ] ;
70
70
testTrees . push ( getDependencyTree ( depName ) ) ;
71
71
}
@@ -78,12 +78,12 @@ function getPackageTrees(packageName, dependencies) {
78
78
79
79
var test = new Funnel ( 'tests' , {
80
80
srcDir : '/' ,
81
- files : [ 'index.html' , 'packages-config.js' ] ,
81
+ files : [ 'index.html' , 'packages-config.js' ] ,
82
82
destDir : '/tests'
83
83
} ) ;
84
84
85
85
test = replace ( test , {
86
- files : [ 'tests/packages-config.js' ] ,
86
+ files : [ 'tests/packages-config.js' ] ,
87
87
pattern : {
88
88
match : / \{ \{ P A C K A G E S _ C O N F I G \} \} / g,
89
89
replacement : JSON . stringify ( packages , null , 2 )
@@ -92,7 +92,7 @@ test = replace(test, {
92
92
93
93
var loader = new Funnel ( bower , {
94
94
srcDir : '/loader' ,
95
- files : [ 'loader.js' ] ,
95
+ files : [ 'loader.js' ] ,
96
96
destDir : '/assets'
97
97
} ) ;
98
98
@@ -103,7 +103,7 @@ var qunit = new Funnel(bower, {
103
103
104
104
var cliSauce = new Funnel ( './node_modules/ember-cli-sauce' , {
105
105
srcDir : '/vendor' ,
106
- files : [ 'export-test-results.js' ] ,
106
+ files : [ 'export-test-results.js' ] ,
107
107
destDir : '/tests'
108
108
} ) ;
109
109
@@ -137,8 +137,8 @@ for (var packageName in packages.dependencies) {
137
137
} ) ;
138
138
trees . push ( pickedCjsLib ) ;
139
139
var pickedCjsMain = new Funnel ( transpiledCjsLib , {
140
- srcDir : packageName + '.js' ,
141
- destDir : '/cjs/' + packageName + '.js'
140
+ srcDir : packageName + '.js' ,
141
+ destDir : '/cjs/' + packageName + '.js'
142
142
} ) ;
143
143
trees . push ( pickedCjsMain ) ;
144
144
@@ -148,7 +148,7 @@ for (var packageName in packages.dependencies) {
148
148
var jsHintLibTree = new Funnel ( libTree , {
149
149
include : [ new RegExp ( packageName ) , new RegExp ( packageName + '.+\.js$' ) ] ,
150
150
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/'
152
152
} ) ;
153
153
jsHintLibTree = removeFile ( jsHintLibTree , {
154
154
srcFile : 'htmlbars-runtime.js' // Uses ES6 `module` syntax. Breaks jsHint
@@ -167,16 +167,46 @@ for (var packageName in packages.dependencies) {
167
167
// CJS tests
168
168
var transpiledCjsTests = transpileES6 ( mergeTrees ( testTrees ) , { type : 'cjs' } ) ;
169
169
var movedCjsTests = new Funnel ( transpiledCjsTests , {
170
- srcDir : packageName + '-tests/' ,
171
- destDir : '/cjs/' + packageName + " -tests/"
170
+ srcDir : packageName + '-tests/' ,
171
+ destDir : '/cjs/' + packageName + ' -tests/'
172
172
} ) ;
173
173
trees . push ( movedCjsTests ) ;
174
174
}
175
175
176
- trees = replace ( mergeTrees ( trees , { overwrite : true } ) , {
177
- files : [ 'es6/htmlbars.js' , 'es6/htmlbars-compiler/template-compiler.js' , 'amd/htmlbars.js' , 'cjs/htmlbars.js' ] ,
176
+ // Bower
177
+ var generatedBowerConfig = new Funnel ( 'build-support' , {
178
+ srcDir : '/' ,
179
+ destDir : '/' ,
180
+ files : [ 'bower.json' ]
181
+ } ) ;
182
+ generatedBowerConfig = replace ( generatedBowerConfig , {
183
+ files : [ 'bower.json' ] ,
184
+ pattern : {
185
+ 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 / ,
186
+ replacement : function ( ) {
187
+ // remove leading `v` (since by default our tags use a `v` prefix)
188
+ return gitVersion ( ) . replace ( / ^ v / , '' ) ;
189
+ }
190
+ }
191
+ } ) ;
192
+ trees . push ( generatedBowerConfig ) ;
193
+
194
+ // Globals lib
195
+ var globalizedBuildSupport = new Funnel ( 'build-support' , {
196
+ srcDir : '/' ,
197
+ files : [ 'iife-start.js' , 'globalize.js' , 'iife-stop.js' ] ,
198
+ destDir : '/'
199
+ } ) ;
200
+ var globalsLib = concatFiles ( mergeTrees ( [ globalizedBuildSupport ] . concat ( trees ) , { overwrite : true } ) , {
201
+ inputFiles : [ 'iife-start.js' , 'assets/loader.js' , 'amd/htmlbars.amd.js' , 'globalize.js' , 'iife-stop.js' ] ,
202
+ outputFile : '/globals/htmlbars.js'
203
+ } ) ;
204
+ trees . push ( globalsLib ) ;
205
+
206
+ trees = replace ( mergeTrees ( trees , { overwrite : true } ) , {
207
+ files : [ 'es6/htmlbars.js' , 'es6/htmlbars-compiler/template-compiler.js' , 'amd/htmlbars.js' , 'cjs/htmlbars.js' ] ,
178
208
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 ( ) }
209
+ { 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 ( ) }
180
210
]
181
211
} ) ;
182
212
0 commit comments