Skip to content

Commit 7590a03

Browse files
authored
Merge pull request #644 from Gaurav0/ember_3_4
Support Ember 3.4
2 parents 38b2e8b + d6bf05b commit 7590a03

9 files changed

Lines changed: 161 additions & 138 deletions

File tree

app/services/dependency-resolver.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import compareVersions from 'compare-versions';
66

77
const { computed, deprecate, inject, RSVP, testing } = Ember;
88

9-
const EMBER_VERSIONS = ['3.2.2', '3.1.3', '3.0.0', '2.18.2', '2.17.2', '2.16.2', '2.15.3', '2.14.1', '2.13.0', '2.12.0'];
10-
const EMBER_DATA_VERSIONS = ['3.2.1', '3.1.1', '3.0.2', '2.18.2', '2.17.1', '2.16.4', '2.15.3', '2.14.10', '2.13.2', '2.12.2'];
9+
const EMBER_VERSIONS = ['3.4.3', '3.3.2', '3.2.2', '3.1.4', '3.0.0', '2.18.2', '2.17.2', '2.16.2', '2.15.3', '2.14.1', '2.13.0', '2.12.0'];
10+
const EMBER_DATA_VERSIONS = ['3.4.2', '3.3.2', '3.2.2', '3.1.2', '3.0.4', '2.18.5', '2.17.1', '2.16.4', '2.15.3', '2.14.10', '2.13.2', '2.12.2'];
1111

1212
const VERSION_REGEX = /^\d+.\d+.\d+(-beta\.\d+)?$/;
1313

