From df8cafdd347298e837c74110547bec2a0c8b22fb Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 00:37:31 -0400 Subject: [PATCH 01/14] Change Travis to use Trusty --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 87e19d6..d018bbc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ --- -dist: precise +dist: trusty language: node_js node_js: - "6" From 5cafae59e32b0111616edfcb69480cbd7abbbd87 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 00:54:43 -0400 Subject: [PATCH 02/14] Add output of path to yarn --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index d018bbc..e586e41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,7 @@ before_install: - bower --version - npm install -g phantomjs-prebuilt - phantomjs --version + - which yarn install: - npm install From 7bb464768516ed625fe988907ba013515c81f292 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 01:04:31 -0400 Subject: [PATCH 03/14] Add command to remove yarn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Surely this won’t work. Better to add something to the path? --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e586e41..2138dbb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ before_install: - bower --version - npm install -g phantomjs-prebuilt - phantomjs --version - - which yarn + - rm /usr/local/bin/yarn install: - npm install From 8e5813bf474e9082dc71cc784e5f3dfc99c030f1 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 01:09:18 -0400 Subject: [PATCH 04/14] Add a fake yarn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Will _this_ work? 🤔 --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2138dbb..55aa0d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,9 @@ before_install: - bower --version - npm install -g phantomjs-prebuilt - phantomjs --version - - rm /usr/local/bin/yarn + - echo $PATH + - echo "echo fakeyarn" >> yarn + - export PATH=.:$PATH install: - npm install From 5df3d7c6dda20eb38907d0fdd8d10bc46abe1979 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 01:15:28 -0400 Subject: [PATCH 05/14] Move path echoing --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 55aa0d0..564ebe9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,9 +30,9 @@ before_install: - bower --version - npm install -g phantomjs-prebuilt - phantomjs --version - - echo $PATH - echo "echo fakeyarn" >> yarn - export PATH=.:$PATH + - echo $PATH install: - npm install From b47f2efa1001ad50666ce3ba5d89d03fd7361c37 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 01:16:34 -0400 Subject: [PATCH 06/14] Make yarn executable --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 564ebe9..dcf3333 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,6 +31,7 @@ before_install: - npm install -g phantomjs-prebuilt - phantomjs --version - echo "echo fakeyarn" >> yarn + - chmod a+x yarn - export PATH=.:$PATH - echo $PATH From d874464c59461a406cea81fbf1242bc195669ecc Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 27 Jul 2017 01:34:53 -0400 Subject: [PATCH 07/14] Change to older ember-try MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Will this override the Ember CLI one? 🤔 --- package.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 3e83606..16fb35f 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "CouchDB" ], "engines": { - "node": ">= 0.10.0" + "node": "^4.5 || 6.* || >= 7.*" }, "author": "Nolan Lawson", "license": "Apache-2.0", @@ -54,6 +54,7 @@ "ember-load-initializers": "^1.0.0", "ember-resolver": "^4.0.0", "ember-source": "~2.14.1", + "ember-try": "0.2.11", "loader.js": "^4.2.3" }, "dependencies": { @@ -62,9 +63,6 @@ "relational-pouch": "^1.4.5", "ember-cli-babel": "^6.3.0" }, - "engines": { - "node": "^4.5 || 6.* || >= 7.*" - }, "ember-addon": { "configPath": "tests/dummy/config" } From 1bfa3228df0e97d8a9f0c63cd56dc0b53943c624 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:00:30 -0600 Subject: [PATCH 08/14] Remove weird ember-try/yarn workaround --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b0019c9..41b8edb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,10 +31,6 @@ before_install: - bower --version - npm install -g phantomjs-prebuilt - phantomjs --version - - echo "echo fakeyarn" >> yarn - - chmod a+x yarn - - export PATH=.:$PATH - - echo $PATH install: - npm install From 631b492a52dd25b684f962aaf4f89c9430e6dcdb Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:17:33 -0600 Subject: [PATCH 09/14] Remove ember-try version override --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 9af4b1e..d5d3f1a 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,6 @@ "ember-load-initializers": "^1.0.0", "ember-resolver": "^4.0.0", "ember-source": "~2.14.1", - "ember-try": "0.2.11", "loader.js": "^4.2.3" }, "dependencies": { From ac549a5d88ef3f02f6f3f103dee720db38d5d4fb Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:20:29 -0600 Subject: [PATCH 10/14] Update Ember CLI and associated projects --- .travis.yml | 41 ++++++++++++++------------ package.json | 13 ++++---- testem.js | 16 ++++++++-- tests/dummy/app/app.js | 4 +-- tests/dummy/app/index.html | 4 +-- tests/dummy/app/router.js | 4 +-- tests/dummy/config/environment.js | 2 +- tests/helpers/destroy-app.js | 4 +-- tests/helpers/module-for-acceptance.js | 4 +-- tests/helpers/start-app.js | 9 +++--- 10 files changed, 56 insertions(+), 45 deletions(-) diff --git a/.travis.yml b/.travis.yml index 41b8edb..ac366b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,33 @@ --- -dist: trusty language: node_js node_js: - - "6" + # we recommend testing addons with the same minimum supported node version as Ember CLI + # so that your addon works for all apps + - "4" sudo: false +dist: trusty + +addons: + chrome: stable cache: directories: - $HOME/.npm env: - - EMBER_TRY_SCENARIO=ember-2.4-stack - - EMBER_TRY_SCENARIO=ember-lts-2.8 - - EMBER_TRY_SCENARIO=ember-2.10-stack - - EMBER_TRY_SCENARIO=ember-lts-2.12 - - EMBER_TRY_SCENARIO=ember-2.14-stack - - EMBER_TRY_SCENARIO=ember-release - - EMBER_TRY_SCENARIO=ember-beta -# - EMBER_TRY_SCENARIO=ember-canary + global: + # See https://git.io/vdao3 for details. + - JOBS=1 + matrix: + # we recommend new addons test the current and previous LTS + # as well as latest stable release (bonus points to beta/canary) + - EMBER_TRY_SCENARIO=ember-lts-2.8 + - EMBER_TRY_SCENARIO=ember-lts-2.12 + - EMBER_TRY_SCENARIO=ember-release + - EMBER_TRY_SCENARIO=ember-beta + - EMBER_TRY_SCENARIO=ember-canary + - EMBER_TRY_SCENARIO=ember-default matrix: fast_finish: true @@ -27,16 +36,10 @@ matrix: before_install: - npm config set spin false - - npm install -g bower - - bower --version - - npm install -g phantomjs-prebuilt - - phantomjs --version - -install: - - npm install - - bower install + - npm install -g npm@4 + - npm --version script: # Usually, it's ok to finish the test scenario without reverting # to the addon's original dependency state, skipping "cleanup". - - ember try:one $EMBER_TRY_SCENARIO test --skip-cleanup + - node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO --skip-cleanup diff --git a/package.json b/package.json index d5d3f1a..2590198 100644 --- a/package.json +++ b/package.json @@ -34,18 +34,17 @@ "devDependencies": { "broccoli-asset-rev": "^2.4.5", "ember-ajax": "^3.0.0", - "ember-cli": "~2.14.1", + "ember-cli": "~2.16.2", "ember-cli-app-version": "^1.0.0", - "ember-cli-dependency-checker": "^1.3.0", - "ember-cli-eslint": "^3.0.0", + "ember-cli-dependency-checker": "^2.0.0", + "ember-cli-eslint": "^4.0.0", "ember-cli-htmlbars": "^2.0.1", - "ember-cli-htmlbars-inline-precompile": "^0.4.3", + "ember-cli-htmlbars-inline-precompile": "^1.0.0", "ember-cli-inject-live-reload": "^1.4.1", "ember-cli-qunit": "^4.0.0", "ember-cli-release": "^0.2.9", "ember-cli-shims": "^1.1.0", "ember-cli-sri": "^2.1.0", - "ember-cli-test-loader": "^1.1.0", "ember-cli-uglify": "^1.2.0", "ember-data": "2.14.10", "ember-disable-prototype-extensions": "^1.1.2", @@ -53,14 +52,14 @@ "ember-inflector": "^2.0.0", "ember-load-initializers": "^1.0.0", "ember-resolver": "^4.0.0", - "ember-source": "~2.14.1", + "ember-source": "~2.16.0", "loader.js": "^4.2.3" }, "dependencies": { "broccoli-stew": "^1.3.1", "pouchdb": "^6.3.4", "relational-pouch": "^2.1.0", - "ember-cli-babel": "^6.3.0" + "ember-cli-babel": "^6.6.0" }, "ember-addon": { "configPath": "tests/dummy/config" diff --git a/testem.js b/testem.js index f413516..e79c22e 100644 --- a/testem.js +++ b/testem.js @@ -3,10 +3,20 @@ module.exports = { test_page: 'tests/index.html?hidepassed', disable_watching: true, launch_in_ci: [ - 'PhantomJS' + 'Chrome' ], launch_in_dev: [ - 'PhantomJS', 'Chrome' - ] + ], + browser_args: { + Chrome: { + mode: 'ci', + args: [ + '--disable-gpu', + '--headless', + '--remote-debugging-port=9222', + '--window-size=1440,900' + ] + }, + } }; diff --git a/tests/dummy/app/app.js b/tests/dummy/app/app.js index c15f935..b3b2bd6 100644 --- a/tests/dummy/app/app.js +++ b/tests/dummy/app/app.js @@ -1,9 +1,9 @@ -import Ember from 'ember'; +import Application from '@ember/application'; import Resolver from './resolver'; import loadInitializers from 'ember-load-initializers'; import config from './config/environment'; -const App = Ember.Application.extend({ +const App = Application.extend({ modulePrefix: config.modulePrefix, podModulePrefix: config.podModulePrefix, Resolver diff --git a/tests/dummy/app/index.html b/tests/dummy/app/index.html index 5120bd7..61400b2 100644 --- a/tests/dummy/app/index.html +++ b/tests/dummy/app/index.html @@ -9,8 +9,8 @@ {{content-for "head"}} - - + + {{content-for "head-footer"}} diff --git a/tests/dummy/app/router.js b/tests/dummy/app/router.js index cdc2578..d0bb009 100644 --- a/tests/dummy/app/router.js +++ b/tests/dummy/app/router.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import EmberRouter from '@ember/routing/router'; import config from './config/environment'; -const Router = Ember.Router.extend({ +const Router = EmberRouter.extend({ location: config.locationType, rootURL: config.rootURL }); diff --git a/tests/dummy/config/environment.js b/tests/dummy/config/environment.js index ab71e09..127319f 100644 --- a/tests/dummy/config/environment.js +++ b/tests/dummy/config/environment.js @@ -46,7 +46,7 @@ module.exports = function(environment) { } if (environment === 'production') { - + // here you can enable a production-specific feature } return ENV; diff --git a/tests/helpers/destroy-app.js b/tests/helpers/destroy-app.js index c3d4d1a..e7f983b 100644 --- a/tests/helpers/destroy-app.js +++ b/tests/helpers/destroy-app.js @@ -1,5 +1,5 @@ -import Ember from 'ember'; +import { run } from '@ember/runloop'; export default function destroyApp(application) { - Ember.run(application, 'destroy'); + run(application, 'destroy'); } diff --git a/tests/helpers/module-for-acceptance.js b/tests/helpers/module-for-acceptance.js index 5a1a583..90a93ba 100644 --- a/tests/helpers/module-for-acceptance.js +++ b/tests/helpers/module-for-acceptance.js @@ -1,10 +1,8 @@ import { module } from 'qunit'; -import Ember from 'ember'; +import { resolve } from 'rsvp'; import startApp from '../helpers/start-app'; import destroyApp from '../helpers/destroy-app'; -const { RSVP: { resolve } } = Ember; - export default function(name, options = {}) { module(name, { beforeEach() { diff --git a/tests/helpers/start-app.js b/tests/helpers/start-app.js index 9a605eb..681aa01 100644 --- a/tests/helpers/start-app.js +++ b/tests/helpers/start-app.js @@ -1,12 +1,13 @@ -import Ember from 'ember'; import Application from '../../app'; import config from '../../config/environment'; +import { merge } from '@ember/polyfills'; +import { run } from '@ember/runloop'; export default function startApp(attrs) { - let attributes = Ember.merge({}, config.APP); - attributes = Ember.merge(attributes, attrs); // use defaults, but you can override; + let attributes = merge({}, config.APP); + attributes = merge(attributes, attrs); // use defaults, but you can override; - return Ember.run(() => { + return run(() => { let application = Application.create(attributes); application.setupForTesting(); application.injectTestHelpers(); From 6936712c963844d70165fb8973fbbb85b03085cc Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:23:09 -0600 Subject: [PATCH 11/14] Remove Phantom polyfill This is unnecessary since Phantom is abandoned for tests. --- bower.json | 6 ------ ember-cli-build.js | 3 --- 2 files changed, 9 deletions(-) delete mode 100644 bower.json diff --git a/bower.json b/bower.json deleted file mode 100644 index a4452ae..0000000 --- a/bower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ember-pouch", - "dependencies": { - "phantomjs-polyfill-object-assign": "chuckplantain/phantomjs-polyfill-object-assign" - } -} diff --git a/ember-cli-build.js b/ember-cli-build.js index 09febab..156e23f 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -14,9 +14,6 @@ module.exports = function(defaults) { This build file does *not* influence how the addon or the app using it behave. You most likely want to be modifying `./index.js` or app's build file */ - app.import('bower_components/phantomjs-polyfill-object-assign/object-assign-polyfill.js', { - type: 'test' - }); return app.toTree(); }; From d16fdf5d31e6933ede3611ad11b40a9a81ade6e6 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:30:06 -0600 Subject: [PATCH 12/14] Update Babel version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2590198..132af56 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "broccoli-stew": "^1.3.1", "pouchdb": "^6.3.4", "relational-pouch": "^2.1.0", - "ember-cli-babel": "^6.6.0" + "ember-cli-babel": "^6.7.1" }, "ember-addon": { "configPath": "tests/dummy/config" From 17893b97314983ed8c9ba44fafd6ae79aa924131 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:34:12 -0600 Subject: [PATCH 13/14] Return to previously-stated Node version --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index ac366b8..ef0d359 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,7 @@ --- language: node_js node_js: - # we recommend testing addons with the same minimum supported node version as Ember CLI - # so that your addon works for all apps - - "4" + - "6" sudo: false dist: trusty From 6700bf32f1fe56a8942e191ef77e00551f8874b2 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 6 Nov 2017 21:47:34 -0600 Subject: [PATCH 14/14] Replace ember-try configuration with default --- config/ember-try.js | 110 ++++++++++++++++++-------------------------- 1 file changed, 45 insertions(+), 65 deletions(-) diff --git a/config/ember-try.js b/config/ember-try.js index 6bc23cc..21f6079 100644 --- a/config/ember-try.js +++ b/config/ember-try.js @@ -2,102 +2,82 @@ module.exports = { scenarios: [ { - name: 'ember-2.4-stack', - npm: { - devDependencies: { - 'ember-data': '2.4.3', - 'ember-inflector': '^1.9.4', - 'ember-source': null, - 'ember-cli-shims': null - } - }, + name: 'ember-lts-2.8', bower: { dependencies: { - 'ember': '2.4.6', - "ember-cli-shims": "0.1.1" + 'ember': 'components/ember#lts-2-8' + }, + resolutions: { + 'ember': 'lts-2-8' } - } - }, - { - name: 'ember-lts-2.8', + }, npm: { devDependencies: { - 'ember-data': '2.8.1', - 'ember-inflector': '^1.9.4', - 'ember-source': null, - 'ember-cli-shims': null - } - }, - bower: { - dependencies: { - 'ember': '2.8.3', - "ember-cli-shims": "0.1.1" + 'ember-source': null } } }, { - name: 'ember-2.10-stack', + name: 'ember-lts-2.12', npm: { devDependencies: { - 'ember-data': '2.10.0', - 'ember-inflector': '^1.9.4', - 'ember-source': null, - 'ember-cli-shims': null - } - }, - bower: { - dependencies: { - 'ember': '2.10.2', - "ember-cli-shims": "0.1.1" + 'ember-source': '~2.12.0' } } }, { - name: 'ember-lts-2.12', + name: 'ember-release', + bower: { + dependencies: { + 'ember': 'components/ember#release' + }, + resolutions: { + 'ember': 'release' + } + }, npm: { devDependencies: { - 'ember-data': '2.12.2', - 'ember-inflector': '^1.9.4', - 'ember-source': '2.12.2', - 'ember-cli-shims': "^1.1.0" + 'ember-source': null } - }, + } }, { - name: 'ember-2.14-stack', + name: 'ember-beta', + bower: { + dependencies: { + 'ember': 'components/ember#beta' + }, + resolutions: { + 'ember': 'beta' + } + }, npm: { devDependencies: { - 'ember-data': '2.14.10', - 'ember-source': '2.14.1', + 'ember-source': null } - }, + } }, { - name: 'ember-release', + name: 'ember-canary', + bower: { + dependencies: { + 'ember': 'components/ember#canary' + }, + resolutions: { + 'ember': 'canary' + } + }, npm: { devDependencies: { - 'ember-data': 'latest', - 'ember-source': 'latest', - }, + 'ember-source': null + } } }, { - name: 'ember-beta', + name: 'ember-default', npm: { - devDependencies: { - 'ember-data': 'beta', - 'ember-source': 'beta', - }, + devDependencies: {} } - }, -// { -// name: 'ember-canary', -// npm: { -// devDependencies: { -// 'ember-data': 'components/ember-data#canary', -// 'ember-source': 'components/ember#canary', -// }, -// }, -// } + } ] };