diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 7550fb9496a..b2da8a8c2cd 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -30,6 +30,38 @@ jobs:
- name: Check for TypeScript problems
run: yarn problems
+ test-infra:
+ timeout-minutes: 4
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 12.x
+ - name: Yarn install
+ run: yarn --frozen-lockfile
+ - name: Yarn test infra compatWith 3.0
+ env:
+ COMPAT_WITH: '3.0'
+ run: yarn test:infra
+ - name: Yarn test infra compatWith 3.8
+ env:
+ COMPAT_WITH: '3.8'
+ run: yarn test:infra
+ - name: Yarn test infra compatWith 3.12
+ env:
+ COMPAT_WITH: '3.12'
+ run: yarn test:infra
+ - name: Yarn test infra compatWith 3.16
+ env:
+ COMPAT_WITH: '3.16'
+ run: yarn test:infra
+ - name: Yarn test infra compatWith 99.0
+ env:
+ COMPAT_WITH: '99.0'
+ run: yarn test:infra
+
+
basic-tests:
timeout-minutes: 15
strategy:
diff --git a/package.json b/package.json
index 57c26191b3f..99a37bb19c4 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
"test:docs": "yarn workspace ember-data test:docs",
"test:encapsulation": "lerna run --scope='*-encapsulation-test-app' test",
"test:fastboot": "yarn workspace fastboot-test-app test:try-one",
+ "test:infra": "yarn workspace @ember-data/unpublished-test-infra test",
"test-external:ember-m3": "./bin/test-external-partner-project.js ember-m3 https://github.com/hjdivad/ember-m3.git",
"test-external:ember-data-change-tracker": "./bin/test-external-partner-project.js ember-data-change-tracker https://github.com/danielspaniel/ember-data-change-tracker.git",
"test-external:model-fragments": "./bin/test-external-partner-project.js model-fragments https://github.com/lytics/ember-data-model-fragments.git",
diff --git a/packages/unpublished-test-infra/ember-cli-build.js b/packages/unpublished-test-infra/ember-cli-build.js
new file mode 100644
index 00000000000..9e4f26563e5
--- /dev/null
+++ b/packages/unpublished-test-infra/ember-cli-build.js
@@ -0,0 +1,26 @@
+/* eslint node/no-unpublished-require: 'off' */
+
+'use strict';
+
+const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');
+
+const isProd = true;
+const compatWith = process.env.COMPAT_WITH || '0.0.0';
+
+module.exports = function(defaults) {
+ let app = new EmberAddon(defaults, {
+ emberData: {
+ compatWith,
+ },
+ babel: {
+ // this ensures that the same build-time code stripping that is done
+ // for library packages is also done for our tests and dummy app
+ plugins: [...require('@ember-data/private-build-infra/src/debug-macros')(null, isProd, compatWith)],
+ },
+ 'ember-cli-babel': {
+ throwUnlessParallelizable: true,
+ },
+ });
+
+ return app.toTree();
+};
diff --git a/packages/unpublished-test-infra/package.json b/packages/unpublished-test-infra/package.json
index 85dd780f9b3..74ac6f38e91 100644
--- a/packages/unpublished-test-infra/package.json
+++ b/packages/unpublished-test-infra/package.json
@@ -13,20 +13,42 @@
"doc": "doc",
"test": "tests"
},
- "scripts": {},
+ "scripts": {
+ "test": "ember test"
+ },
"dependencies": {
"@ember-data/private-build-infra": "3.16.0-alpha.2",
- "@ember/edition-utils": "^1.1.1",
- "ember-cli-babel": "^7.12.0",
- "ember-cli-blueprint-test-helpers": "^0.19.1",
+ "ember-cli-babel": "^7.13.0",
"ember-cli-typescript": "^3.1.1",
"ember-get-config": "^0.2.4",
+ "ember-cli-blueprint-test-helpers": "^0.19.2",
+ "@ember/edition-utils": "^1.1.1",
+ "testem": "^3.0.2"
+ },
+ "devDependencies": {
+ "@ember/optional-features": "^1.1.0",
+ "ember-cli": "~3.14.0",
+ "ember-cli-dependency-checker": "^3.2.0",
+ "ember-cli-htmlbars": "^4.0.9",
+ "ember-cli-inject-live-reload": "^2.0.2",
+ "ember-cli-shims": "^1.2.0",
+ "ember-cli-test-loader": "^2.2.0",
+ "ember-cli-test-info": "^1.0.0",
+ "ember-disable-prototype-extensions": "^1.1.3",
+ "ember-export-application-global": "^2.0.1",
+ "ember-load-initializers": "^2.1.1",
+ "ember-maybe-import-regenerator": "^0.1.6",
"ember-qunit": "^4.6.0",
+ "ember-resolver": "^6.0.0",
+ "ember-source": "^3.15.0",
+ "loader.js": "^4.7.0",
"qunit": "^2.9.3",
- "rsvp": "^4.8.5",
- "testem": "^3.0.2"
+ "rsvp": "^4.8.5"
},
"engines": {
- "node": ">= 8.0.0"
+ "node": "8.* || >= 10.*"
+ },
+ "ember-addon": {
+ "configPath": "tests/dummy/config"
}
}
diff --git a/packages/unpublished-test-infra/testem.js b/packages/unpublished-test-infra/testem.js
new file mode 100644
index 00000000000..6edd28bdf63
--- /dev/null
+++ b/packages/unpublished-test-infra/testem.js
@@ -0,0 +1,21 @@
+module.exports = {
+ test_page: 'tests/index.html?hidepassed',
+ disable_watching: true,
+ launch_in_ci: ['Chrome'],
+ launch_in_dev: ['Chrome'],
+ browser_start_timeout: 120,
+ browser_args: {
+ Chrome: {
+ ci: [
+ // --no-sandbox is needed when running Chrome inside a container
+ process.env.CI ? '--no-sandbox' : null,
+ '--headless',
+ '--disable-dev-shm-usage',
+ '--disable-software-rasterizer',
+ '--mute-audio',
+ '--remote-debugging-port=0',
+ '--window-size=1440,900',
+ ].filter(Boolean),
+ },
+ },
+};
diff --git a/packages/unpublished-test-infra/tests/dummy/app/app.js b/packages/unpublished-test-infra/tests/dummy/app/app.js
new file mode 100644
index 00000000000..8df91db5652
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/app/app.js
@@ -0,0 +1,12 @@
+import Application from '@ember/application';
+import Resolver from './resolver';
+import loadInitializers from 'ember-load-initializers';
+import config from './config/environment';
+
+export default class App extends Application {
+ modulePrefix = config.modulePrefix;
+ podModulePrefix = config.podModulePrefix;
+ Resolver = Resolver;
+}
+
+loadInitializers(App, config.modulePrefix);
diff --git a/packages/unpublished-test-infra/tests/dummy/app/index.html b/packages/unpublished-test-infra/tests/dummy/app/index.html
new file mode 100644
index 00000000000..61400b20f56
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/app/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+ Dummy
+
+
+
+ {{content-for "head"}}
+
+
+
+
+ {{content-for "head-footer"}}
+
+
+ {{content-for "body"}}
+
+
+
+
+ {{content-for "body-footer"}}
+
+
diff --git a/packages/unpublished-test-infra/tests/dummy/app/resolver.js b/packages/unpublished-test-infra/tests/dummy/app/resolver.js
new file mode 100644
index 00000000000..2fb563d6c04
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/app/resolver.js
@@ -0,0 +1,3 @@
+import Resolver from 'ember-resolver';
+
+export default Resolver;
diff --git a/packages/unpublished-test-infra/tests/dummy/app/router.js b/packages/unpublished-test-infra/tests/dummy/app/router.js
new file mode 100644
index 00000000000..3c68e32dd99
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/app/router.js
@@ -0,0 +1,9 @@
+import EmberRouter from '@ember/routing/router';
+import config from './config/environment';
+
+export default class Router extends EmberRouter {
+ location = config.locationType;
+ rootURL = config.rootURL;
+}
+
+Router.map(function() {});
diff --git a/packages/unpublished-test-infra/tests/dummy/app/routes/application/template.hbs b/packages/unpublished-test-infra/tests/dummy/app/routes/application/template.hbs
new file mode 100644
index 00000000000..1c967ea89c3
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/app/routes/application/template.hbs
@@ -0,0 +1,6 @@
+
+{{outlet}}
diff --git a/packages/unpublished-test-infra/tests/dummy/app/styles/app.css b/packages/unpublished-test-infra/tests/dummy/app/styles/app.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/packages/unpublished-test-infra/tests/dummy/app/templates/application.hbs b/packages/unpublished-test-infra/tests/dummy/app/templates/application.hbs
new file mode 100644
index 00000000000..e2147cab02d
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/app/templates/application.hbs
@@ -0,0 +1 @@
+{{outlet}}
\ No newline at end of file
diff --git a/packages/unpublished-test-infra/tests/dummy/config/environment.js b/packages/unpublished-test-infra/tests/dummy/config/environment.js
new file mode 100644
index 00000000000..e4920474dea
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/config/environment.js
@@ -0,0 +1,52 @@
+'use strict';
+
+module.exports = function(environment) {
+ let ENV = {
+ modulePrefix: 'dummy',
+ environment,
+ rootURL: '/',
+ locationType: 'auto',
+ EmberENV: {
+ FEATURES: {
+ // Here you can enable experimental features on an ember canary build
+ // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
+ },
+ EXTEND_PROTOTYPES: {
+ // Prevent Ember Data from overriding Date.parse.
+ Date: false,
+ },
+ },
+
+ APP: {
+ // Here you can pass flags/options to your application instance
+ // when it is created
+ },
+ compatWith: process.env.COMPAT_WITH,
+ };
+
+ if (environment === 'development') {
+ // ENV.APP.LOG_RESOLVER = true;
+ // ENV.APP.LOG_ACTIVE_GENERATION = true;
+ // ENV.APP.LOG_TRANSITIONS = true;
+ // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
+ // ENV.APP.LOG_VIEW_LOOKUPS = true;
+ }
+
+ if (environment === 'test') {
+ // Testem prefers this...
+ ENV.locationType = 'none';
+
+ // keep test console output quieter
+ ENV.APP.LOG_ACTIVE_GENERATION = false;
+ ENV.APP.LOG_VIEW_LOOKUPS = false;
+
+ ENV.APP.rootElement = '#ember-testing';
+ ENV.APP.autoboot = false;
+ }
+
+ if (environment === 'production') {
+ // here you can enable a production-specific feature
+ }
+
+ return ENV;
+};
diff --git a/packages/unpublished-test-infra/tests/dummy/config/optional-features.json b/packages/unpublished-test-infra/tests/dummy/config/optional-features.json
new file mode 100644
index 00000000000..b1902623ae7
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/config/optional-features.json
@@ -0,0 +1,3 @@
+{
+ "jquery-integration": false
+}
diff --git a/packages/unpublished-test-infra/tests/dummy/config/targets.js b/packages/unpublished-test-infra/tests/dummy/config/targets.js
new file mode 100644
index 00000000000..f14319316df
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/dummy/config/targets.js
@@ -0,0 +1,14 @@
+'use strict';
+
+const browsers = ['last 1 Chrome versions', 'last 1 Firefox versions', 'last 1 Safari versions'];
+
+const isCI = !!process.env.CI;
+const isProduction = process.env.EMBER_ENV === 'production';
+
+if (isCI || isProduction) {
+ browsers.push('ie 11');
+}
+
+module.exports = {
+ browsers,
+};
diff --git a/packages/unpublished-test-infra/tests/dummy/public/.gitkeep b/packages/unpublished-test-infra/tests/dummy/public/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/packages/unpublished-test-infra/tests/index.html b/packages/unpublished-test-infra/tests/index.html
new file mode 100644
index 00000000000..5209b852321
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/index.html
@@ -0,0 +1,33 @@
+
+
+
+
+
+ Dummy Tests
+
+
+
+ {{content-for "head"}}
+ {{content-for "test-head"}}
+
+
+
+
+
+ {{content-for "head-footer"}}
+ {{content-for "test-head-footer"}}
+
+
+ {{content-for "body"}}
+ {{content-for "test-body"}}
+
+
+
+
+
+
+
+ {{content-for "body-footer"}}
+ {{content-for "test-body-footer"}}
+
+
diff --git a/packages/unpublished-test-infra/tests/test-helper.js b/packages/unpublished-test-infra/tests/test-helper.js
new file mode 100644
index 00000000000..0382a848dd0
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/test-helper.js
@@ -0,0 +1,8 @@
+import Application from '../app';
+import config from '../config/environment';
+import { setApplication } from '@ember/test-helpers';
+import { start } from 'ember-qunit';
+
+setApplication(Application.create(config.APP));
+
+start();
diff --git a/packages/unpublished-test-infra/tests/unit/.gitkeep b/packages/unpublished-test-infra/tests/unit/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/packages/unpublished-test-infra/tests/unit/deprecations-stripped-test.js b/packages/unpublished-test-infra/tests/unit/deprecations-stripped-test.js
new file mode 100644
index 00000000000..08355443fcd
--- /dev/null
+++ b/packages/unpublished-test-infra/tests/unit/deprecations-stripped-test.js
@@ -0,0 +1,23 @@
+import { module, test } from 'ember-qunit';
+import config from 'dummy/config/environment';
+import { DEPRECATE_EVENTED_API_USAGE } from '@ember-data/private-build-infra/deprecations';
+
+const { compatWith } = config;
+
+module('test compatWith', function() {
+ test('deprecation strips', function(assert) {
+ let deprecation_stripped = true;
+
+ if (DEPRECATE_EVENTED_API_USAGE) {
+ deprecation_stripped = false;
+ }
+
+ if (compatWith === '3.0' || compatWith === '3.8') {
+ assert.equal(deprecation_stripped, false, 'deprecation code was not stripped');
+ } else if (compatWith === '3.12' || compatWith === '3.16' || compatWith === '99.0') {
+ assert.equal(deprecation_stripped, true, 'deprecation code was stripped');
+ } else {
+ // do nothing
+ }
+ });
+});
diff --git a/yarn.lock b/yarn.lock
index 36d674478ed..a9a2be5728b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -596,9 +596,9 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-runtime@^7.6.0":
- version "7.7.5"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.5.tgz#b0bd98f54f10b068d66c55bf85c7ab29587627a6"
- integrity sha512-X+w9wJRzOoAPBfTEcFJisVppQ8OTQMxrVgmi7ZLVWehqVd8ciHN09A1XjB91Iw+Sgf77Y9Oy7CfxKNr1tVkK7g==
+ version "7.7.6"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.6.tgz#4f2b548c88922fb98ec1c242afd4733ee3e12f61"
+ integrity sha512-tajQY+YmXR7JjTwRvwL4HePqoL3DYxpYXIHKVvrOIvJmeHe2y1w4tz5qz9ObUDC9m76rCzIMPyn4eERuwA4a4A==
dependencies:
"@babel/helper-module-imports" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -685,9 +685,9 @@
regenerator-runtime "^0.13.2"
"@babel/preset-env@^7.0.0", "@babel/preset-env@^7.7.0":
- version "7.7.5"
- resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.5.tgz#f28573ed493edb4ba763b37fb4fbb85601469370"
- integrity sha512-wDPbiaZdGzsJuTWlpLHJxmwslwHGLZ8F5v69zX3oAWeTOFWdy4OJHoTKg26oAnFg052v+/LAPY5os9KB0LrOEA==
+ version "7.7.6"
+ resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.6.tgz#39ac600427bbb94eec6b27953f1dfa1d64d457b2"
+ integrity sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==
dependencies:
"@babel/helper-module-imports" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -742,9 +742,9 @@
semver "^5.5.0"
"@babel/runtime@^7.7.0":
- version "7.7.5"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.5.tgz#4b087f183f5d83647744d4157f66199081d17a00"
- integrity sha512-UXhClKWTL7/vlYX49kETXti6VbpPJK/pdsIOqUMhUUES/lqThpNTsmC/0aU/IW4uozDUx17axjeqel7SCYF6EQ==
+ version "7.7.6"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.6.tgz#d18c511121aff1b4f2cd1d452f1bac9601dd830f"
+ integrity sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw==
dependencies:
regenerator-runtime "^0.13.2"
@@ -2110,9 +2110,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*", "@types/node@>= 8":
- version "12.12.14"
- resolved "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz#1c1d6e3c75dba466e0326948d56e8bd72a1903d2"
- integrity sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==
+ version "12.12.17"
+ resolved "https://registry.npmjs.org/@types/node/-/node-12.12.17.tgz#191b71e7f4c325ee0fb23bc4a996477d92b8c39b"
+ integrity sha512-Is+l3mcHvs47sKy+afn2O1rV4ldZFU7W8101cNlOd+MRbjM4Onida8jSZnJdTe/0Pcf25g9BNIUsuugmE6puHA==
"@types/qunit@^2.5.3":
version "2.9.0"
@@ -4337,7 +4337,7 @@ browserslist@^3.2.6:
caniuse-lite "^1.0.30000844"
electron-to-chromium "^1.3.47"
-browserslist@^4.6.0, browserslist@^4.8.0:
+browserslist@^4.6.0, browserslist@^4.8.2:
version "4.8.2"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289"
integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==
@@ -5262,11 +5262,11 @@ copy-descriptor@^0.1.0:
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-js-compat@^3.4.7:
- version "3.4.7"
- resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.7.tgz#39f8080b1d92a524d6d90505c42b9c5c1eb90611"
- integrity sha512-57+mgz/P/xsGdjwQYkwtBZR3LuISaxD1dEwVDtbk8xJMqAmwqaxLOvnNT7kdJ7jYE/NjNptyzXi+IQFMi/2fCw==
+ version "3.4.8"
+ resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.8.tgz#f72e6a4ed76437ea710928f44615f926a81607d5"
+ integrity sha512-l3WTmnXHV2Sfu5VuD7EHE2w7y+K68+kULKt5RJg8ZJk3YhHF1qLD4O8v8AmNq+8vbOwnPFFDvds25/AoEvMqlQ==
dependencies:
- browserslist "^4.8.0"
+ browserslist "^4.8.2"
semver "^6.3.0"
core-js@2.4.1:
@@ -5275,9 +5275,9 @@ core-js@2.4.1:
integrity sha1-TekR5mew6ukSTjQlS1OupvxhjT4=
core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5:
- version "2.6.10"
- resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f"
- integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==
+ version "2.6.11"
+ resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
+ integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
core-object@^3.1.5:
version "3.1.5"
@@ -5667,6 +5667,11 @@ detect-libc@^1.0.2:
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+detect-newline@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
+ integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+
devtools-protocol@0.0.665395:
version "0.0.665395"
resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.665395.tgz#82f57f1e9393a605907d0260972d8b5a023df807"
@@ -6049,9 +6054,9 @@ ember-cli-htmlbars-inline-precompile@^2.1.0:
silent-error "^1.1.0"
ember-cli-htmlbars@^4.0.0, ember-cli-htmlbars@^4.0.9:
- version "4.0.9"
- resolved "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-4.0.9.tgz#a4f56f2f91ee4bf3ef4d1b3ec1d653800d05251b"
- integrity sha512-6WJXN/XX3ylczGMVxpPIFWjieS0MDUGPQaW0nTqo/gT91WaH+DX5/4tySDKtjM5e32oFN0OXFOk8AhePzuw3Aw==
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-4.1.0.tgz#2abb96d20d22d024f384df3691ad9d667ccabbe7"
+ integrity sha512-ZxVtixNPvtdCyYd9AdgCfSVO/WWLHdvK0WpTzbZ+/iTbMH0unNypJ8o2GY6DbArEB/PE6bV/Ta3khYURyuH47g==
dependencies:
"@ember/edition-utils" "^1.1.1"
babel-plugin-htmlbars-inline-precompile "^3.0.0"
@@ -6060,11 +6065,10 @@ ember-cli-htmlbars@^4.0.0, ember-cli-htmlbars@^4.0.9:
broccoli-plugin "^3.0.0"
common-tags "^1.8.0"
ember-cli-babel-plugin-helpers "^1.1.0"
- fs-copy-file-sync "^1.1.1"
+ fs-tree-diff "^2.0.1"
hash-for-dep "^1.5.1"
heimdalljs-logger "^0.1.10"
json-stable-stringify "^1.0.1"
- mkdirp "^0.5.1"
semver "^6.3.0"
strip-bom "^4.0.0"
walk-sync "^2.0.2"
@@ -6564,9 +6568,9 @@ ember-source@^3.15.0:
silent-error "^1.1.1"
ember-template-lint@^1.1.0:
- version "1.9.0"
- resolved "https://registry.npmjs.org/ember-template-lint/-/ember-template-lint-1.9.0.tgz#a3ef6ac1d1ba415d3a1f46c2911a06dea292c1a3"
- integrity sha512-M6C/3dOiUUhmHkk4oWTQ+8aXr49M5pJOSrV0oB3TWrYkNkzZg0y+PM60BYX/3xzwCzUQ91DPbBPTBVmMsVflXg==
+ version "1.10.0"
+ resolved "https://registry.npmjs.org/ember-template-lint/-/ember-template-lint-1.10.0.tgz#490acdb312fa8e2d484c397c03b26bb366bc6f24"
+ integrity sha512-R7RsmOFoC+LlvM+Wu7TvSj8ZQxIM8ryCFCdGfcOEBCdlqRo6vgJ/jHy8CRITc8RlbrKJDPcaNDxHcNWfto1BqA==
dependencies:
"@glimmer/syntax" "^0.44.0"
chalk "^2.0.0"
@@ -7561,11 +7565,6 @@ fromentries@^1.2.0:
resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.2.0.tgz#e6aa06f240d6267f913cea422075ef88b63e7897"
integrity sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ==
-fs-copy-file-sync@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz#11bf32c096c10d126e5f6b36d06eece776062918"
- integrity sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==
-
fs-extra@^0.24.0:
version "0.24.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz#d4e4342a96675cb7846633a6099249332b539952"
@@ -10502,9 +10501,11 @@ normalize-url@^3.3.0:
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
npm-bundled@^1.0.1:
- version "1.0.6"
- resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
- integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
+ integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
+ dependencies:
+ npm-normalize-package-bin "^1.0.1"
npm-git-info@^1.0.3:
version "1.0.3"
@@ -10525,6 +10526,11 @@ npm-lifecycle@^3.1.2:
umask "^1.1.0"
which "^1.3.1"
+npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
+ integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
+
"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0, npm-package-arg@^6.1.1:
version "6.1.1"
resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7"
@@ -10536,9 +10542,9 @@ npm-lifecycle@^3.1.2:
validate-npm-package-name "^3.0.0"
npm-packlist@^1.1.6, npm-packlist@^1.4.4:
- version "1.4.6"
- resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4"
- integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==
+ version "1.4.7"
+ resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz#9e954365a06b80b18111ea900945af4f88ed4848"
+ integrity sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
@@ -11544,14 +11550,14 @@ read-cmd-shim@^1.0.1:
graceful-fs "^4.1.2"
"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13:
- version "2.1.0"
- resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz#e3d42e6c35ea5ae820d9a03ab0c7291217fc51d5"
- integrity sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz#16aa66c59e7d4dad6288f179dd9295fd59bb98f1"
+ integrity sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==
dependencies:
glob "^7.1.1"
json-parse-better-errors "^1.0.1"
normalize-package-data "^2.0.0"
- slash "^1.0.0"
+ npm-normalize-package-bin "^1.0.0"
optionalDependencies:
graceful-fs "^4.1.2"
@@ -12057,9 +12063,9 @@ rollup-pluginutils@^2.8.1:
estree-walker "^0.6.1"
rollup@^1.12.0:
- version "1.27.8"
- resolved "https://registry.npmjs.org/rollup/-/rollup-1.27.8.tgz#94288a957af9f4c2380b73a17494d87705997d0f"
- integrity sha512-EVoEV5rAWl+5clnGznt1KY8PeVkzVQh/R0d2s3gHEkN7gfoyC4JmvIVuCtPbYE8NM5Ep/g+nAmvKXBjzaqTsHA==
+ version "1.27.9"
+ resolved "https://registry.npmjs.org/rollup/-/rollup-1.27.9.tgz#742f1234c1fa935f35149a433807da675b10f9a6"
+ integrity sha512-8AfW4cJTPZfG6EXWwT/ujL4owUsDI1Xl8J1t+hvK4wDX81F5I4IbwP9gvGbHzxnV19fnU4rRABZQwZSX9J402Q==
dependencies:
"@types/estree" "*"
"@types/node" "*"
@@ -12222,9 +12228,9 @@ send@0.17.1:
statuses "~1.5.0"
serialize-javascript@^2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.1.tgz#952907a04a3e3a75af7f73d92d15e233862048b2"
- integrity sha512-MPLPRpD4FNqWq9tTIjYG5LesFouDhdyH0EPY3gVK4DRD5+g4aDqdNSzLIwceulo3Yj+PL1bPh6laE5+H6LTcrQ==
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
+ integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
serve-static@1.14.1:
version "1.14.1"
@@ -12490,16 +12496,17 @@ sort-keys@^2.0.0:
is-plain-obj "^1.0.0"
sort-object-keys@^1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.2.tgz#d3a6c48dc2ac97e6bc94367696e03f6d09d37952"
- integrity sha1-06bEjcKsl+a8lDZ2luA/bQnTeVI=
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45"
+ integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==
sort-package-json@^1.22.1:
- version "1.30.0"
- resolved "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.30.0.tgz#bd7df0261ff10d3708f587defd9fcf81ff0569ec"
- integrity sha512-1QMmOyfurS1X6PfIGqZTYcGjuCKxki4uMwzw87oAwPQiQeaDdgI7eE5bZN5CSFU5P3Hc2UgV5o4e+wIuhueoOg==
+ version "1.31.0"
+ resolved "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.31.0.tgz#778c652b1ee88c15337b258d3ae7e47576e4fb88"
+ integrity sha512-zBdnTpMCJNZszbPcAbGIAgfRQ0A0dF/ZOsQdUHICZ6XLuIQK1Mcwp8zfkF3ySg2lT2oKxU4dVhh/9tZxGLBU0A==
dependencies:
detect-indent "^6.0.0"
+ detect-newline "3.1.0"
glob "^7.1.6"
sort-object-keys "^1.1.2"
@@ -13495,9 +13502,9 @@ uc.micro@^1.0.0, uc.micro@^1.0.1, uc.micro@^1.0.5:
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
uglify-js@^3.1.4:
- version "3.7.1"
- resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.1.tgz#35c7de17971a4aa7689cd2eae0a5b39bb838c0c5"
- integrity sha512-pnOF7jY82wdIhATVn87uUY/FHU+MDUdPLkmGFvGoclQmeu229eTkbG5gjGGBi3R7UuYYSEeYXY/TTY5j2aym2g==
+ version "3.7.2"
+ resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz#cb1a601e67536e9ed094a92dd1e333459643d3f9"
+ integrity sha512-uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==
dependencies:
commander "~2.20.3"
source-map "~0.6.1"