blueprints/twiddle.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "0.15.0",
2+
"version": "0.15.1",
33
"EmberENV": {
44
"FEATURES": {}
55
},
@@ -9,11 +9,11 @@
99
},
1010
"dependencies": {
1111
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
12-
"ember": "3.2.2",
13-
"ember-template-compiler": "3.2.2",
14-
"ember-testing": "3.2.2"
12+
"ember": "3.4.3",
13+
"ember-template-compiler": "3.4.3",
14+
"ember-testing": "3.4.3"
1515
},
1616
"addons": {
17-
"ember-data": "3.2.1"
17+
"ember-data": "3.4.2"
1818
}
1919
}

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ember-twiddle",
3-
"version": "0.15.0",
3+
"version": "0.15.1",
44
"dependencies": {
55
"jquery": "1.11.3",
66
"bootstrap-sass": "~3.3.5",

ember-cli-build.js

Lines changed: 30 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ module.exports = function(defaults) {
99
const path = require('path');
1010
const fs = require('fs');
1111
const babelOpts = require('./lib/babel-opts');
12+
const buildQUnitTree = require('./lib/build-qunit-tree');
13+
const buildTwiddleVendorTree = require('./lib/build-twiddle-ember-tree');
1214

1315
const env = EmberApp.env();
1416
const deployTarget = process.env.DEPLOY_TARGET;
@@ -28,6 +30,9 @@ module.exports = function(defaults) {
2830
const blueprintsCode = require('./lib/get-ember-cli-blueprints')();
2931

3032
let app = new EmberApp(defaults, {
33+
vendorFiles: {
34+
'ember-testing.js': null
35+
},
3136
SRI: {
3237
runsIn: "production"
3338
},
@@ -37,6 +42,21 @@ module.exports = function(defaults) {
3742
extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg', 'eot', 'ttf', 'woff', 'woff2', 'ico'],
3843
exclude: []
3944
},
45+
sourcemaps: {
46+
enabled: !isProductionLikeBuild
47+
},
48+
minifyCSS: {
49+
enabled: isProductionLikeBuild
50+
},
51+
minifyJS: {
52+
enabled: isProductionLikeBuild,
53+
options: {
54+
// Fix for minification bug with Uglify & Babel: Babel depends on constructor.name === "Plugin"
55+
mangle: {
56+
except: ['Plugin']
57+
}
58+
}
59+
},
4060
codemirror: {
4161
modes: ['xml', 'javascript', 'handlebars', 'htmlmixed', 'css'],
4262
keyMaps: ['emacs', 'sublime', 'vim'],
@@ -62,21 +82,6 @@ module.exports = function(defaults) {
6282
import: ['babel-preset-env.js']
6383
}
6484
},
65-
sourcemaps: {
66-
enabled: !isProductionLikeBuild
67-
},
68-
minifyCSS: {
69-
enabled: isProductionLikeBuild
70-
},
71-
minifyJS: {
72-
enabled: isProductionLikeBuild,
73-
options: {
74-
// Fix for minification bug with Uglify & Babel: Babel depends on constructor.name === "Plugin"
75-
mangle: {
76-
except: ['Plugin']
77-
}
78-
}
79-
},
8085
'ember-cli-babel': {
8186
includePolyfill: !isFastboot
8287
},
@@ -95,6 +100,10 @@ module.exports = function(defaults) {
95100
}
96101

97102
app.import('vendor/ember/ember-template-compiler.js');
103+
app.import('vendor/ember/ember-testing.js', {
104+
type: 'vendor',
105+
outputFile: 'ember-testing.js'
106+
});
98107
app.import('vendor/shims/babel.js');
99108
app.import('vendor/shims/path.js');
100109
app.import('bower_components/file-saver/FileSaver.js');
@@ -135,98 +144,12 @@ module.exports = function(defaults) {
135144

136145
let twiddleVendorTree = buildTwiddleVendorTree();
137146

138-
return app.toTree(mergeTrees([twiddleVendorTree, loaderTree, testLoaderTree, finalQUnitTree]));
147+
return app.toTree(mergeTrees([
148+
twiddleVendorTree,
149+
loaderTree,
150+
testLoaderTree,
151+
finalQUnitTree
152+
]));
139153
};
140154

141-
function buildQUnitTree(app) {
142-
const funnel = require('broccoli-funnel');
143-
const concat = require('broccoli-concat');
144-
const mergeTrees = require('broccoli-merge-trees');
145-
const babelTranspiler = require('broccoli-babel-transpiler');
146-
const Rollup = require('broccoli-rollup');
147-
const path = require('path');
148-
const babelOpts = require('./lib/babel-opts');
149-
150-
let preprocessJs = app.registry.registry.js[0].toTree;
151-
152-
let buildPreprocessedAddon = function(addonName) {
153-
return preprocessJs(path.dirname(require.resolve(addonName)) + '/addon-test-support', {
154-
registry: app.registry
155-
});
156-
};
157-
158-
let qunitTree = buildPreprocessedAddon('ember-qunit');
159-
let testHelpersTreeForQUnit = buildPreprocessedAddon('@ember/test-helpers');
160-
161-
let testLoaderTreeForQUnit = funnel("node_modules/ember-cli-test-loader/addon-test-support", {
162-
files: ['index.js'],
163-
getDestinationPath: function() {
164-
return "ember-cli-test-loader/test-support/index.js";
165-
}
166-
});
167-
168-
testLoaderTreeForQUnit = new Rollup(testLoaderTreeForQUnit, {
169-
rollup: {
170-
input: 'ember-cli-test-loader/test-support/index.js',
171-
output: {
172-
file: 'ember-cli-test-loader/test-support/index.js',
173-
format: 'es'
174-
},
175-
plugins: [
176-
require('rollup-plugin-commonjs')()
177-
]
178-
}
179-
});
180-
181-
testLoaderTreeForQUnit = babelTranspiler(testLoaderTreeForQUnit, babelOpts());
182-
183-
let finalQUnitTree = concat(mergeTrees([qunitTree, testHelpersTreeForQUnit, testLoaderTreeForQUnit]), {
184-
inputFiles: ['**/*.js'],
185-
outputFile: '/assets/ember-qunit.js'
186-
});
187-
188-
return finalQUnitTree;
189-
}
190-
191-
function buildTwiddleVendorTree() {
192-
const funnel = require('broccoli-funnel');
193-
const concat = require('broccoli-concat');
194-
const mergeTrees = require('broccoli-merge-trees');
195-
const babelTranspiler = require('broccoli-babel-transpiler');
196-
const babelOpts = require('./lib/babel-opts');
197-
198-
let emberDataShims = funnel('vendor', {
199-
files: ['ember-data-shims.js']
200-
});
201-
202-
let bowerTree = funnel('bower_components');
203-
let shimsTree = funnel('node_modules/ember-cli-shims/vendor/ember-cli-shims' , {
204-
destDir: 'ember-cli-shims'
205-
});
206-
207-
let baseResolverTree = funnel('node_modules/ember-resolver/addon', {
208-
destDir: 'ember-resolver'
209-
});
210-
211-
let transpiledResolverTree = babelTranspiler(baseResolverTree, babelOpts());
212-
213-
let baseInitializersTree = funnel('node_modules/ember-load-initializers/addon', {
214-
destDir: 'ember-load-initializers'
215-
});
216-
217-
let transpiledInitializersTree = babelTranspiler(baseInitializersTree, babelOpts());
218-
219-
let mergedDepsTree = mergeTrees([bowerTree, shimsTree, transpiledInitializersTree, transpiledResolverTree, emberDataShims]);
220-
221-
let twiddleVendorTree = concat(mergedDepsTree, {
222-
inputFiles: [
223-
'ember-cli-shims/app-shims.js',
224-
'ember-load-initializers/**/*.js',
225-
'ember-resolver/**/*.js',
226-
'ember-data-shims.js'
227-
],
228-
outputFile: '/assets/twiddle-deps.js'
229-
});
230155

231-
return twiddleVendorTree;
232-
}

lib/build-qunit-tree.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/* global require, module */
2+
3+
function buildQUnitTree(app) {
4+
const funnel = require('broccoli-funnel');
5+
const concat = require('broccoli-concat');
6+
const mergeTrees = require('broccoli-merge-trees');
7+
const babelTranspiler = require('broccoli-babel-transpiler');
8+
const Rollup = require('broccoli-rollup');
9+
const path = require('path');
10+
const babelOpts = require('./babel-opts');
11+
12+
let preprocessJs = app.registry.registry.js[0].toTree;
13+
14+
let buildPreprocessedAddon = function(addonName) {
15+
return preprocessJs(path.dirname(require.resolve(addonName)) + '/addon-test-support', {
16+
registry: app.registry
17+
});
18+
};
19+
20+
let qunitTree = buildPreprocessedAddon('ember-qunit');
21+
let testHelpersTreeForQUnit = buildPreprocessedAddon('@ember/test-helpers');
22+
23+
let testLoaderTreeForQUnit = funnel("node_modules/ember-cli-test-loader/addon-test-support", {
24+
files: ['index.js'],
25+
getDestinationPath: function() {
26+
return "ember-cli-test-loader/test-support/index.js";
27+
}
28+
});
29+
30+
testLoaderTreeForQUnit = new Rollup(testLoaderTreeForQUnit, {
31+
rollup: {
32+
input: 'ember-cli-test-loader/test-support/index.js',
33+
output: {
34+
file: 'ember-cli-test-loader/test-support/index.js',
35+
format: 'es'
36+
},
37+
plugins: [
38+
require('rollup-plugin-commonjs')()
39+
]
40+
}
41+
});
42+
43+
testLoaderTreeForQUnit = babelTranspiler(testLoaderTreeForQUnit, babelOpts());
44+
45+
let finalQUnitTree = concat(mergeTrees([qunitTree, testHelpersTreeForQUnit, testLoaderTreeForQUnit]), {
46+
inputFiles: ['**/*.js'],
47+
outputFile: '/assets/ember-qunit.js'
48+
});
49+
50+
return finalQUnitTree;
51+
}
52+
53+
module.exports = buildQUnitTree;

lib/build-twiddle-ember-tree.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/* global require, module */
2+
3+
function buildTwiddleVendorTree() {
4+
const funnel = require('broccoli-funnel');
5+
const concat = require('broccoli-concat');
6+
const mergeTrees = require('broccoli-merge-trees');
7+
const babelTranspiler = require('broccoli-babel-transpiler');
8+
const babelOpts = require('./babel-opts');
9+
10+
let emberDataShims = funnel('vendor', {
11+
files: ['ember-data-shims.js']
12+
});
13+
14+
let bowerTree = funnel('bower_components');
15+
let shimsTree = funnel('node_modules/ember-cli-shims/vendor/ember-cli-shims' , {
16+
destDir: 'ember-cli-shims'
17+
});
18+
19+
let baseResolverTree = funnel('node_modules/ember-resolver/addon', {
20+
destDir: 'ember-resolver'
21+
});
22+
23+
let transpiledResolverTree = babelTranspiler(baseResolverTree, babelOpts());
24+
25+
let baseInitializersTree = funnel('node_modules/ember-load-initializers/addon', {
26+
destDir: 'ember-load-initializers'
27+
});
28+
29+
let transpiledInitializersTree = babelTranspiler(baseInitializersTree, babelOpts());
30+
31+
let mergedDepsTree = mergeTrees([bowerTree, shimsTree, transpiledInitializersTree, transpiledResolverTree, emberDataShims]);
32+
33+
let twiddleVendorTree = concat(mergedDepsTree, {
34+
inputFiles: [
35+
'ember-cli-shims/app-shims.js',
36+
'ember-load-initializers/**/*.js',
37+
'ember-resolver/**/*.js',
38+
'ember-data-shims.js'
39+
],
40+
outputFile: '/assets/twiddle-deps.js'
41+
});
42+
43+
return twiddleVendorTree;
44+
}
45+
46+
module.exports = buildTwiddleVendorTree;

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ember-twiddle",
3-
"version": "0.15.0",
3+
"version": "0.15.1",
44
"description": "https://ember-twiddle.com",
55
"private": true,
66
"directories": {
@@ -55,7 +55,7 @@
5555
"ember-cli-jstree": "^1.0.12",
5656
"ember-cli-legacy-blueprints": "~0.2.1",
5757
"ember-cli-mirage": "~0.4.9",
58-
"ember-cli-moment-shim": "^2.2.1",
58+
"ember-cli-moment-shim": "^3.7.1",
5959
"ember-cli-node-assets": "~0.2.2",
6060
"ember-cli-preprocess-registry": "^3.1.1",
6161
"ember-cli-qunit": "~4.3.0",
@@ -82,7 +82,6 @@
8282
"ember-rfc176-data": "~0.3.2",
8383
"ember-route-action-helper": "^2.0.6",
8484
"ember-source": "~2.18.0",
85-
"ember-test-helpers": "~0.6.3",
8685
"eslint-plugin-ember": "^5.1.0",
8786
"ivy-codemirror": "^2.1.0",
8887
"loader.js": "^4.7.0",

tests/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
<script src="{{rootURL}}testem.js" integrity=""></script>
2828
<script src="{{rootURL}}assets/vendor.js"></script>
29+
<script src="{{rootURL}}assets/ember-testing.js"></script>
2930
<script src="{{rootURL}}assets/test-support.js"></script>
3031
<script src="{{rootURL}}assets/ember-twiddle.js"></script>
3132
<script src="{{rootURL}}assets/tests.js"></script>

0 commit comments

Comments
 (0)