Skip to content

Commit 109a757

Browse files
committed
Fixed the damn ember-cli-qunit build
1 parent c1325b0 commit 109a757

4 files changed

Lines changed: 178 additions & 14 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
npm-debug.log*
2020
yarn-error.log
2121
testem.log
22+
.vscode
2223

2324
# ember-try
2425
.node_modules.ember-try/

ember-cli-build.js

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,17 @@
1717
"author": "Ember Twiddle Contributors",
1818
"license": "MIT",
1919
"devDependencies": {
20+
"@ember/test-helpers": "~0.7.18",
2021
"babel-plugin-ember-modules-api-polyfill": "^2.3.0",
22+
"babel-preset-env": "^1.7.0",
2123
"babel-preset-es2017": "^6.24.1",
2224
"babel-standalone": "^6.26.0",
2325
"broccoli-asset-rev": "^2.4.5",
2426
"broccoli-babel-transpiler": "^6.1.4",
2527
"broccoli-concat": "^3.2.2",
2628
"broccoli-funnel": "^2.0.1",
2729
"broccoli-merge-trees": "^3.0.0",
30+
"broccoli-rollup": "^2.1.1",
2831
"browserify": "^16.2.0",
2932
"compare-versions": "^3.2.1",
3033
"dedent": "~0.7.0",
@@ -54,6 +57,7 @@
5457
"ember-cli-mirage": "~0.4.4",
5558
"ember-cli-moment-shim": "^2.2.1",
5659
"ember-cli-node-assets": "~0.2.2",
60+
"ember-cli-preprocess-registry": "^3.1.1",
5761
"ember-cli-qunit": "~4.3.0",
5862
"ember-cli-release": "1.0.0-beta.2",
5963
"ember-cli-sass": "^6.2.0",
@@ -84,6 +88,9 @@
8488
"moment": "^2.22.0",
8589
"moment-timezone": "~0.5.14",
8690
"path-browser": "^2.2.1",
91+
"rollup": "^0.60.7",
92+
"rollup-plugin-babel": "^3.0.4",
93+
"rollup-plugin-commonjs": "^9.1.3",
8794
"rollup-plugin-json": "^2.3.0",
8895
"rollup-plugin-node-builtins": "^2.1.2",
8996
"torii": "~0.10.1"

0 commit comments

Comments
 (0)