Skip to content

Commit

Permalink
[BUGFIX lts] Updates based on feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Garrett committed Aug 9, 2019
1 parent c749bca commit 2ac757a
Show file tree
Hide file tree
Showing 19 changed files with 618 additions and 270 deletions.
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ jobs:
- yarn ember build
- yarn test:browserstack

- name: Development (All Tests + Canary Features)
- name: Development Prebuilt (All Tests + Canary Features)
env: TEST_SUITE=prebuilt
script:
- yarn ember build
- yarn test
Expand Down
18 changes: 13 additions & 5 deletions bin/run-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
'use strict';

const chalk = require('chalk');
const RSVP = require('rsvp');
const path = require('path');

const finalhandler = require('finalhandler');
Expand Down Expand Up @@ -55,7 +54,6 @@ function generateTestsFor(packageName) {
}

testFunctions.push(() => run('package=' + packageName));
testFunctions.push(() => run('package=' + packageName + '&dist=es'));
testFunctions.push(() => run('package=' + packageName + '&enableoptionalfeatures=true'));

// TODO: this should ultimately be deleted (when all packages can run with and
Expand Down Expand Up @@ -84,6 +82,11 @@ function generateStandardTests() {
testFunctions.push(() => run('enableoptionalfeatures=true'));
}

function generatePrebuiltTests() {
testFunctions.push(() => run('prebuilt=true'));
testFunctions.push(() => run('prebuilt=true&enableoptionalfeatures=true'));
}

function generateOldJQueryTests() {
testFunctions.push(() => run('jquery=1.10.2'));
testFunctions.push(() => run('jquery=1.12.4'));
Expand All @@ -97,14 +100,14 @@ function generateExtendPrototypeTests() {

function runInSequence(tasks) {
var length = tasks.length;
var current = RSVP.Promise.resolve();
var current = Promise.resolve();
var results = new Array(length);

for (var i = 0; i < length; ++i) {
current = results[i] = current.then(tasks[i]);
}

return RSVP.Promise.all(results);
return Promise.all(results);
}

function runAndExit() {
Expand All @@ -128,10 +131,15 @@ switch (process.env.TEST_SUITE) {
runAndExit();
break;
case 'each-package':
console.log('suite: optional-features');
console.log('suite: each-package');
generateEachPackageTests();
runAndExit();
break;
case 'prebuilt':
console.log('suite: prebuilt');
generatePrebuiltTests()
runAndExit();
break;
case 'old-jquery-and-extend-prototypes':
console.log('suite: old-jquery-and-extend-prototypes');
generateOldJQueryTests();
Expand Down
5 changes: 5 additions & 0 deletions broccoli/canary-features.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ module.exports = function canaryFeatures(tree) {
},
'debug-macros:canary-flags',
],

// These plugins are necessary for being able to run test code through this
// transform, since some tests use decorators and class fields
['@babel/plugin-proposal-decorators', { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
];

return new Babel(tree, { plugins });
Expand Down
12 changes: 0 additions & 12 deletions broccoli/debug-macros.js

This file was deleted.

27 changes: 15 additions & 12 deletions broccoli/packages.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ const WriteFile = require('broccoli-file-creator');
const StringReplace = require('broccoli-string-replace');
const GlimmerTemplatePrecompiler = require('./glimmer-template-compiler');
const VERSION_PLACEHOLDER = /VERSION_STRING_PLACEHOLDER/g;
const transfromBabelPlugins = require('./transforms/transform-babel-plugins');
const canaryFeatures = require('./canary-features');
const injectNodeGlobals = require('./transforms/inject-node-globals');

Expand All @@ -37,6 +36,14 @@ module.exports.routerES = function _routerES() {
});
};

module.exports.jquery = function _jquery() {
return new Funnel(findLib('jquery'), {
files: ['jquery.js'],
destDir: 'jquery',
annotation: 'jquery',
});
};

module.exports.internalLoader = function _internalLoader() {
return new Funnel('packages/loader/lib', {
files: ['index.js'],
Expand Down Expand Up @@ -74,16 +81,12 @@ module.exports.getPackagesES = function getPackagesES() {
`get-packages-es:templates-output`
);

let nonTypeScriptContents = new Funnel(debuggedCompiledTemplatesAndTypeScript, {
srcDir: 'packages',
exclude: ['**/*.ts'],
});

// tsc / typescript handles decorators and class properties on its own
// so for non ts, transpile the proposal features (decorators, etc)
let transpiledProposals = debugTree(
transfromBabelPlugins(debugTree(nonTypeScriptContents, `get-packages-es:babel-plugins:input`)),
`get-packages-es:babel-plugins:output`
let nonTypeScriptContents = debugTree(
new Funnel(debuggedCompiledTemplatesAndTypeScript, {
srcDir: 'packages',
exclude: ['**/*.ts'],
}),
'get-packages-es:js:output'
);

let typescriptContents = new Funnel(debuggedCompiledTemplatesAndTypeScript, {
Expand All @@ -98,7 +101,7 @@ module.exports.getPackagesES = function getPackagesES() {

let debuggedCompiledTypescript = debugTree(typescriptCompiled, `get-packages-es:ts:output`);

let mergedFinalOutput = new MergeTrees([transpiledProposals, debuggedCompiledTypescript], {
let mergedFinalOutput = new MergeTrees([nonTypeScriptContents, debuggedCompiledTypescript], {
overwrite: true,
});

Expand Down
15 changes: 0 additions & 15 deletions broccoli/rename.js

This file was deleted.

1 change: 0 additions & 1 deletion broccoli/test-index-html.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ const FEATURES = require('./features');
module.exports = function testIndexHTML() {
let index = new Funnel('tests', {
files: ['index.html'],
destDir: 'tests',
annotation: 'tests/index.html',
});
index = new StringReplace(index, {
Expand Down
33 changes: 0 additions & 33 deletions broccoli/to-es5.js

This file was deleted.

29 changes: 0 additions & 29 deletions broccoli/to-named-amd.js

This file was deleted.

13 changes: 0 additions & 13 deletions broccoli/transforms/test-babel-plugins.js

This file was deleted.

13 changes: 0 additions & 13 deletions broccoli/transforms/transform-babel-plugins.js

This file was deleted.

18 changes: 18 additions & 0 deletions config/browserlists.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const allSupportedBrowsers = [
'last 2 Chrome versions',
'last 2 Firefox versions',
'last 2 Safari versions',
'last 2 Edge versions',
'ie 11',
];

const modernBrowsers = [
'last 1 Chrome versions',
'last 1 Firefox versions',
'last 1 Safari versions',
];

module.exports = {
allSupportedBrowsers,
modernBrowsers,
};
8 changes: 8 additions & 0 deletions config/targets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';
const { allSupportedBrowsers, modernBrowsers } = require('./browserlists');

const isProduction = process.env.EMBER_ENV === 'production';

module.exports = {
browsers: isProduction ? allSupportedBrowsers : modernBrowsers,
};
Loading

0 comments on commit 2ac757a

Please sign in to comment.