diff --git a/package.json b/package.json
index 8ad57e1eb36..4eb3fa699a0 100644
--- a/package.json
+++ b/package.json
@@ -39,11 +39,14 @@
"test-external:ember-data-relationship-tracker": "./bin/test-external-partner-project.js ember-data-relationship-tracker https://github.com/ef4/ember-data-relationship-tracker.git"
},
"devDependencies": {
- "@babel/plugin-transform-typescript": "^7.6.0",
- "@ember/optional-features": "^1.0.0",
- "@types/ember": "^3.1.0",
- "@types/ember-qunit": "^3.4.6",
- "@types/ember-test-helpers": "~1.0.5",
+ "@babel/plugin-transform-typescript": "^7.7.4",
+ "@ember/edition-utils": "^1.1.1",
+ "@ember/optional-features": "^1.1.0",
+ "@glimmer/component": "^1.0.0-beta.3",
+ "@tracerbench/core": "3.0.7",
+ "@types/ember": "^3.1.1",
+ "@types/ember-qunit": "^3.4.7",
+ "@types/ember-test-helpers": "~1.0.6",
"@types/ember-testing-helpers": "~0.0.3",
"@types/ember__debug": "3.0.4",
"@types/ember__test-helpers": "~0.7.8",
@@ -132,7 +135,9 @@
"rsvp": "^4.8.5",
"semver": "^6.2.0",
"silent-error": "^1.1.1",
- "typescript": "~3.6.3"
+ "typescript": "~3.7.2",
+ "url": "^0.11.0",
+ "zlib": "1.0.5"
},
"bin": {
"test-partner-project": "./bin/test-external-partner-project.js",
diff --git a/packages/-ember-data/.ember-cli b/packages/-ember-data/.ember-cli.js
similarity index 65%
rename from packages/-ember-data/.ember-cli
rename to packages/-ember-data/.ember-cli.js
index ee64cfed2a8..79999737931 100644
--- a/packages/-ember-data/.ember-cli
+++ b/packages/-ember-data/.ember-cli.js
@@ -1,9 +1,13 @@
-{
+const { setEdition } = require('@ember/edition-utils');
+
+setEdition('octane');
+
+module.exports = {
/**
Ember CLI sends analytics information by default. The data is completely
anonymous, but there are times when you might want to disable this behavior.
Setting `disableAnalytics` to true will prevent any data from being sent.
*/
- "disableAnalytics": false
-}
+ disableAnalytics: false,
+};
diff --git a/packages/-ember-data/package.json b/packages/-ember-data/package.json
index daebf349a0b..aeb4626a5b1 100644
--- a/packages/-ember-data/package.json
+++ b/packages/-ember-data/package.json
@@ -28,6 +28,7 @@
"@ember-data/model": "3.14.0",
"@ember-data/serializer": "3.14.0",
"@ember-data/store": "3.14.0",
+ "@ember/edition-utils": "^1.1.1",
"@ember/ordered-set": "^2.0.3",
"@glimmer/env": "^0.1.7",
"ember-cli-babel": "^7.11.1",
@@ -35,11 +36,13 @@
"ember-inflector": "^3.0.1"
},
"devDependencies": {
- "@babel/plugin-transform-typescript": "^7.6.0",
- "@ember/optional-features": "^1.0.0",
- "@types/ember": "^3.1.0",
- "@types/ember-qunit": "^3.4.6",
- "@types/ember-test-helpers": "~1.0.5",
+ "@babel/plugin-transform-typescript": "^7.7.4",
+ "@ember-data/-test-infra": "3.14.0",
+ "@ember/optional-features": "^1.1.0",
+ "@glimmer/component": "^1.0.0-beta.3",
+ "@types/ember": "^3.1.1",
+ "@types/ember-qunit": "^3.4.7",
+ "@types/ember-test-helpers": "~1.0.6",
"@types/ember-testing-helpers": "~0.0.3",
"@types/ember__debug": "3.0.4",
"@types/ember__test-helpers": "~0.7.8",
@@ -80,8 +83,9 @@
"github": "^1.1.1",
"json-typescript": "^1.1.0",
"loader.js": "^4.7.0",
- "qunit": "^2.9.2",
- "typescript": "~3.6.3"
+ "qunit": "^2.9.3",
+ "qunit-dom": "^0.9.2",
+ "typescript": "~3.7.2"
},
"engines": {
"node": ">= 8.0.0"
diff --git a/packages/-ember-data/tests/acceptance/tracking-model-id-test.js b/packages/-ember-data/tests/acceptance/tracking-model-id-test.js
new file mode 100644
index 00000000000..ce92c7b14b9
--- /dev/null
+++ b/packages/-ember-data/tests/acceptance/tracking-model-id-test.js
@@ -0,0 +1,99 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render, settled } from '@ember/test-helpers';
+import hbs from 'htmlbars-inline-precompile';
+import Store from '@ember-data/store';
+import Model, { attr } from '@ember-data/model';
+import JSONAPIAdapter from '@ember-data/adapter/json-api';
+import JSONAPISerializer from '@ember-data/serializer/json-api';
+import Component from '@glimmer/component';
+import { gte } from 'ember-compatibility-helpers';
+import { has } from 'require';
+import { resolve } from 'rsvp';
+
+if (gte('3.13.0') && has('@glimmer/component')) {
+ class Widget extends Model {
+ @attr() name;
+
+ get numericId() {
+ return Number(this.id);
+ }
+ }
+
+ class WidgetList extends Component {
+ get sortedWidgets() {
+ let { widgets } = this.args;
+
+ return widgets.slice().sort((a, b) => b.numericId - a.numericId);
+ }
+ }
+
+ let layout = hbs`
+
+ `;
+
+ class TestAdapter extends JSONAPIAdapter {
+ createRecord() {
+ return resolve({
+ data: {
+ id: '4',
+ type: 'widget',
+ attributes: {
+ name: 'Contraption',
+ },
+ },
+ });
+ }
+ }
+
+ module('acceptance/tracking-model-id - tracking model id', function(hooks) {
+ setupRenderingTest(hooks);
+
+ hooks.beforeEach(function() {
+ let { owner } = this;
+ owner.register('service:store', Store);
+ owner.register('model:widget', Widget);
+ owner.register('component:widget-list', WidgetList);
+ owner.register('template:components/widget-list', layout);
+ owner.register('adapter:application', TestAdapter);
+ owner.register('serializer:application', JSONAPISerializer);
+ });
+
+ test("can track model id's without using get", async function(assert) {
+ let store = this.owner.lookup('service:store');
+ store.createRecord('widget', { id: '1', name: 'Doodad' });
+ store.createRecord('widget', { id: '3', name: 'Gizmo' });
+ store.createRecord('widget', { id: '2', name: 'Gadget' });
+ this.widgets = store.peekAll('widget');
+
+ await render(hbs`
+
+ `);
+ await settled();
+
+ assert.dom('ul>li+li+li').exists;
+ assert.dom('ul>li.widget0>div.name').containsText('Gizmo');
+ assert.dom('ul>li.widget1>div.name').containsText('Gadget');
+ assert.dom('ul>li.widget2>div.name').containsText('Doodad');
+
+ let contraption = store.createRecord('widget', { name: 'Contraption' });
+ await contraption.save();
+ await settled();
+
+ assert.dom('ul>li+li+li+li').exists;
+ assert.dom('ul>li.widget0>div.name').containsText('Contraption');
+ assert.dom('ul>li.widget1>div.name').containsText('Gizmo');
+ assert.dom('ul>li.widget2>div.name').containsText('Gadget');
+ assert.dom('ul>li.widget3>div.name').containsText('Doodad');
+ });
+ });
+}
diff --git a/packages/-ember-data/tests/dummy/config/optional-features.json b/packages/-ember-data/tests/dummy/config/optional-features.json
index b1902623ae7..3762534dbd7 100644
--- a/packages/-ember-data/tests/dummy/config/optional-features.json
+++ b/packages/-ember-data/tests/dummy/config/optional-features.json
@@ -1,3 +1,5 @@
{
+ "template-only-glimmer-components": true,
+ "application-template-wrapper": false,
"jquery-integration": false
}
diff --git a/packages/store/addon/-private/system/model/internal-model.ts b/packages/store/addon/-private/system/model/internal-model.ts
index 8a9b83d9f8a..962d374bf5f 100644
--- a/packages/store/addon/-private/system/model/internal-model.ts
+++ b/packages/store/addon/-private/system/model/internal-model.ts
@@ -99,6 +99,7 @@ function extractPivotName(name) {
*/
export default class InternalModel {
_id: string | null;
+ _tag: number = 0;
modelName: string;
clientId: string;
__recordData: RecordData | null;
@@ -176,6 +177,7 @@ export default class InternalModel {
if (value !== this._id) {
let newIdentifier = { type: this.identifier.type, lid: this.identifier.lid, id: value };
identifierCacheFor(this.store).updateRecordIdentifier(this.identifier, newIdentifier);
+ set(this, '_tag', this._tag + 1);
// TODO Show deprecation for private api
}
} else if (!IDENTIFIERS) {
@@ -1347,6 +1349,7 @@ export default class InternalModel {
let didChange = id !== this._id;
this._id = id;
+ set(this, '_tag', this._tag + 1);
if (didChange && id !== null) {
this.store.setRecordId(this.modelName, id, this.clientId);
diff --git a/packages/store/addon/-private/system/model/model.js b/packages/store/addon/-private/system/model/model.js
index 0c3f9d97f5d..012fb2f0bb1 100644
--- a/packages/store/addon/-private/system/model/model.js
+++ b/packages/store/addon/-private/system/model/model.js
@@ -1335,7 +1335,13 @@ const ID_DESCRIPTOR = {
// the _internalModel guard exists, because some dev-only deprecation code
// (addListener via validatePropertyInjections) invokes toString before the
// object is real.
- return this._internalModel && this._internalModel.id;
+ if (DEBUG) {
+ if (!this._internalModel) {
+ return;
+ }
+ }
+ get(this._internalModel, '_tag');
+ return this._internalModel.id;
},
};
diff --git a/tsconfig.json b/tsconfig.json
index 8165f7584ad..078b3d03c42 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -34,6 +34,10 @@
"@ember-data/record-data/*": ["packages/record-data/addon/*"],
"@ember-data/canary-features": ["packages/canary-features/addon"],
"@ember-data/canary-features/*": ["packages/canary-features/addon/*"],
+ "@ember-data/-build-infra": ["packages/private-build-infra/addon"],
+ "@ember-data/-build-infra/*": ["packages/private-build-infra/addon/*"],
+ "@ember-data/unpublished-test-infra/test-support": ["packages/unpublished-test-infra/addon-test-support"],
+ "@ember-data/unpublished-test-infra/test-support/*": ["packages/unpublished-test-infra/addon-test-support/*"],
"fastboot-test-app/tests/*": ["tests/*"],
"fastboot-test-app/*": ["app/*"],
"*": ["packages/store/types/*", "packages/record-data/types/*", "packages/fastboot-test-app/types/*"]
diff --git a/yarn.lock b/yarn.lock
index 963bc8357ca..c03bbeb7be6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -124,7 +124,7 @@
"@babel/traverse" "^7.4.4"
"@babel/types" "^7.4.4"
-"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0":
+"@babel/helper-create-class-features-plugin@^7.4.4":
version "7.6.0"
resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f"
integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==
@@ -136,6 +136,18 @@
"@babel/helper-replace-supers" "^7.5.5"
"@babel/helper-split-export-declaration" "^7.4.4"
+"@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz#fce60939fd50618610942320a8d951b3b639da2d"
+ integrity sha512-l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==
+ dependencies:
+ "@babel/helper-function-name" "^7.7.4"
+ "@babel/helper-member-expression-to-functions" "^7.7.4"
+ "@babel/helper-optimise-call-expression" "^7.7.4"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.7.4"
+ "@babel/helper-split-export-declaration" "^7.7.4"
+
"@babel/helper-define-map@^7.5.5":
version "7.5.5"
resolved "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369"
@@ -448,6 +460,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-typescript@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.7.4.tgz#5d037ffa10f3b25a16f32570ebbe7a8c2efa304b"
+ integrity sha512-77blgY18Hud4NM1ggTA8xVT/dBENQf17OpiToSa2jSmEY3fWXD2jwrdVlO4kq5yzUTeF15WSQ6b4fByNvJcjpQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-transform-arrow-functions@^7.2.0":
version "7.2.0"
resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
@@ -710,14 +729,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-typescript@^7.6.0":
- version "7.6.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz#48d78405f1aa856ebeea7288a48a19ed8da377a6"
- integrity sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog==
+"@babel/plugin-transform-typescript@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.7.4.tgz#2974fd05f4e85c695acaf497f432342de9fc0636"
+ integrity sha512-X8e3tcPEKnwwPVG+vP/vSqEShkwODOEeyQGod82qrIuidwIrfnsGn11qPM1jBLF4MqguTXXYzm58d0dY+/wdpg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.6.0"
+ "@babel/helper-create-class-features-plugin" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-typescript" "^7.2.0"
+ "@babel/plugin-syntax-typescript" "^7.7.4"
"@babel/plugin-transform-typescript@~7.4.0":
version "7.4.5"
@@ -947,6 +966,20 @@
silent-error "^1.1.1"
util.promisify "^1.0.0"
+"@ember/optional-features@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@ember/optional-features/-/optional-features-1.1.0.tgz#0ff27ba6e9fc1f1e936e024f6a7cc33a96abffba"
+ integrity sha512-ST3+gIRH2WtgGcOtf42uM9WaXBY4dj4//zoTYV6GPe8cp0XdJEU63oMo9SbE6+0Efp8lvk96LsX+DVDDZy9Rmw==
+ dependencies:
+ chalk "^2.4.2"
+ co "^4.6.0"
+ ember-cli-version-checker "^3.1.3"
+ glob "^7.1.5"
+ inquirer "^6.5.1"
+ mkdirp "^0.5.1"
+ silent-error "^1.1.1"
+ util.promisify "^1.0.0"
+
"@ember/ordered-set@^2.0.3":
version "2.0.3"
resolved "https://registry.npmjs.org/@ember/ordered-set/-/ordered-set-2.0.3.tgz#2ac1ca73b3bd116063cae814898832ef434a57f9"
@@ -1095,6 +1128,30 @@
"@glimmer/util" "^0.42.0"
"@glimmer/wire-format" "^0.42.0"
+"@glimmer/component@^1.0.0-beta.3":
+ version "1.0.0-beta.3"
+ resolved "https://registry.npmjs.org/@glimmer/component/-/component-1.0.0-beta.3.tgz#bc466f4da776cb74bc8c6c836d6aa658f2161bee"
+ integrity sha512-I/NTVE8Nz0gjvAlO9mAdP0+XumRj65zqh0+J2jBDxAQHJTw9R55MTx4nvkbQteh6+sWPixFzgtt/oLzy8L9sxQ==
+ dependencies:
+ "@glimmer/di" "^0.1.9"
+ "@glimmer/env" "^0.1.7"
+ "@glimmer/util" "^0.44.0"
+ broccoli-file-creator "^2.1.1"
+ broccoli-merge-trees "^3.0.2"
+ ember-cli-babel "^7.7.3"
+ ember-cli-get-component-path-option "^1.0.0"
+ ember-cli-is-package-missing "^1.0.0"
+ ember-cli-normalize-entity-name "^1.0.0"
+ ember-cli-path-utils "^1.0.0"
+ ember-cli-string-utils "^1.1.0"
+ ember-cli-typescript "3.0.0"
+ ember-compatibility-helpers "^1.1.2"
+
+"@glimmer/di@^0.1.9":
+ version "0.1.11"
+ resolved "https://registry.npmjs.org/@glimmer/di/-/di-0.1.11.tgz#a6878c07a13a2c2c76fcde598a5c97637bfc4280"
+ integrity sha1-poeMB6E6LCx2/N5ZilyXY3v8QoA=
+
"@glimmer/di@^0.2.0":
version "0.2.1"
resolved "https://registry.npmjs.org/@glimmer/di/-/di-0.2.1.tgz#5286b6b32040232b751138f6d006130c728d4b3d"
@@ -1132,6 +1189,11 @@
resolved "https://registry.npmjs.org/@glimmer/util/-/util-0.42.0.tgz#3f3a647ecaa16bbe4fc0545923d3b0a527319d78"
integrity sha512-rvXxKVb7BoQUvdrEQgxyvIeqGRUFM4LZAc7X1OmIpMnoaEh3fyx/e8Bz0blF0Yk6QvHpfV/GKirhlGmfum/ISA==
+"@glimmer/util@^0.44.0":
+ version "0.44.0"
+ resolved "https://registry.npmjs.org/@glimmer/util/-/util-0.44.0.tgz#45df98d73812440206ae7bda87cfe04aaae21ed9"
+ integrity sha512-duAsm30uVK9jSysElCbLyU6QQYO2X9iLDLBIBUcCqck9qN1o3tK2qWiHbGK5d6g8E2AJ4H88UrfElkyaJlGrwg==
+
"@glimmer/wire-format@^0.42.0":
version "0.42.0"
resolved "https://registry.npmjs.org/@glimmer/wire-format/-/wire-format-0.42.0.tgz#53f9a6cbcb9882af3a55aed83929f71799f73fab"
@@ -1922,6 +1984,81 @@
resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
+"@tracerbench/core@3.0.7":
+ version "3.0.7"
+ resolved "https://registry.npmjs.org/@tracerbench/core/-/core-3.0.7.tgz#468371c917e0b70dd5075045e1be42b4afc64640"
+ integrity sha512-3klQeTg7WtVKNJSih6J7kbEkP3PLGUXs+rE0OxKmMTiH/pP8CeBCw4uGLL/+Ok7jc/l3fFsb6Q960Yv7kXQhrQ==
+ dependencies:
+ "@types/d3-hierarchy" "^1.1.6"
+ "@types/node" "*"
+ array-binsearch "^1.0.1"
+ chalk "^2.4.2"
+ chrome-debugging-client "^1.0.3"
+ d3-hierarchy "^1.1.8"
+ debug "^4.1.1"
+ devtools-protocol "0.0.665395"
+ handlebars "^4.4.3"
+ lodash.clonedeep "^4.5.0"
+ silent-error "^1.1.1"
+ tslib "^1.10.0"
+
+"@tracerbench/find-chrome@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/find-chrome/-/find-chrome-1.2.0.tgz#6a71f080ffff8d69d817df127650a0ec226c27aa"
+ integrity sha512-es9tJkxj5ZGndlyhLe5YuXdvXT8WqXo6gOZk2ssfJmIhRw/aUnJruYzFk3K8qH/be+pjOwQX1vsGI1gK76dP/g==
+ dependencies:
+ chrome-launcher "^0.12.0"
+
+"@tracerbench/message-transport@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/message-transport/-/message-transport-1.2.0.tgz#f75d56ad0d2f1ea38946e8d79934ec7bd20e9dc7"
+ integrity sha512-OealxVa0jVyNVInjfhAwvr6z8/hIUtfFAn0DP30NoWAo37tbwl3p9pgfyMWmix2kmFmIKBpcMcJpBjzbd6wfCA==
+
+"@tracerbench/protocol-connection@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/protocol-connection/-/protocol-connection-1.2.0.tgz#0c736fce2f900e76e863286311a51c810cccfc73"
+ integrity sha512-84nVBs4BfzZ41I0Yv2Ca2H8lclw5/lr83Ra9mcHy9WCc9V23WF6cB/9tsK4+7yvovN0N0KpJWAluf+TkQMZOUA==
+ dependencies:
+ "@tracerbench/message-transport" "^1.2.0"
+ "@tracerbench/protocol-transport" "^1.2.0"
+ race-cancellation "^0.4.1"
+
+"@tracerbench/protocol-transport@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/protocol-transport/-/protocol-transport-1.2.0.tgz#4d54824118f2a0d8c1b74f7b6f53816507d20d2f"
+ integrity sha512-FePY6aKm4w2UR/LUzFYhheT5SV9AWTl+Xqk4c9oq27pa4erfwXgbM8osCnAP4C3MCxn4UPxnwI7oOzLU/4PwLQ==
+ dependencies:
+ "@tracerbench/message-transport" "^1.2.0"
+ race-cancellation "^0.4.1"
+
+"@tracerbench/spawn-chrome@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/spawn-chrome/-/spawn-chrome-1.2.0.tgz#be133e1579c62454c3b3da42ad1cb8cd2fde6ee3"
+ integrity sha512-ht4StGdwAMNlBXu9uOQsVM64mOrNHPrAtdRZh/vwVlP+H71iQpXFzcbSYrDsRZvSlMNrj5CyWeaFBUlQNJmn5g==
+ dependencies:
+ "@tracerbench/find-chrome" "^1.2.0"
+ "@tracerbench/spawn" "^1.2.0"
+ tmp "^0.1.0"
+
+"@tracerbench/spawn@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/spawn/-/spawn-1.2.0.tgz#28783283229ad65ca68f5d28ce377b41e9d286af"
+ integrity sha512-nuupj9/OcrLnkPKgtXw9iKgPuJ4nSHpYjQ5quCRo5xi9o01X9ZRVBu+Fgcms+4XmL3iFyvaTfXUrkaL4c7ASyA==
+ dependencies:
+ "@tracerbench/message-transport" "^1.2.0"
+ debug "^4.1.1"
+ execa "^3.3.0"
+ race-cancellation "^0.4.1"
+
+"@tracerbench/websocket-message-transport@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@tracerbench/websocket-message-transport/-/websocket-message-transport-1.2.0.tgz#4b17734549d44896fc416187353ab650b1a9dfed"
+ integrity sha512-6/a/dWQoPrAlX2NmEhjxFk9TsyrmggDuL2KO/E9+KwPZcXwlH3rJ9N2hBg2FlXYyfoTghoRpElMZiGdHO3PSGQ==
+ dependencies:
+ "@tracerbench/message-transport" "^1.2.0"
+ race-cancellation "^0.4.1"
+ ws "^7.1.2"
+
"@types/acorn@^4.0.3":
version "4.0.5"
resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.5.tgz#e29fdf884695e77be4e99e67d748f5147255752d"
@@ -1934,6 +2071,11 @@
resolved "https://registry.npmjs.org/@types/broccoli-plugin/-/broccoli-plugin-1.3.0.tgz#38f8462fecaebc4e09a32e4d4ed1b9808f75bbca"
integrity sha512-SLk4/hFc2kGvgwNFrpn2O1juxFOllcHAywvlo7VwxfExLzoz1GGJ0oIZCwj5fwSpvHw4AWpZjJ1fUvb62PDayQ==
+"@types/d3-hierarchy@^1.1.6":
+ version "1.1.6"
+ resolved "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-1.1.6.tgz#4c017521900813ea524c9ecb8d7985ec26a9ad9a"
+ integrity sha512-vvSaIDf/Ov0o3KwMT+1M8+WbnnlRiGjlGD5uvk83a1mPCTd/E5x12bUJ/oP55+wUY/4Kb5kc67rVpVGJ2KUHxg==
+
"@types/ember-qunit@^3.4.6":
version "3.4.6"
resolved "https://registry.npmjs.org/@types/ember-qunit/-/ember-qunit-3.4.6.tgz#b09ae84192c16fbd1da0d1be26fa02b67691250d"
@@ -1942,7 +2084,15 @@
"@types/ember" "*"
"@types/ember-test-helpers" "*"
-"@types/ember-test-helpers@*", "@types/ember-test-helpers@~1.0.5":
+"@types/ember-qunit@^3.4.7":
+ version "3.4.7"
+ resolved "https://registry.npmjs.org/@types/ember-qunit/-/ember-qunit-3.4.7.tgz#57dad9f01ff6136cdadf2a06b7089af91661d3b5"
+ integrity sha512-1VK5oazKvIenJK9M1DwXncgnpk+G1B1O4N7+ABml+V7+EGVhqpxfS3FRi3Y27+luPCQ3Ya1M8Da76fO85DNLrQ==
+ dependencies:
+ "@types/ember" "*"
+ "@types/ember-test-helpers" "*"
+
+"@types/ember-test-helpers@*":
version "1.0.5"
resolved "https://registry.npmjs.org/@types/ember-test-helpers/-/ember-test-helpers-1.0.5.tgz#b0a8a3b9386ddf372eef11ba95487be806674ca2"
integrity sha512-LewaqxBqUDxT40Lb8M7r0pDlF78b5O87mQRK+8GqrreK/s3MSX/BXgxi5hbWF3TPJ57iX3G4S2TNO8z8soXYdA==
@@ -1952,6 +2102,16 @@
"@types/jquery" "*"
"@types/rsvp" "*"
+"@types/ember-test-helpers@~1.0.6":
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/@types/ember-test-helpers/-/ember-test-helpers-1.0.6.tgz#4d63faf26bae0511289c281fce019800b167f7fd"
+ integrity sha512-NhYw7NdY+l/R94ePq3FqGoejJDRrqU0wPLU1itZBLGS8z6BGOBPS0stip9oWnGs5kDgTVWD/m56gkY3mbSbz0Q==
+ dependencies:
+ "@types/ember" "*"
+ "@types/htmlbars-inline-precompile" "*"
+ "@types/jquery" "*"
+ "@types/rsvp" "*"
+
"@types/ember-testing-helpers@~0.0.3":
version "0.0.3"
resolved "https://registry.npmjs.org/@types/ember-testing-helpers/-/ember-testing-helpers-0.0.3.tgz#1a6cfc484b63d19ddd822c87e4dd710597db17d9"
@@ -1984,6 +2144,31 @@
"@types/jquery" "*"
"@types/rsvp" "*"
+"@types/ember@^3.1.1":
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/@types/ember/-/ember-3.1.1.tgz#401810fa3ba911855d609d334ea77990b9b94802"
+ integrity sha512-8Yu+7qvcRA80NXuJrgii25hi4B/P3lrCug34O2ksPNHk2z1RaLnjKSj0cptQXMQAMnVtM0Vye8lAwUle47/M9w==
+ dependencies:
+ "@types/ember__application" "*"
+ "@types/ember__array" "*"
+ "@types/ember__component" "*"
+ "@types/ember__controller" "*"
+ "@types/ember__debug" "*"
+ "@types/ember__engine" "*"
+ "@types/ember__error" "*"
+ "@types/ember__object" "*"
+ "@types/ember__polyfills" "*"
+ "@types/ember__routing" "*"
+ "@types/ember__runloop" "*"
+ "@types/ember__service" "*"
+ "@types/ember__string" "*"
+ "@types/ember__template" "*"
+ "@types/ember__test" "*"
+ "@types/ember__utils" "*"
+ "@types/htmlbars-inline-precompile" "*"
+ "@types/jquery" "*"
+ "@types/rsvp" "*"
+
"@types/ember__application@*":
version "3.0.7"
resolved "https://registry.npmjs.org/@types/ember__application/-/ember__application-3.0.7.tgz#8a34f6d75661256d6d6859dcdde848bdd3bea47e"
@@ -2083,6 +2268,11 @@
resolved "https://registry.npmjs.org/@types/ember__string/-/ember__string-3.0.6.tgz#79b10b0fc0136a9c86536bc55cbd18cae9a9bd3b"
integrity sha512-VBKH8nR/uK2tlr9eob8Nl+0cKP62GNtFWqq4PVGusnBMPFktGley1gsUhqNYJ9G3y2mvVfikicxM2/bE5AMYLA==
+"@types/ember__template@*":
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/@types/ember__template/-/ember__template-3.0.0.tgz#d499ebf000faa371c1c98124633b9864be69b968"
+ integrity sha512-aWNg/kL2QToE0fwI8MVgAr2upWyAUwqRv2sp3CpypsMTOC1lZizIehz8QI6w1m1+Eh1WYs/89gvuM3mTc4OyIw==
+
"@types/ember__test-helpers@~0.7.8":
version "0.7.8"
resolved "https://registry.npmjs.org/@types/ember__test-helpers/-/ember__test-helpers-0.7.8.tgz#16d6e060ec88e5510756d00e8f191fa48d9e0362"
@@ -2679,6 +2869,11 @@ array-back@^3.0.1:
resolved "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0"
integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==
+array-binsearch@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/array-binsearch/-/array-binsearch-1.0.1.tgz#35586dca04ca9ab259c4c4708435acd1babb08ad"
+ integrity sha1-NVhtygTKmrJZxMRwhDWs0bq7CK0=
+
array-differ@^2.0.3:
version "2.1.0"
resolved "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1"
@@ -2830,6 +3025,11 @@ async-each@^1.0.1:
resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+async-limiter@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+ integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
@@ -4880,6 +5080,31 @@ chownr@^1.1.1:
resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==
+chrome-debugging-client@^1.0.3:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/chrome-debugging-client/-/chrome-debugging-client-1.2.0.tgz#23efc68b75b57c2b8cbdbdb99997cae01f0a31ea"
+ integrity sha512-GtC79nrKEUSZqwlzdFl1ULgYMqJmRcoI9pwLITDzQCzFHuvSDw3IFbAsMAnzSYyKo5AXa6C2uddkxG2oocu+xg==
+ dependencies:
+ "@tracerbench/find-chrome" "^1.2.0"
+ "@tracerbench/message-transport" "^1.2.0"
+ "@tracerbench/protocol-connection" "^1.2.0"
+ "@tracerbench/spawn" "^1.2.0"
+ "@tracerbench/spawn-chrome" "^1.2.0"
+ "@tracerbench/websocket-message-transport" "^1.2.0"
+ debug "^4.1.1"
+ race-cancellation "^0.4.1"
+
+chrome-launcher@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.12.0.tgz#08db81ef0f7b283c331df2c350e780c38bd0ce3a"
+ integrity sha512-rBUP4tvWToiileDi3UR0SbWKoUoDCYTRmVND2sdoBL1xANBgVz8V9h1yQluj3MEQaBJg0fRw7hW82uOPrJus7A==
+ dependencies:
+ "@types/node" "*"
+ is-wsl "^2.1.0"
+ lighthouse-logger "^1.0.0"
+ mkdirp "0.5.1"
+ rimraf "^2.6.1"
+
chrome-trace-event@^1.0.0:
version "1.0.2"
resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
@@ -5506,6 +5731,15 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
+cross-spawn@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
+ integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
cryptiles@0.2.x:
version "0.2.2"
resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c"
@@ -5584,6 +5818,11 @@ cyclist@~0.2.2:
resolved "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
+d3-hierarchy@^1.1.8:
+ version "1.1.9"
+ resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83"
+ integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==
+
dag-map@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/dag-map/-/dag-map-2.0.2.tgz#9714b472de82a1843de2fba9b6876938cab44c68"
@@ -5817,6 +6056,11 @@ detect-libc@^1.0.2:
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+devtools-protocol@0.0.665395:
+ version "0.0.665395"
+ resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.665395.tgz#82f57f1e9393a605907d0260972d8b5a023df807"
+ integrity sha512-yuxo2OYq+RC1PCU7QOqhhHHKojvZvG1A0DoYnsHpIha3P8ZERpHuLkwAkPyFa2ZdLLk7Vq2BhOS2bkPeLZ1ySg==
+
dezalgo@^1.0.0:
version "1.0.3"
resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
@@ -6259,15 +6503,15 @@ ember-cli-htmlbars@^3.0.1:
strip-bom "^3.0.0"
ember-cli-htmlbars@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-4.0.0.tgz#856b8e2335dc69fd9ecfc74aa0a04959e82a95de"
- integrity sha512-BQpKjFYDpu6ozEoyAjn7DHljHxt5KUPUwFYOqF2NNMSJJjpky2DgoJgsaP4xG8wvSoZXwGLPUcbdtQLoOH2bIw==
+ version "4.0.8"
+ resolved "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-4.0.8.tgz#e87b62e7040bd478a2d007053bdb1644dd1685b0"
+ integrity sha512-B6fzlqmv2E2dl8P6UIYu3bY8nZU2kKfl1VkEIgxFAINfsu9fP65kX/bKzHqGhHF8nAtWBoXZWw6tomHKfUT/Jg==
dependencies:
"@ember/edition-utils" "^1.1.1"
- babel-plugin-htmlbars-inline-precompile "^2.1.0"
+ babel-plugin-htmlbars-inline-precompile "^3.0.0"
broccoli-debug "^0.6.5"
broccoli-persistent-filter "^2.3.1"
- broccoli-plugin "^2.0.0"
+ 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"
@@ -6276,8 +6520,8 @@ ember-cli-htmlbars@^4.0.0:
json-stable-stringify "^1.0.1"
mkdirp "^0.5.1"
semver "^6.3.0"
- strip-bom "^3.0.0"
- walk-sync "^1.1.3"
+ strip-bom "^4.0.0"
+ walk-sync "^2.0.2"
ember-cli-htmlbars@^4.0.3:
version "4.0.3"
@@ -6455,40 +6699,40 @@ ember-cli-typescript-blueprints@^3.0.0:
inflection "^1.12.0"
silent-error "^1.1.0"
-ember-cli-typescript@^2.0.0:
- version "2.0.2"
- resolved "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.2.tgz#464984131fbdc05655eb61d1c3cdd911d3137f0d"
- integrity sha512-7I5azCTxOgRDN8aSSnJZIKSqr+MGnT+jLTUbBYqF8wu6ojs2DUnTePxUcQMcvNh3Q3B1ySv7Q/uZFSjdU9gSjA==
+ember-cli-typescript@3.0.0, ember-cli-typescript@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz#3b838d1ce9e4d22a98e68da22ceac6dc0cfd9bfc"
+ integrity sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==
dependencies:
- "@babel/plugin-proposal-class-properties" "^7.1.0"
- "@babel/plugin-transform-typescript" "~7.4.0"
+ "@babel/plugin-transform-typescript" "~7.5.0"
ansi-to-html "^0.6.6"
debug "^4.0.0"
ember-cli-babel-plugin-helpers "^1.0.0"
- execa "^1.0.0"
- fs-extra "^7.0.0"
+ execa "^2.0.0"
+ fs-extra "^8.0.0"
resolve "^1.5.0"
rsvp "^4.8.1"
semver "^6.0.0"
stagehand "^1.0.0"
- walk-sync "^1.0.0"
+ walk-sync "^2.0.0"
-ember-cli-typescript@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz#3b838d1ce9e4d22a98e68da22ceac6dc0cfd9bfc"
- integrity sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==
+ember-cli-typescript@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.2.tgz#464984131fbdc05655eb61d1c3cdd911d3137f0d"
+ integrity sha512-7I5azCTxOgRDN8aSSnJZIKSqr+MGnT+jLTUbBYqF8wu6ojs2DUnTePxUcQMcvNh3Q3B1ySv7Q/uZFSjdU9gSjA==
dependencies:
- "@babel/plugin-transform-typescript" "~7.5.0"
+ "@babel/plugin-proposal-class-properties" "^7.1.0"
+ "@babel/plugin-transform-typescript" "~7.4.0"
ansi-to-html "^0.6.6"
debug "^4.0.0"
ember-cli-babel-plugin-helpers "^1.0.0"
- execa "^2.0.0"
- fs-extra "^8.0.0"
+ execa "^1.0.0"
+ fs-extra "^7.0.0"
resolve "^1.5.0"
rsvp "^4.8.1"
semver "^6.0.0"
stagehand "^1.0.0"
- walk-sync "^2.0.0"
+ walk-sync "^1.0.0"
ember-cli-uglify@3.0.0:
version "3.0.0"
@@ -6728,7 +6972,7 @@ ember-cli@~3.13.1:
watch-detector "^1.0.0"
yam "^1.0.0"
-ember-compatibility-helpers@^1.1.1, ember-compatibility-helpers@^1.2.0:
+ember-compatibility-helpers@^1.1.1, ember-compatibility-helpers@^1.1.2, ember-compatibility-helpers@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.2.0.tgz#feee16c5e9ef1b1f1e53903b241740ad4b01097e"
integrity sha512-pUW4MzJdcaQtwGsErYmitFRs0rlCYBAnunVzlFFUBr4xhjlCjgHJo0b53gFnhTgenNM3d3/NqLarzRhDTjXRTg==
@@ -7454,7 +7698,22 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
-execa@^2.0.0, execa@^2.0.4:
+execa@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
+ integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^3.0.0"
+ onetime "^5.1.0"
+ p-finally "^2.0.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
+execa@^2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/execa/-/execa-2.0.4.tgz#2f5cc589c81db316628627004ea4e37b93391d8e"
integrity sha512-VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==
@@ -7469,6 +7728,22 @@ execa@^2.0.0, execa@^2.0.4:
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
+execa@^3.3.0:
+ version "3.4.0"
+ resolved "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89"
+ integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ p-finally "^2.0.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
exists-sync@0.0.3:
version "0.0.3"
resolved "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz#b910000bedbb113b378b82f5f5a7638107622dcf"
@@ -8395,6 +8670,18 @@ glob@^7.0.3, glob@^7.0.4, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, gl
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^7.1.5:
+ version "7.1.6"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
@@ -8521,6 +8808,17 @@ handlebars@^4.0.13:
optionalDependencies:
uglify-js "^3.1.4"
+handlebars@^4.4.3:
+ version "4.5.3"
+ resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482"
+ integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==
+ dependencies:
+ neo-async "^2.6.0"
+ optimist "^0.6.1"
+ source-map "^0.6.1"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
@@ -8873,6 +9171,11 @@ https@^1.0.0:
resolved "https://registry.npmjs.org/https/-/https-1.0.0.tgz#3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4"
integrity sha1-PDfHrhqO65ZpBKKtHpdaGUt+06Q=
+human-signals@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
+ integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+
humanize-ms@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
@@ -9379,6 +9682,11 @@ is-wsl@^1.1.0:
resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+is-wsl@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d"
+ integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==
+
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
@@ -9729,6 +10037,14 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+lighthouse-logger@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.2.0.tgz#b76d56935e9c137e86a04741f6bb9b2776e886ca"
+ integrity sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==
+ dependencies:
+ debug "^2.6.8"
+ marky "^1.2.0"
+
line-stream@0.0.0:
version "0.0.0"
resolved "https://registry.npmjs.org/line-stream/-/line-stream-0.0.0.tgz#888b7cc7951c6a05ce4d696dd1e6b8262371bb45"
@@ -10225,6 +10541,11 @@ markdown-it@^9.0.1:
mdurl "^1.0.1"
uc.micro "^1.0.5"
+marky@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/marky/-/marky-1.2.1.tgz#a3fcf82ffd357756b8b8affec9fdbf3a30dc1b02"
+ integrity sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==
+
matcher-collection@^1.0.0, matcher-collection@^1.0.4, matcher-collection@^1.1.1:
version "1.1.2"
resolved "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz#1076f506f10ca85897b53d14ef54f90a5c426838"
@@ -10865,6 +11186,11 @@ node-watch@0.6.0:
resolved "https://registry.npmjs.org/node-watch/-/node-watch-0.6.0.tgz#ab0703b60cd270783698e57a428faa0010ed8fd0"
integrity sha512-XAgTL05z75ptd7JSVejH1a2Dm1zmXYhuDr9l230Qk6Z7/7GPcnAs/UyJJ4ggsXSvWil8iOzwQLW0zuGUvHpG8g==
+node-watch@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/node-watch/-/node-watch-0.6.1.tgz#b9874111ce9f5841b1c7596120206c7b825be0e9"
+ integrity sha512-gwQiR7weFRV8mAtT0x0kXkZ18dfRLB45xH7q0hCOVQMLfLb2f1ZaSvR57q4/b/Vj6B0RwMNJYbvb69e1yM7qEA==
+
"nopt@2 || 3", nopt@^3.0.6:
version "3.0.6"
resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -10981,6 +11307,13 @@ npm-run-path@^3.0.0:
dependencies:
path-key "^3.0.0"
+npm-run-path@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.0.tgz#d644ec1bd0569187d2a52909971023a0a58e8438"
+ integrity sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ==
+ dependencies:
+ path-key "^3.0.0"
+
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
@@ -11498,6 +11831,11 @@ path-key@^3.0.0:
resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz#99a10d870a803bdd5ee6f0470e58dfcd2f9a54d3"
integrity sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
@@ -11922,6 +12260,14 @@ qunit-dom@^0.9.0:
broccoli-funnel "^2.0.2"
broccoli-merge-trees "^3.0.1"
+qunit-dom@^0.9.2:
+ version "0.9.2"
+ resolved "https://registry.npmjs.org/qunit-dom/-/qunit-dom-0.9.2.tgz#cc7bb777e4f5faa749eca843f54e199755df8473"
+ integrity sha512-BPf7OZjhXo9ekgsViNjQVS9BWkm2yQsPvBoy0juvt5nOFlcBVVwHSYsgpsJOunWkI1IgA3eStAC9mQx3Zw734g==
+ dependencies:
+ broccoli-funnel "^2.0.2"
+ broccoli-merge-trees "^3.0.1"
+
qunit@^2.9.2:
version "2.9.2"
resolved "https://registry.npmjs.org/qunit/-/qunit-2.9.2.tgz#97919440c9c0ae838bcd3c33a2ee42f35c5ef4a0"
@@ -11933,6 +12279,22 @@ qunit@^2.9.2:
node-watch "0.6.0"
resolve "1.9.0"
+qunit@^2.9.3:
+ version "2.9.3"
+ resolved "https://registry.npmjs.org/qunit/-/qunit-2.9.3.tgz#9522a088e76f0782f70a45db92f2fd14db311bcc"
+ integrity sha512-RH4VYSaVsNRDthMFFboTJAJ8q4kJM5LvOqWponKUYPEAeOcmc/YFV1QsZ7ikknA3TjqliWFJYEV63vvVXaALmQ==
+ dependencies:
+ commander "2.12.2"
+ js-reporters "1.2.1"
+ minimatch "3.0.4"
+ node-watch "0.6.1"
+ resolve "1.9.0"
+
+race-cancellation@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmjs.org/race-cancellation/-/race-cancellation-0.4.1.tgz#bd1c69bf5b836b56645a4b5b78fb9b973c46eb45"
+ integrity sha512-TF1vf4q/a5mwER9DoIuniE/qNIRM3Begyoe+21VUKgsyQAT4iIfSqlK7aG4Of1J1wzeATqVwbDP0dwX9GhaGcw==
+
ramda@^0.26.1:
version "0.26.1"
resolved "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06"
@@ -12763,11 +13125,23 @@ shebang-command@^1.2.0:
dependencies:
shebang-regex "^1.0.0"
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
shellwords@^0.1.1:
version "0.1.1"
resolved "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
@@ -13821,7 +14195,7 @@ trim-right@^1.0.1:
resolved "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-tslib@^1.8.1, tslib@^1.9.0:
+tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0:
version "1.10.0"
resolved "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
@@ -13919,6 +14293,11 @@ typescript@~3.6.3:
resolved "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da"
integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==
+typescript@~3.7.2:
+ version "3.7.3"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz#b36840668a16458a7025b9eabfad11b66ab85c69"
+ integrity sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==
+
typical@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4"
@@ -14387,6 +14766,13 @@ which@1.2.x:
dependencies:
isexe "^2.0.0"
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
wide-align@1.1.3, wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@@ -14512,6 +14898,13 @@ ws@^6.1.0:
dependencies:
async-limiter "~1.0.0"
+ws@^7.1.2:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz#422eda8c02a4b5dba7744ba66eebbd84bcef0ec7"
+ integrity sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==
+ dependencies:
+ async-limiter "^1.0.0"
+
ws@~6.1.0:
version "6.1.4"
resolved "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
@@ -14669,3 +15062,8 @@ yuidocjs@^0.10.0:
minimatch "^3.0.2"
rimraf "^2.4.1"
yui "^3.18.1"
+
+zlib@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0"
+ integrity sha1-bnyXL8NxxkWmr7A6sUdp3vEU/MA=