diff --git a/.gitignore b/.gitignore index c5b4b068..f964e248 100644 --- a/.gitignore +++ b/.gitignore @@ -14,5 +14,10 @@ /coverage/* /libpeerconnection.log npm-debug.log* +yarn-error.log testem.log -.idea \ No newline at end of file +.idea +# ember-try +.node_modules.ember-try/ +bower.json.ember-try +package.json.ember-try diff --git a/.travis.yml b/.travis.yml index 72f90c97..855a1846 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,9 @@ --- 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 @@ -10,9 +12,11 @@ cache: - $HOME/.npm env: - # we recommend testing LTS's and latest stable release (bonus points to beta/canary) + # 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.4 - 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 @@ -25,6 +29,8 @@ matrix: before_install: - npm config set spin false + - npm install -g npm@4 + - npm --version - npm install -g phantomjs-prebuilt - phantomjs --version @@ -34,4 +40,4 @@ install: script: # Usually, it's ok to finish the test scenario without reverting # to the addon's original dependency state, skipping "cleanup". - - node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO test --skip-cleanup + - node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO --skip-cleanup diff --git a/config/ember-try.js b/config/ember-try.js index a0701243..3dc3c67a 100644 --- a/config/ember-try.js +++ b/config/ember-try.js @@ -33,6 +33,14 @@ module.exports = { } } }, + { + name: 'ember-lts-2.12', + npm: { + devDependencies: { + 'ember-source': '~2.12.0' + } + } + }, { name: 'ember-release', bower: { diff --git a/ember-cli-build.js b/ember-cli-build.js index 5e6f0370..156e23fa 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -1,8 +1,10 @@ /* eslint-env node */ +'use strict'; + const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); module.exports = function(defaults) { - var app = new EmberAddon(defaults, { + let app = new EmberAddon(defaults, { // Add options here }); diff --git a/package.json b/package.json index 90a8f247..146f4532 100644 --- a/package.json +++ b/package.json @@ -18,16 +18,16 @@ "test": "ember try:each" }, "dependencies": { - "ember-cli-babel": "^6.0.0", - "ember-cli-htmlbars": "^1.1.1" + "ember-cli-babel": "^6.8.1", + "ember-cli-htmlbars": "^2.0.1" }, "devDependencies": { "broccoli-asset-rev": "^2.4.5", "ember-ajax": "^3.0.0", - "ember-cli": "2.13.1", + "ember-cli": "~2.14.2", "ember-cli-dependency-checker": "^1.3.0", "ember-cli-eslint": "^3.0.0", - "ember-cli-htmlbars-inline-precompile": "^0.4.0", + "ember-cli-htmlbars-inline-precompile": "^0.4.3", "ember-cli-inject-live-reload": "^1.4.1", "ember-cli-mirage": "0.3.1", "ember-cli-qunit": "^4.0.0", @@ -35,20 +35,20 @@ "ember-cli-sri": "^2.1.0", "ember-cli-uglify": "^1.2.0", "ember-data": "^2.13.0", - "ember-disable-prototype-extensions": "^1.1.0", + "ember-disable-prototype-extensions": "^1.1.2", "ember-export-application-global": "^2.0.0", "ember-inflector": "^2.0.0", "ember-load-initializers": "^1.0.0", "ember-resolver": "^4.0.0", - "ember-source": "^2.13.0", + "ember-source": "~2.14.1", "ember-to-string": "^1.0.2", "loader.js": "^4.2.3" }, "engines": { - "node": ">= 4" + "node": "^4.5 || 6.* || >= 7.*" }, "ember-addon": { "demoURL": "http://onechiporenko.github.io/ember-models-table/", "configPath": "tests/dummy/config" } -} \ No newline at end of file +} diff --git a/testem.js b/testem.js index b2340483..f4135163 100644 --- a/testem.js +++ b/testem.js @@ -1,12 +1,12 @@ /* eslint-env node */ module.exports = { - "test_page": "tests/index.html?hidepassed", - "disable_watching": true, - "launch_in_ci": [ - "PhantomJS" + test_page: 'tests/index.html?hidepassed', + disable_watching: true, + launch_in_ci: [ + 'PhantomJS' ], - "launch_in_dev": [ - "PhantomJS", - "Chrome" + launch_in_dev: [ + 'PhantomJS', + 'Chrome' ] }; diff --git a/tests/dummy/app/app.js b/tests/dummy/app/app.js index 831ad610..c15f9359 100644 --- a/tests/dummy/app/app.js +++ b/tests/dummy/app/app.js @@ -3,11 +3,7 @@ import Resolver from './resolver'; import loadInitializers from 'ember-load-initializers'; import config from './config/environment'; -let App; - -Ember.MODEL_FACTORY_INJECTIONS = true; - -App = Ember.Application.extend({ +const App = Ember.Application.extend({ modulePrefix: config.modulePrefix, podModulePrefix: config.podModulePrefix, Resolver diff --git a/tests/dummy/config/environment.js b/tests/dummy/config/environment.js index 100a594d..aa598b8a 100644 --- a/tests/dummy/config/environment.js +++ b/tests/dummy/config/environment.js @@ -1,9 +1,10 @@ /* eslint-env node */ +'use strict'; module.exports = function(environment) { - var ENV = { + let ENV = { modulePrefix: 'dummy', - environment: environment, + environment, rootURL: '/', locationType: 'hash', EmberENV: { diff --git a/tests/dummy/config/targets.js b/tests/dummy/config/targets.js index 2bebfaca..df7664c2 100644 --- a/tests/dummy/config/targets.js +++ b/tests/dummy/config/targets.js @@ -1,5 +1,4 @@ /* eslint-env node */ - module.exports = { browsers: [ 'ie 9', diff --git a/tests/helpers/module-for-acceptance.js b/tests/helpers/module-for-acceptance.js index 76996fd0..5a1a583a 100644 --- a/tests/helpers/module-for-acceptance.js +++ b/tests/helpers/module-for-acceptance.js @@ -3,7 +3,7 @@ import Ember from 'ember'; import startApp from '../helpers/start-app'; import destroyApp from '../helpers/destroy-app'; -const { RSVP: { Promise } } = Ember; +const { RSVP: { resolve } } = Ember; export default function(name, options = {}) { module(name, { @@ -17,7 +17,7 @@ export default function(name, options = {}) { afterEach() { let afterEach = options.afterEach && options.afterEach.apply(this, arguments); - return Promise.resolve(afterEach).then(() => destroyApp(this.application)); + return resolve(afterEach).then(() => destroyApp(this.application)); } }); }