@@ -7,6 +7,7 @@ module.exports = function(defaults) {
77 const concat = require ( 'broccoli-concat' ) ;
88 const mergeTrees = require ( 'broccoli-merge-trees' ) ;
99 const babelTranspiler = require ( 'broccoli-babel-transpiler' ) ;
10+ const Rollup = require ( 'broccoli-rollup' ) ;
1011 const browserify = require ( 'browserify' ) ;
1112 const path = require ( 'path' ) ;
1213 const fs = require ( 'fs' ) ;
@@ -150,9 +151,42 @@ module.exports = function(defaults) {
150151 let transpiledInitializersTree = babelTranspiler ( baseInitializersTree , babelOpts ( ) ) ;
151152
152153 let finalTestHelpersTree = buildAddonTree ( 'ember-test-helpers' ) ;
153- console . log ( app . preprocessJs ) ;
154- let finalQUnitTree = buildAddonTree ( 'ember-qunit' , {
155- excludes : [ 'addon-test-support/ember-qunit/legacy-2-x/**/*.js' ]
154+
155+ let preprocessJs = app . registry . registry . js [ 0 ] . toTree ;
156+ let buildPreprocessedAddon = function ( addonName ) {
157+ return preprocessJs ( path . dirname ( require . resolve ( addonName ) ) + '/addon-test-support' , {
158+ registry : app . registry
159+ } ) ;
160+ } ;
161+ let qunitTree = buildPreprocessedAddon ( 'ember-qunit' ) ;
162+ let testHelpersTreeForQUnit = buildPreprocessedAddon ( '@ember/test-helpers' ) ;
163+ let testLoaderTreeForQUnit = funnel ( "node_modules/ember-cli-test-loader/addon-test-support" , {
164+ files : [ 'index.js' ] ,
165+ getDestinationPath : function ( ) {
166+ return "ember-cli-test-loader/test-support/index.js" ;
167+ }
168+ } ) ;
169+ testLoaderTreeForQUnit = new Rollup ( testLoaderTreeForQUnit , {
170+ rollup : {
171+ input : 'ember-cli-test-loader/test-support/index.js' ,
172+ output : {
173+ file : 'ember-cli-test-loader/test-support/index.js' ,
174+ format : 'es'
175+ } ,
176+ plugins : [
177+ require ( 'rollup-plugin-commonjs' ) ( ) ,
178+ // require('rollup-plugin-babel')({
179+ // babelrc: false,
180+ // modules: false,
181+ // externalHelpers: true
182+ // })
183+ ]
184+ }
185+ } ) ;
186+ testLoaderTreeForQUnit = babelTranspiler ( testLoaderTreeForQUnit , babelOpts ( ) ) ;
187+ let finalQUnitTree = concat ( mergeTrees ( [ qunitTree , testHelpersTreeForQUnit , testLoaderTreeForQUnit ] ) , {
188+ inputFiles : [ '**/*.js' ] ,
189+ outputFile : '/assets/ember-qunit.js'
156190 } ) ;
157191
158192 let mergedDepsTree = mergeTrees ( [ bowerTree , shimsTree , transpiledInitializersTree , transpiledResolverTree , emberDataShims ] ) ;
@@ -170,18 +204,15 @@ module.exports = function(defaults) {
170204 return app . toTree ( mergeTrees ( [ twiddleVendorTree , loaderTree , testLoaderTree , finalTestHelpersTree , finalQUnitTree ] ) ) ;
171205} ;
172206
173- function buildAddonTree ( addonName , options = { } ) {
207+ function buildAddonTree ( addonName ) {
174208 const funnel = require ( 'broccoli-funnel' ) ;
175209 const concat = require ( 'broccoli-concat' ) ;
176210 const babelTranspiler = require ( 'broccoli-babel-transpiler' ) ;
177211 const path = require ( 'path' ) ;
178212
179- let { excludes } = options ;
180- excludes = excludes || [ ] ;
181-
182213 let baseTree = funnel ( path . dirname ( require . resolve ( addonName ) ) , {
183214 include : [ '**/*.js' ] ,
184- exclude : [ 'index.js' , 'ember-cli-build.js' , 'testem.js' , 'lib/**/*.js' , 'config/**/*.js' , 'tests/**/*.js' ] . concat ( excludes )
215+ exclude : [ 'index.js' , 'ember-cli-build.js' , 'testem.js' , 'lib/**/*.js' , 'config/**/*.js' , 'tests/**/*.js' ]
185216 } ) ;
186217
187218 let transpiledTree = babelTranspiler ( baseTree , babelOpts ( ) ) ;
@@ -200,7 +231,8 @@ function babelOpts() {
200231 [ 'transform-es2015-modules-amd' , {
201232 loose : true ,
202233 noInterop : true
203- } ]
234+ } ] ,
235+ [ 'babel-plugin-ember-modules-api-polyfill' ]
204236 ]
205237 } ;
206238}
0 commit comments