diff --git a/.editorconfig b/.editorconfig index 219985c..c35a002 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,7 +4,6 @@ root = true - [*] end_of_line = lf charset = utf-8 diff --git a/.eslintrc.js b/.eslintrc.js index c4b7c41..85a1900 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,5 @@ +'use strict'; + module.exports = { root: true, parser: 'babel-eslint', diff --git a/.travis.yml b/.travis.yml index a91f9c8..b93c3ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,9 +3,8 @@ 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 - - "8" + - "10" -sudo: false dist: trusty addons: @@ -27,7 +26,7 @@ branches: - /^v\d+\.\d+\.\d+/ jobs: - fail_fast: true + fast_finish: true allow_failures: - env: EMBER_TRY_SCENARIO=ember-canary @@ -49,8 +48,8 @@ jobs: # we recommend new addons test the current and previous LTS # as well as latest stable release (bonus points to beta/canary) - - env: EMBER_TRY_SCENARIO=ember-lts-3.8 - env: EMBER_TRY_SCENARIO=ember-lts-3.12 + - env: EMBER_TRY_SCENARIO=ember-lts-3.16 - env: EMBER_TRY_SCENARIO=ember-release - env: EMBER_TRY_SCENARIO=ember-beta - env: EMBER_TRY_SCENARIO=ember-canary diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9223f75..e83c0c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,4 +23,4 @@ * `ember serve` * Visit the dummy application at [http://localhost:4200](http://localhost:4200). -For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/). \ No newline at end of file +For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/). diff --git a/README.md b/README.md index a88c9a3..b50e329 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ ember-three Compatibility ------------------------------------------------------------------------------ -* Ember.js v3.8 or above +* Ember.js v3.12 or above * Ember CLI v2.13 or above -* Node.js v8 or above +* Node.js v10 or above Installation diff --git a/config/ember-try.js b/config/ember-try.js index fa7b925..98c6638 100644 --- a/config/ember-try.js +++ b/config/ember-try.js @@ -6,18 +6,18 @@ module.exports = async function() { return { scenarios: [ { - name: 'ember-lts-3.8', + name: 'ember-lts-3.12', npm: { devDependencies: { - 'ember-source': '~3.8.0' + 'ember-source': '~3.12.0' } } }, { - name: 'ember-lts-3.12', + name: 'ember-lts-3.16', npm: { devDependencies: { - 'ember-source': '~3.12.0' + 'ember-source': '~3.16.0' } } }, diff --git a/package-lock.json b/package-lock.json index 50f83ba..0e71972 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1457,6 +1457,16 @@ "simple-html-tokenizer": "^0.5.9" } }, + "@glimmer/tracking": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@glimmer/tracking/-/tracking-1.0.1.tgz", + "integrity": "sha512-Jt8rn4/6S6CObILaotYUT0lFWNPq1xJubXdU/9p6zxWtMrBXYJalVvI5hFYrCh/hG8Z/aLoERGnb2YRWtBSyzw==", + "dev": true, + "requires": { + "@glimmer/env": "^0.1.7", + "@glimmer/validator": "^0.44.0" + } + }, "@glimmer/util": { "version": "0.47.9", "resolved": "https://registry.npmjs.org/@glimmer/util/-/util-0.47.9.tgz", @@ -1467,6 +1477,12 @@ "@simple-dom/interface": "^1.4.0" } }, + "@glimmer/validator": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@glimmer/validator/-/validator-0.44.0.tgz", + "integrity": "sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==", + "dev": true + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -5212,18 +5228,18 @@ } }, "ember-cli": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.15.2.tgz", - "integrity": "sha512-ciuFaLokZDJfEzltH3QUxZYnQcigCzNrjyyVbeNtr3qUMICHZEzrreQjqIdmuOzmog+BOFddgAB2i/b7ewmV0Q==", + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.16.2.tgz", + "integrity": "sha512-x8czGIdRnS7bPRYY7PEhhVGakHTDGF1arKlgw8yBSch29hCuxmbMrxjQxEkvkTtQ8cb7a840N4eVyEujeYPQIw==", "dev": true, "requires": { - "@babel/core": "^7.7.2", - "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/core": "^7.7.7", + "@babel/plugin-transform-modules-amd": "^7.7.5", "amd-name-resolver": "^1.3.1", - "babel-plugin-module-resolver": "^3.2.0", + "babel-plugin-module-resolver": "^4.0.0", "bower-config": "^1.4.1", "bower-endpoint-parser": "0.2.2", - "broccoli": "^3.2.0", + "broccoli": "^3.3.3", "broccoli-amd-funnel": "^2.0.1", "broccoli-babel-transpiler": "^7.3.0", "broccoli-builder": "^0.18.14", @@ -5234,7 +5250,7 @@ "broccoli-funnel": "^2.0.2", "broccoli-funnel-reducer": "^1.0.0", "broccoli-merge-trees": "^3.0.2", - "broccoli-middleware": "^2.1.0", + "broccoli-middleware": "^2.1.1", "broccoli-module-normalizer": "^1.3.0", "broccoli-module-unification-reexporter": "^1.0.0", "broccoli-slow-trees": "^3.0.1", @@ -5242,7 +5258,7 @@ "broccoli-stew": "^3.0.0", "calculate-cache-key-for-tree": "^2.0.0", "capture-exit": "^2.0.0", - "chalk": "^2.4.2", + "chalk": "^3.0.0", "ci-info": "^2.0.0", "clean-base-url": "^1.0.0", "compression": "^1.7.4", @@ -5267,7 +5283,7 @@ "fs-extra": "^8.1.0", "fs-tree-diff": "^2.0.1", "get-caller-file": "^2.0.5", - "git-repo-info": "^2.1.0", + "git-repo-info": "^2.1.1", "glob": "^7.1.4", "heimdalljs": "^0.2.6", "heimdalljs-fs-monitor": "^0.2.3", @@ -5289,84 +5305,123 @@ "npm-package-arg": "^6.1.1", "p-defer": "^3.0.0", "portfinder": "^1.0.25", - "promise-map-series": "^0.2.3", - "promise.prototype.finally": "^3.1.1", + "promise-map-series": "^0.3.0", + "promise.prototype.finally": "^3.1.2", "quick-temp": "^0.1.8", "resolve": "^1.12.0", - "resolve-package-path": "^1.2.7", + "resolve-package-path": "^2.0.0", "rsvp": "^4.8.5", "sane": "^4.1.0", "semver": "^6.3.0", "silent-error": "^1.1.1", - "sort-package-json": "^1.23.1", + "sort-package-json": "^1.39.1", "symlink-or-copy": "^1.2.0", - "temp": "0.9.0", - "testem": "^2.17.0", + "temp": "0.9.1", + "testem": "^3.0.1", "tiny-lr": "^1.1.1", "tree-sync": "^2.0.0", - "uuid": "^3.3.3", + "uuid": "^3.4.0", "walk-sync": "^2.0.2", "watch-detector": "^1.0.0", "yam": "^1.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "babel-plugin-module-resolver": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz", + "integrity": "sha512-3pdEq3PXALilSJ6dnC4wMWr0AZixHRM4utpdpBR9g5QG7B7JwWyukQv7a9hVxkbGFl+nQbrHDqqQOIBtTXTP/Q==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "find-babel-config": "^1.2.0", + "glob": "^7.1.6", + "pkg-up": "^3.1.0", + "reselect": "^4.0.0", + "resolve": "^1.13.1" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "ember-source-channel-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ember-source-channel-url/-/ember-source-channel-url-2.0.1.tgz", + "integrity": "sha512-YlLUHW9gNvxEaohIj5exykoTZb4xj9ZRTcR4J3svv9S8rjAHJUnHmqC5Fd9onCs+NGxHo7KwR/fDwsfadbDu5Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "got": "^8.0.1" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "color-name": "1.1.3" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "ember-source-channel-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ember-source-channel-url/-/ember-source-channel-url-2.0.1.tgz", - "integrity": "sha512-YlLUHW9gNvxEaohIj5exykoTZb4xj9ZRTcR4J3svv9S8rjAHJUnHmqC5Fd9onCs+NGxHo7KwR/fDwsfadbDu5Q==", + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "dev": true, "requires": { - "got": "^8.0.1" + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "promise-map-series": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz", + "integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==", "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "reselect": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz", + "integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==", + "dev": true + }, + "resolve-package-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-2.0.0.tgz", + "integrity": "sha512-/CLuzodHO2wyyHTzls5Qr+EFeG6RcW4u6//gjYvUfcfyuplIX1SSccU+A5A9A78Gmezkl3NBkFAMxLbzTY9TJA==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "path-root": "^0.1.1", + "resolve": "^1.13.1" } } } @@ -12536,9 +12591,9 @@ } }, "temp": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz", - "integrity": "sha512-YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz", + "integrity": "sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==", "dev": true, "requires": { "rimraf": "~2.6.2" @@ -12556,9 +12611,9 @@ } }, "testem": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/testem/-/testem-2.17.0.tgz", - "integrity": "sha512-PLkIlT523w5rTJPWwR4TL1EiAEa941ECV7d4pMqsB0YdnH+sCTz0loWMKCUSdhR+VijveAZ6anE/JHehE7KqMQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/testem/-/testem-3.2.0.tgz", + "integrity": "sha512-FkFzNRCIzCxjbNSTxIQSC2tWn1Q2MTR/GTxusSw6uZA4byEQ7wc86TKutNnoCyZ5XIaD9wo4q+dmlK0GUEqFVA==", "dev": true, "requires": { "backbone": "^1.1.2", diff --git a/package.json b/package.json index d60a9fa..5135973 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "test": "tests" }, "scripts": { - "build": "ember build", + "build": "ember build --environment=production", "lint:hbs": "ember-template-lint .", "lint:js": "eslint .", "start": "ember serve", @@ -21,15 +21,16 @@ "test:all": "ember try:each" }, "devDependencies": { - "@ember/optional-features": "^1.1.0", + "@ember/optional-features": "^1.3.0", "@glimmer/component": "^1.0.0", + "@glimmer/tracking": "^1.0.0", "babel-eslint": "^10.0.3", - "ember-cli": "~3.15.2", - "ember-cli-babel": "^7.13.0", + "ember-cli": "~3.16.2", + "ember-cli-babel": "^7.17.2", "ember-cli-dependency-checker": "^3.2.0", "ember-cli-eslint": "^5.1.0", - "ember-cli-htmlbars": "^4.2.0", - "ember-cli-inject-live-reload": "^2.0.1", + "ember-cli-htmlbars": "^4.2.2", + "ember-cli-inject-live-reload": "^2.0.2", "ember-cli-template-lint": "^1.0.0-beta.3", "ember-disable-prototype-extensions": "^1.1.3", "ember-load-initializers": "^2.1.1", @@ -38,7 +39,7 @@ "ember-source": "~3.16.0", "ember-source-channel-url": "^3.0.0", "ember-try": "^1.4.0", - "eslint-plugin-ember": "^7.7.1", + "eslint-plugin-ember": "^7.7.2", "eslint-plugin-node": "^11.0.0", "loader.js": "^4.7.0", "renovate-config-standard": "^2.0.0", @@ -49,7 +50,7 @@ "three": ">= 0.93.0" }, "engines": { - "node": "8.* || >= 10.*" + "node": "10.* || >= 12" }, "ember": { "edition": "octane" diff --git a/testem.js b/testem.js index 367f565..49f53fe 100644 --- a/testem.js +++ b/testem.js @@ -1,3 +1,5 @@ +'use strict'; + module.exports = { test_page: 'tests/index.html?hidepassed', disable_watching: true, @@ -7,6 +9,7 @@ module.exports = { launch_in_dev: [ 'Chrome' ], + browser_start_timeout: 120, browser_args: { Chrome: { ci: [ diff --git a/tests/dummy/config/ember-cli-update.json b/tests/dummy/config/ember-cli-update.json index eb7802f..ff2e2d5 100644 --- a/tests/dummy/config/ember-cli-update.json +++ b/tests/dummy/config/ember-cli-update.json @@ -3,7 +3,7 @@ "packages": [ { "name": "ember-cli", - "version": "3.15.2", + "version": "3.16.2", "blueprints": [ { "name": "addon",