diff --git a/.changelog/16227.txt b/.changelog/16227.txt
new file mode 100644
index 0000000000..698c7bd2fc
--- /dev/null
+++ b/.changelog/16227.txt
@@ -0,0 +1,3 @@
+```release-note:improvement
+ui: update Ember version to 3.27;
+```
\ No newline at end of file
diff --git a/ui/package.json b/ui/package.json
index 1eb11e64fb..b7b44961c1 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -21,9 +21,7 @@
},
"resolutions": {
"xmlhttprequest-ssl": "^1.6.3",
- "ember-basic-dropdown": "3.0.21",
- "ember-changeset": "3.10.1",
- "validated-changeset": "0.10.0"
+ "ember-basic-dropdown": "3.0.21"
},
"engines": {
"node": ">=10 <=14"
diff --git a/ui/packages/consul-ui/.eslintignore b/ui/packages/consul-ui/.eslintignore
index ae9599337a..12c56b25f6 100644
--- a/ui/packages/consul-ui/.eslintignore
+++ b/ui/packages/consul-ui/.eslintignore
@@ -15,6 +15,7 @@ app/utils/dom/event-target/event-target-shim/event.js
# misc
/coverage/
!.*
+.*/
.eslintcache
# ember-try
diff --git a/ui/packages/consul-ui/.eslintrc.js b/ui/packages/consul-ui/.eslintrc.js
index 4875b0b2f2..755726f50c 100644
--- a/ui/packages/consul-ui/.eslintrc.js
+++ b/ui/packages/consul-ui/.eslintrc.js
@@ -72,5 +72,10 @@ module.exports = {
'node/no-unpublished-require': 'off',
}),
},
+ {
+ // Test files:
+ files: ['tests/**/*-test.{js,ts}'],
+ extends: ['plugin:qunit/recommended'],
+ },
],
};
diff --git a/ui/packages/consul-ui/.template-lintrc.js b/ui/packages/consul-ui/.template-lintrc.js
index 8f185a67d4..4daa17b811 100644
--- a/ui/packages/consul-ui/.template-lintrc.js
+++ b/ui/packages/consul-ui/.template-lintrc.js
@@ -1,7 +1,7 @@
'use strict';
module.exports = {
- extends: 'octane',
+ extends: 'recommended',
rules: {
'no-partial': false,
'table-groups': false,
diff --git a/ui/packages/consul-ui/app/validations/intention-permission-http-header.js b/ui/packages/consul-ui/app/validations/intention-permission-http-header.js
index 67d5560b1c..9322bce72e 100644
--- a/ui/packages/consul-ui/app/validations/intention-permission-http-header.js
+++ b/ui/packages/consul-ui/app/validations/intention-permission-http-header.js
@@ -1,8 +1,10 @@
import { validatePresence } from 'ember-changeset-validations/validators';
-import validateSometimes from 'ember-changeset-conditional-validations/validators/sometimes';
+import validateSometimes from 'consul-ui/validations/sometimes';
export default (schema) => ({
Name: [validatePresence(true)],
- Value: validateSometimes([validatePresence(true)], function () {
- return this.get('HeaderType') !== 'Present';
- }),
+ Value: [
+ validateSometimes(validatePresence(true), function () {
+ return this.get('HeaderType') !== 'Present';
+ }),
+ ],
});
diff --git a/ui/packages/consul-ui/app/validations/intention-permission.js b/ui/packages/consul-ui/app/validations/intention-permission.js
index 8fd96a6ce8..a7556e812d 100644
--- a/ui/packages/consul-ui/app/validations/intention-permission.js
+++ b/ui/packages/consul-ui/app/validations/intention-permission.js
@@ -3,27 +3,31 @@ import {
validatePresence,
validateFormat,
} from 'ember-changeset-validations/validators';
-import validateSometimes from 'ember-changeset-conditional-validations/validators/sometimes';
+import validateSometimes from 'consul-ui/validations/sometimes';
const name = 'intention-permission';
export default (schema) => ({
- '*': validateSometimes([validatePresence(true)], function () {
- const methods = this.get('HTTP.Methods') || [];
- const headers = this.get('HTTP.Header') || [];
- const pathType = this.get('HTTP.PathType') || 'NoPath';
- const path = this.get('HTTP.Path') || '';
- const isValid = [
- methods.length !== 0,
- headers.length !== 0,
- pathType !== 'NoPath' && path !== '',
- ].includes(true);
- return !isValid;
- }),
+ '*': [
+ validateSometimes(validatePresence(true), function () {
+ const methods = this.get('HTTP.Methods') || [];
+ const headers = this.get('HTTP.Header') || [];
+ const pathType = this.get('HTTP.PathType') || 'NoPath';
+ const path = this.get('HTTP.Path') || '';
+ const isValid = [
+ methods.length !== 0,
+ headers.length !== 0,
+ pathType !== 'NoPath' && path !== '',
+ ].includes(true);
+ return !isValid;
+ }),
+ ],
Action: [validateInclusion({ in: schema[name].Action.allowedValues })],
HTTP: {
- Path: validateSometimes([validateFormat({ regex: /^\// })], function () {
- const pathType = this.get('HTTP.PathType');
- return typeof pathType !== 'undefined' && pathType !== 'NoPath';
- }),
+ Path: [
+ validateSometimes(validateFormat({ regex: /^\// }), function () {
+ const pathType = this.get('HTTP.PathType');
+ return typeof pathType !== 'undefined' && pathType !== 'NoPath';
+ }),
+ ],
},
});
diff --git a/ui/packages/consul-ui/app/validations/intention.js b/ui/packages/consul-ui/app/validations/intention.js
index 9f03e0dc3b..89b0024864 100644
--- a/ui/packages/consul-ui/app/validations/intention.js
+++ b/ui/packages/consul-ui/app/validations/intention.js
@@ -1,18 +1,20 @@
import { validatePresence, validateLength } from 'ember-changeset-validations/validators';
-import validateSometimes from 'ember-changeset-conditional-validations/validators/sometimes';
+import validateSometimes from 'consul-ui/validations/sometimes';
export default {
- '*': validateSometimes([validatePresence(true)], function () {
- const action = this.get('Action') || '';
- const permissions = this.get('Permissions') || [];
- if (action === '' && permissions.length === 0) {
- return true;
- }
- return false;
- }),
+ '*': [
+ validateSometimes(validatePresence(true), function () {
+ const action = this.get('Action') || '';
+ const permissions = this.get('Permissions') || [];
+ if (action === '' && permissions.length === 0) {
+ return true;
+ }
+ return false;
+ }),
+ ],
SourceName: [validatePresence(true), validateLength({ min: 1 })],
DestinationName: [validatePresence(true), validateLength({ min: 1 })],
Permissions: [
- validateSometimes([validateLength({ min: 1 })], function (changes, content) {
+ validateSometimes(validateLength({ min: 1 }), function (changes, content) {
return !this.get('Action');
}),
],
diff --git a/ui/packages/consul-ui/app/validations/sometimes.js b/ui/packages/consul-ui/app/validations/sometimes.js
new file mode 100644
index 0000000000..4ea54ecca8
--- /dev/null
+++ b/ui/packages/consul-ui/app/validations/sometimes.js
@@ -0,0 +1,45 @@
+/* eslint-disable no-prototype-builtins */
+import { get } from '@ember/object';
+
+export default function validateSometimes(validator, condition) {
+ return guardValidatorWithCondition(validator);
+
+ function guardValidatorWithCondition(validator) {
+ return function (key, newValue, oldValue, changes, content) {
+ let thisValue = {
+ get(property) {
+ if (property.includes('.')) {
+ let changesValue = get(changes, property);
+ if (typeof changesValue !== 'undefined') {
+ return changesValue;
+ }
+
+ // Check if the `changes` value is explicitly undefined,
+ // or if it's not present at all.
+ let pathSegments = property.split('.');
+ let propName = pathSegments.pop();
+ let objPath = pathSegments.join('.');
+
+ let obj = get(changes, objPath);
+ if (obj && obj.hasOwnProperty && obj.hasOwnProperty(propName)) {
+ return changesValue;
+ }
+
+ return get(content, property);
+ }
+
+ if (changes.hasOwnProperty(property)) {
+ return get(changes, property);
+ } else {
+ return get(content, property);
+ }
+ },
+ };
+
+ if (condition.call(thisValue, changes, content)) {
+ return validator(key, newValue, oldValue, changes, content);
+ }
+ return true;
+ };
+ }
+}
diff --git a/ui/packages/consul-ui/config/ember-cli-update.json b/ui/packages/consul-ui/config/ember-cli-update.json
index 7ae868b44e..439897f2bb 100644
--- a/ui/packages/consul-ui/config/ember-cli-update.json
+++ b/ui/packages/consul-ui/config/ember-cli-update.json
@@ -3,7 +3,7 @@
"packages": [
{
"name": "ember-cli",
- "version": "3.24.0",
+ "version": "3.27.0",
"blueprints": [
{
"name": "app",
diff --git a/ui/packages/consul-ui/package.json b/ui/packages/consul-ui/package.json
index 71e5890ab7..91467dd8f4 100644
--- a/ui/packages/consul-ui/package.json
+++ b/ui/packages/consul-ui/package.json
@@ -13,7 +13,7 @@
"build:staging": "ember build --environment staging",
"build:ci": "ember build --environment test",
"doc:toc": "doctoc README.md",
- "lint": "npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'",
+ "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
"lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix",
"lint:hbs": "ember-template-lint .",
"lint:hbs:fix": "ember-template-lint . --fix",
@@ -64,9 +64,9 @@
"@docfy/ember": "^0.4.1",
"@ember/optional-features": "^2.0.0",
"@ember/render-modifiers": "^1.0.2",
- "@ember/test-helpers": "^2.1.4",
- "@glimmer/component": "^1.0.3",
- "@glimmer/tracking": "^1.0.3",
+ "@ember/test-helpers": "^2.2.5",
+ "@glimmer/component": "^1.0.4",
+ "@glimmer/tracking": "^1.0.4",
"@hashicorp/design-system-components": "^1.0.4",
"@hashicorp/design-system-tokens": "^1.0.0",
"@hashicorp/ember-cli-api-double": "^4.0.0",
@@ -107,29 +107,28 @@
"ember-assign-helper": "^0.3.0",
"ember-auto-import": "^2.4.2",
"ember-can": "^4.2.0",
- "ember-changeset-conditional-validations": "^0.6.0",
- "ember-changeset-validations": "~3.9.0",
- "ember-cli": "~3.24.0",
- "ember-cli-app-version": "^4.0.0",
- "ember-cli-babel": "^7.23.0",
+ "ember-changeset-validations": "~3.15.2",
+ "ember-cli": "~3.27.0",
+ "ember-cli-app-version": "^5.0.0",
+ "ember-cli-babel": "^7.26.6",
"ember-cli-code-coverage": "^1.0.0-beta.4",
"ember-cli-dependency-checker": "^3.2.0",
"ember-cli-deprecation-workflow": "^2.1.0",
"ember-cli-flash": "^2.1.1",
- "ember-cli-htmlbars": "^5.3.1",
+ "ember-cli-htmlbars": "^5.7.1",
"ember-cli-inject-live-reload": "^2.0.2",
- "ember-cli-page-object": "^1.17.10",
+ "ember-cli-page-object": "^1.17.11",
"ember-cli-postcss": "^8.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-string-helpers": "^5.0.0",
"ember-cli-template-lint": "^2.0.1",
- "ember-cli-terser": "^4.0.1",
+ "ember-cli-terser": "^4.0.2",
"ember-cli-yadda": "^0.7.0",
- "ember-collection": "^1.0.0-alpha.9",
+ "ember-collection": "^1.0.0",
"ember-compatibility-helpers": "^1.2.5",
"ember-composable-helpers": "^5.0.0",
- "ember-data": "~3.24.0",
- "ember-data-model-fragments": "5.0.0-beta.0",
+ "ember-data": "~3.27.1",
+ "ember-data-model-fragments": "5.0.0-beta.8",
"ember-decorators": "^6.1.1",
"ember-exam": "^6.1.0",
"ember-export-application-global": "^2.0.1",
@@ -143,10 +142,10 @@
"ember-named-blocks-polyfill": "^0.2.3",
"ember-on-helper": "^0.1.0",
"ember-on-resize-modifier": "^0.3.0",
- "ember-page-title": "^6.2.1",
+ "ember-page-title": "^6.2.2",
"ember-power-select": "^4.0.5",
"ember-power-select-with-create": "^0.8.0",
- "ember-qunit": "^5.1.1",
+ "ember-qunit": "^5.1.4",
"ember-ref-bucket": "^4.1.0",
"ember-render-helpers": "^0.2.0",
"ember-resolver": "^8.0.2",
@@ -154,16 +153,17 @@
"ember-router-helpers": "^0.4.0",
"ember-set-helper": "^2.0.0",
"ember-sinon-qunit": "5.0.0",
- "ember-source": "~3.24.0",
+ "ember-source": "~3.27.2",
"ember-stargate": "^0.2.0",
"ember-string-fns": "^1.4.0",
"ember-test-selectors": "^5.0.0",
"ember-truth-helpers": "^3.0.0",
- "eslint": "^7.17.0",
- "eslint-config-prettier": "^7.1.0",
- "eslint-plugin-ember": "^10.1.1",
+ "eslint": "^7.27.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-ember": "^10.4.2",
"eslint-plugin-node": "^11.0.0",
- "eslint-plugin-prettier": "^3.3.1",
+ "eslint-plugin-prettier": "^3.4.0",
+ "eslint-plugin-qunit": "^6.1.1",
"faker": "^5.5.3",
"flat": "^5.0.0",
"hast-util-to-string": "^1.0.4",
@@ -177,9 +177,9 @@
"ngraph.graph": "^19.1.0",
"parse-duration": "^1.0.0",
"pretender": "^3.2.0",
- "prettier": "^2.2.1",
+ "prettier": "^2.3.0",
"pretty-ms": "^7.0.1",
- "qunit": "^2.13.0",
+ "qunit": "^2.15.0",
"qunit-dom": "^1.6.0",
"react-is": "^17.0.1",
"refractor": "^3.5.0",
@@ -190,7 +190,7 @@
"tape": "^5.0.1",
"text-encoding": "^0.7.0",
"tippy.js": "^6.2.7",
- "torii": "^0.10.1",
+ "torii": "^1.0.0-beta.1",
"tracked-built-ins": "^3.1.0",
"unist-util-visit": "^2.0.3",
"wayfarer": "^7.0.1",
diff --git a/ui/packages/consul-ui/tests/acceptance/hcp-login-test.js b/ui/packages/consul-ui/tests/acceptance/hcp-login-test.js
index 28e08aaef8..7f39381d89 100644
--- a/ui/packages/consul-ui/tests/acceptance/hcp-login-test.js
+++ b/ui/packages/consul-ui/tests/acceptance/hcp-login-test.js
@@ -10,7 +10,7 @@ const TOKEN_SET_BY_HCP = 'token-set-by-hcp';
module('Acceptance | hcp login', function (hooks) {
setupApplicationTest(hooks);
- module('with `CONSUL_HTTP_TOKEN` not set', function () {
+ module('with `CONSUL_HTTP_TOKEN` not set', function (hooks) {
hooks.beforeEach(function () {
setupTestEnv(this.owner, {
CONSUL_ACLS_ENABLED: true,
diff --git a/ui/packages/consul-ui/tests/index.html b/ui/packages/consul-ui/tests/index.html
index 4ee572ab4b..3e2cff93aa 100644
--- a/ui/packages/consul-ui/tests/index.html
+++ b/ui/packages/consul-ui/tests/index.html
@@ -23,7 +23,7 @@
-
+
{{content-for "body-footer"}}
{{content-for "test-body-footer"}}
diff --git a/ui/packages/consul-ui/tests/integration/adapters/auth-method-test.js b/ui/packages/consul-ui/tests/integration/adapters/auth-method-test.js
index 7e29dfe329..6e2f436a41 100644
--- a/ui/packages/consul-ui/tests/integration/adapters/auth-method-test.js
+++ b/ui/packages/consul-ui/tests/integration/adapters/auth-method-test.js
@@ -29,6 +29,7 @@ module('Integration | Adapter | auth-method', function (hooks) {
});
});
test('requestForQueryRecord returns the correct body', function (assert) {
+ assert.expect(2);
return nspaceRunner(
(adapter, serializer, client) => {
const request = client.body.bind(client);
diff --git a/ui/packages/consul-ui/tests/integration/adapters/binding-rule-test.js b/ui/packages/consul-ui/tests/integration/adapters/binding-rule-test.js
index bbdc6c1bc5..d9ecc7e60f 100644
--- a/ui/packages/consul-ui/tests/integration/adapters/binding-rule-test.js
+++ b/ui/packages/consul-ui/tests/integration/adapters/binding-rule-test.js
@@ -17,6 +17,7 @@ module('Integration | Adapter | binding-rule', function (hooks) {
assert.equal(`${actual.method} ${actual.url}`, expected);
});
test('requestForQuery returns the correct body', function (assert) {
+ assert.expect(2);
return nspaceRunner(
(adapter, serializer, client) => {
const request = client.body.bind(client);
diff --git a/ui/packages/consul-ui/tests/integration/adapters/discovery-chain-test.js b/ui/packages/consul-ui/tests/integration/adapters/discovery-chain-test.js
index aec3dd3209..d678acc5a5 100644
--- a/ui/packages/consul-ui/tests/integration/adapters/discovery-chain-test.js
+++ b/ui/packages/consul-ui/tests/integration/adapters/discovery-chain-test.js
@@ -29,6 +29,8 @@ module('Integration | Adapter | discovery-chain', function (hooks) {
});
});
test('requestForQueryRecord returns the correct body', function (assert) {
+ assert.expect(2);
+
return nspaceRunner(
(adapter, serializer, client) => {
const request = client.body.bind(client);
diff --git a/ui/packages/consul-ui/tests/integration/adapters/intention-test.js b/ui/packages/consul-ui/tests/integration/adapters/intention-test.js
index f6fe9e50d0..6fa9ac6d99 100644
--- a/ui/packages/consul-ui/tests/integration/adapters/intention-test.js
+++ b/ui/packages/consul-ui/tests/integration/adapters/intention-test.js
@@ -10,6 +10,7 @@ module('Integration | Adapter | intention', function (hooks) {
const id =
'SourcePartition:SourceNS:SourceName:DestinationPartition:DestinationNS:DestinationName';
test('requestForQuery returns the correct url', function (assert) {
+ assert.expect(2);
return nspaceRunner(
(adapter, serializer, client) => {
const request = client.body.bind(client);
diff --git a/ui/packages/consul-ui/tests/integration/adapters/topology-test.js b/ui/packages/consul-ui/tests/integration/adapters/topology-test.js
index 0a9ea05d7e..f20df73ab3 100644
--- a/ui/packages/consul-ui/tests/integration/adapters/topology-test.js
+++ b/ui/packages/consul-ui/tests/integration/adapters/topology-test.js
@@ -31,6 +31,7 @@ module('Integration | Adapter | topology', function (hooks) {
});
});
test('requestForQueryRecord returns the correct body', function (assert) {
+ assert.expect(2);
return nspaceRunner(
(adapter, serializer, client) => {
const request = client.body.bind(client);
diff --git a/ui/packages/consul-ui/tests/integration/components/auth-profile-test.js b/ui/packages/consul-ui/tests/integration/components/auth-profile-test.js
index ebd6d51b02..0edd2152ca 100644
--- a/ui/packages/consul-ui/tests/integration/components/auth-profile-test.js
+++ b/ui/packages/consul-ui/tests/integration/components/auth-profile-test.js
@@ -12,13 +12,13 @@ module('Integration | Component | auth-profile', function (hooks) {
await render(hbs``);
- assert.ok(this.element.textContent.indexOf('AccessorID') !== -1);
+ assert.notStrictEqual(this.element.textContent.indexOf('AccessorID'), -1);
// Template block usage:
await render(hbs`
`);
- assert.ok(this.element.textContent.indexOf('AccessorID') !== -1);
+ assert.notStrictEqual(this.element.textContent.indexOf('AccessorID'), -1);
});
});
diff --git a/ui/packages/consul-ui/tests/integration/serializers/auth-method-test.js b/ui/packages/consul-ui/tests/integration/serializers/auth-method-test.js
index 9f8eeef009..f08462c857 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/auth-method-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/auth-method-test.js
@@ -16,6 +16,7 @@ module('Integration | Serializer | auth-method', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:auth-method');
const request = {
url: `/v1/acl/auth-methods?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
@@ -53,6 +54,7 @@ module('Integration | Serializer | auth-method', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:auth-method');
const request = {
url: `/v1/acl/auth-method/${id}?dc=${dc}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/binding-rule-test.js b/ui/packages/consul-ui/tests/integration/serializers/binding-rule-test.js
index 37323696d8..d840138e97 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/binding-rule-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/binding-rule-test.js
@@ -9,6 +9,7 @@ module('Integration | Serializer | binding-rule', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:binding-rule');
const request = {
url: `/v1/acl/binding-rules?dc=${dc}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/coordinate-test.js b/ui/packages/consul-ui/tests/integration/serializers/coordinate-test.js
index 75e934b253..7f48bd2a1d 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/coordinate-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/coordinate-test.js
@@ -12,6 +12,7 @@ module('Integration | Serializer | coordinate', function (hooks) {
const nspace = 'default';
const partition = 'default';
test('respondForQuery returns the correct data for list endpoint', function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:coordinate');
const request = {
url: `/v1/coordinate/nodes?dc=${dc}`,
diff --git a/ui/packages/consul-ui/tests/integration/serializers/discovery-chain-test.js b/ui/packages/consul-ui/tests/integration/serializers/discovery-chain-test.js
index b16906f950..dabbde3b7e 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/discovery-chain-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/discovery-chain-test.js
@@ -12,6 +12,7 @@ import {
module('Integration | Serializer | discovery-chain', function (hooks) {
setupTest(hooks);
test('respondForQueryRecord returns the correct data for item endpoint', function (assert) {
+ assert.expect(2);
const serializer = this.owner.lookup('serializer:discovery-chain');
const dc = 'dc-1';
const id = 'slug';
diff --git a/ui/packages/consul-ui/tests/integration/serializers/intention-test.js b/ui/packages/consul-ui/tests/integration/serializers/intention-test.js
index 96ee7860c5..76e2114ab6 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/intention-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/intention-test.js
@@ -14,6 +14,7 @@ module('Integration | Serializer | intention', function (hooks) {
const nspace = 'default';
const partition = 'default';
test('respondForQuery returns the correct data for list endpoint', function (assert) {
+ assert.expect(4);
const serializer = this.owner.lookup('serializer:intention');
const request = {
url: `/v1/connect/intentions?dc=${dc}`,
@@ -53,6 +54,7 @@ module('Integration | Serializer | intention', function (hooks) {
});
});
test('respondForQueryRecord returns the correct data for item endpoint', function (assert) {
+ assert.expect(4);
const serializer = this.owner.lookup('serializer:intention');
const request = {
url: `/v1/connect/intentions/${id}?dc=${dc}`,
diff --git a/ui/packages/consul-ui/tests/integration/serializers/kv-test.js b/ui/packages/consul-ui/tests/integration/serializers/kv-test.js
index 1d78c15f16..59bda030cc 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/kv-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/kv-test.js
@@ -16,6 +16,7 @@ module('Integration | Serializer | kv', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:kv');
const request = {
url: `/v1/kv/${id}?keys&dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
@@ -61,6 +62,7 @@ module('Integration | Serializer | kv', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:kv');
const request = {
url: `/v1/kv/${id}?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/node-test.js b/ui/packages/consul-ui/tests/integration/serializers/node-test.js
index 03896a4b39..9275e29219 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/node-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/node-test.js
@@ -12,6 +12,7 @@ module('Integration | Serializer | node', function (hooks) {
const nspace = 'default';
const partition = 'default';
test('respondForQuery returns the correct data for list endpoint', function (assert) {
+ assert.expect(4);
const store = this.owner.lookup('service:store');
const serializer = this.owner.lookup('serializer:node');
serializer.store = store;
@@ -46,6 +47,7 @@ module('Integration | Serializer | node', function (hooks) {
});
});
test('respondForQueryRecord returns the correct data for item endpoint', function (assert) {
+ assert.expect(4);
const store = this.owner.lookup('service:store');
const serializer = this.owner.lookup('serializer:node');
serializer.store = store;
@@ -81,6 +83,8 @@ module('Integration | Serializer | node', function (hooks) {
});
});
test('respondForQueryLeader returns the correct data', function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:node');
const dc = 'dc-1';
const request = {
diff --git a/ui/packages/consul-ui/tests/integration/serializers/nspace-test.js b/ui/packages/consul-ui/tests/integration/serializers/nspace-test.js
index 59fe72c934..a71df3d264 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/nspace-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/nspace-test.js
@@ -13,6 +13,7 @@ module('Integration | Serializer | nspace', function (hooks) {
const undefinedPartition = 'default';
const partition = 'default';
test('respondForQuery returns the correct data for list endpoint', function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:nspace');
const request = {
url: `/v1/namespaces?dc=${dc}${
@@ -44,6 +45,7 @@ module('Integration | Serializer | nspace', function (hooks) {
});
});
test('respondForQueryRecord returns the correct data for item endpoint', function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:nspace');
const id = 'slug';
const request = {
diff --git a/ui/packages/consul-ui/tests/integration/serializers/oidc-provider-test.js b/ui/packages/consul-ui/tests/integration/serializers/oidc-provider-test.js
index 05ebb82000..768c2c695d 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/oidc-provider-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/oidc-provider-test.js
@@ -17,6 +17,8 @@ module('Integration | Serializer | oidc-provider', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when the nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:oidc-provider');
const request = {
url: `/v1/internal/ui/oidc-auth-methods?dc=${dc}`,
@@ -50,6 +52,8 @@ module('Integration | Serializer | oidc-provider', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when the nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:oidc-provider');
const dc = 'dc-1';
const id = 'slug';
diff --git a/ui/packages/consul-ui/tests/integration/serializers/partition-test.js b/ui/packages/consul-ui/tests/integration/serializers/partition-test.js
index ecb446db8c..f2499eb2eb 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/partition-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/partition-test.js
@@ -7,6 +7,8 @@ import { HEADERS_SYMBOL as META } from 'consul-ui/utils/http/consul';
module('Integration | Serializer | partition', function (hooks) {
setupTest(hooks);
test('respondForQuery returns the correct data for list endpoint', function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:partition');
const dc = 'dc-1';
const request = {
diff --git a/ui/packages/consul-ui/tests/integration/serializers/policy-test.js b/ui/packages/consul-ui/tests/integration/serializers/policy-test.js
index 680ad2522d..feeecda8e1 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/policy-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/policy-test.js
@@ -16,6 +16,8 @@ module('Integration | Serializer | policy', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:policy');
const request = {
url: `/v1/acl/policies?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
@@ -52,6 +54,8 @@ module('Integration | Serializer | policy', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:policy');
const request = {
url: `/v1/acl/policy/${id}?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/role-test.js b/ui/packages/consul-ui/tests/integration/serializers/role-test.js
index 345d4b8a72..41904dc67e 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/role-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/role-test.js
@@ -18,6 +18,8 @@ module('Integration | Serializer | role', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:role');
const request = {
url: `/v1/acl/roles?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
@@ -56,6 +58,8 @@ module('Integration | Serializer | role', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:role');
const request = {
url: `/v1/acl/role/${id}?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/service-instance-test.js b/ui/packages/consul-ui/tests/integration/serializers/service-instance-test.js
index 66032c3052..6191f201f1 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/service-instance-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/service-instance-test.js
@@ -15,6 +15,8 @@ module('Integration | Serializer | service-instance', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:service-instance');
const id = 'service-name';
const node = 'node-0';
diff --git a/ui/packages/consul-ui/tests/integration/serializers/service-test.js b/ui/packages/consul-ui/tests/integration/serializers/service-test.js
index 115b50dd8b..2602fc075b 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/service-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/service-test.js
@@ -14,6 +14,7 @@ module('Integration | Serializer | service', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(4);
const serializer = this.owner.lookup('serializer:service');
const request = {
url: `/v1/internal/ui/services?dc=${dc}${
@@ -54,6 +55,8 @@ module('Integration | Serializer | service', function (hooks) {
});
});
test(`respondForQuery returns the correct data for list endpoint when gateway is set when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:service');
const gateway = 'gateway';
const request = {
diff --git a/ui/packages/consul-ui/tests/integration/serializers/session-test.js b/ui/packages/consul-ui/tests/integration/serializers/session-test.js
index b519c6ee6c..d0b840f2e9 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/session-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/session-test.js
@@ -16,6 +16,8 @@ module('Integration | Serializer | session | response', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
+
const serializer = this.owner.lookup('serializer:session');
const node = 'node-id';
const request = {
@@ -54,6 +56,7 @@ module('Integration | Serializer | session | response', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:session');
const request = {
url: `/v1/session/info/${id}?dc=${dc}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/token-test.js b/ui/packages/consul-ui/tests/integration/serializers/token-test.js
index d38507a2c0..a6581efe8e 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/token-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/token-test.js
@@ -19,6 +19,7 @@ module('Integration | Serializer | token', function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`respondForQuery returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:token');
const request = {
url: `/v1/acl/tokens?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
@@ -57,6 +58,7 @@ module('Integration | Serializer | token', function (hooks) {
});
});
test(`respondForQueryRecord returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(1);
const serializer = this.owner.lookup('serializer:token');
const request = {
url: `/v1/acl/token/${id}?dc=${dc}${typeof nspace !== 'undefined' ? `&ns=${nspace}` : ``}${
diff --git a/ui/packages/consul-ui/tests/integration/serializers/topology-test.js b/ui/packages/consul-ui/tests/integration/serializers/topology-test.js
index 47bf5f417c..80da039783 100644
--- a/ui/packages/consul-ui/tests/integration/serializers/topology-test.js
+++ b/ui/packages/consul-ui/tests/integration/serializers/topology-test.js
@@ -12,6 +12,8 @@ import {
module('Integration | Serializer | topology', function (hooks) {
setupTest(hooks);
test('respondForQueryRecord returns the correct data for item endpoint', function (assert) {
+ assert.expect(2);
+
const serializer = this.owner.lookup('serializer:topology');
const dc = 'dc-1';
const id = 'slug';
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/coordinate-test.js b/ui/packages/consul-ui/tests/integration/services/repository/coordinate-test.js
index cf6634ae87..2f3d1b4c7d 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/coordinate-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/coordinate-test.js
@@ -10,6 +10,8 @@ module(`Integration | Service | coordinate`, function (hooks) {
setupTest(hooks);
test('findAllByDatacenter returns the correct data for list endpoint', function (assert) {
+ assert.expect(1);
+
const subject = this.owner.lookup('service:repository/coordinate');
subject.store.serializerFor('coordinate').timestamp = function () {
@@ -53,6 +55,7 @@ module(`Integration | Service | coordinate`, function (hooks) {
});
test('findAllByNode calls findAllByDatacenter with the correct arguments', function (assert) {
assert.expect(3);
+
const datacenter = 'dc-1';
const conf = {
cursor: 1,
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/discovery-chain-test.js b/ui/packages/consul-ui/tests/integration/services/repository/discovery-chain-test.js
index fd9749f5ef..20ea9e9a74 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/discovery-chain-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/discovery-chain-test.js
@@ -7,6 +7,8 @@ module('Integration | Service | discovery-chain', function (hooks) {
const dc = 'dc-1';
const id = 'slug';
test('findBySlug returns the correct data for item endpoint', function (assert) {
+ assert.expect(2);
+
return repo(
'Service',
'findBySlug',
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/kv-test.js b/ui/packages/consul-ui/tests/integration/services/repository/kv-test.js
index 59a786fe59..6991e060e9 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/kv-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/kv-test.js
@@ -13,6 +13,8 @@ module(`Integration | Service | kv`, function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`findAllBySlug returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(2);
+
const subject = this.owner.lookup('service:repository/kv');
subject.store.serializerFor('kv').timestamp = function () {
@@ -58,6 +60,8 @@ module(`Integration | Service | kv`, function (hooks) {
);
});
test(`findBySlug returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(2);
+
const subject = this.owner.lookup('service:repository/kv');
return repo(
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/node-test.js b/ui/packages/consul-ui/tests/integration/services/repository/node-test.js
index b613fb311f..70b370f88a 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/node-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/node-test.js
@@ -11,6 +11,8 @@ module(`Integration | Service | node`, function (hooks) {
setupTest(hooks);
test('findByDatacenter returns the correct data for list endpoint', function (assert) {
+ assert.expect(200);
+
const subject = this.owner.lookup('service:repository/node');
subject.store.serializerFor('node').timestamp = function () {
return now;
@@ -41,6 +43,8 @@ module(`Integration | Service | node`, function (hooks) {
);
});
test('findBySlug returns the correct data for item endpoint', function (assert) {
+ assert.expect(2);
+
const subject = this.owner.lookup('service:repository/node');
return repo(
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/policy-test.js b/ui/packages/consul-ui/tests/integration/services/repository/policy-test.js
index e7a367ecab..776886fd8d 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/policy-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/policy-test.js
@@ -60,6 +60,7 @@ module(`Integration | Service | policy`, function (hooks) {
);
});
test(`findBySlug returns the correct data for item endpoint when the nspace is ${nspace}`, function (assert) {
+ assert.expect(2);
const subject = this.owner.lookup('service:repository/policy');
return repo(
'Policy',
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/service-test.js b/ui/packages/consul-ui/tests/integration/services/repository/service-test.js
index d6d44b0e97..8c02e31147 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/service-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/service-test.js
@@ -11,6 +11,8 @@ module(`Integration | Service | service`, function (hooks) {
const partition = 'default';
[undefinedNspace, 'team-1', undefined].forEach((nspace) => {
test(`findGatewayBySlug returns the correct data for list endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(5);
+
const subject = this.owner.lookup('service:repository/service');
subject.store.serializerFor('service').timestamp = function () {
return now;
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/token-test.js b/ui/packages/consul-ui/tests/integration/services/repository/token-test.js
index d3654029cd..c3b5732406 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/token-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/token-test.js
@@ -57,6 +57,8 @@ module(`Integration | Service | token`, function (hooks) {
);
});
test(`findBySlug returns the correct data for item endpoint when nspace is ${nspace}`, function (assert) {
+ assert.expect(3);
+
const subject = this.owner.lookup('service:repository/token');
return repo(
'Token',
diff --git a/ui/packages/consul-ui/tests/integration/services/repository/topology-test.js b/ui/packages/consul-ui/tests/integration/services/repository/topology-test.js
index b06ed4fa13..9728a45e23 100644
--- a/ui/packages/consul-ui/tests/integration/services/repository/topology-test.js
+++ b/ui/packages/consul-ui/tests/integration/services/repository/topology-test.js
@@ -8,6 +8,8 @@ module('Integration | Service | topology', function (hooks) {
const id = 'slug';
const kind = '';
test('findBySlug returns the correct data for item endpoint', function (assert) {
+ assert.expect(2);
+
return repo(
'Service',
'findBySlug',
diff --git a/ui/packages/consul-ui/tests/unit/abilities/-test.js b/ui/packages/consul-ui/tests/unit/abilities/-test.js
index 08715acf74..b0a7d4925f 100644
--- a/ui/packages/consul-ui/tests/unit/abilities/-test.js
+++ b/ui/packages/consul-ui/tests/unit/abilities/-test.js
@@ -7,6 +7,8 @@ module('Unit | Ability | *', function (hooks) {
// Replace this with your real tests.
test('it exists', function (assert) {
+ assert.expect(228);
+
const abilities = Object.keys(requirejs.entries)
.filter((key) => key.indexOf('/abilities/') !== -1)
.map((key) => key.split('/').pop())
@@ -55,7 +57,8 @@ module('Unit | Ability | *', function (hooks) {
break;
case 'kv':
// TODO: We currently hardcode KVs to always be true
- assert.equal(true, ability[`can${perm}`], `Expected ${item}.can${perm} to be true`);
+ assert.true(ability[`can${perm}`], `Expected ${item}.can${perm} to be true`);
+ // eslint-disable-next-line qunit/no-early-return
return;
case 'license':
case 'zone':
@@ -63,6 +66,7 @@ module('Unit | Ability | *', function (hooks) {
// License permissions also depend on NSPACES_ENABLED;
// behavior works as expected when verified manually but test
// fails due to this dependency. -@evrowe 2022-04-18
+ // eslint-disable-next-line qunit/no-early-return
return;
}
assert.equal(
diff --git a/ui/packages/consul-ui/tests/unit/components/consul/discovery-chain/get-resolvers-test.js b/ui/packages/consul-ui/tests/unit/components/consul/discovery-chain/get-resolvers-test.js
index a5d660d3c8..c299338071 100644
--- a/ui/packages/consul-ui/tests/unit/components/consul/discovery-chain/get-resolvers-test.js
+++ b/ui/packages/consul-ui/tests/unit/components/consul/discovery-chain/get-resolvers-test.js
@@ -10,6 +10,8 @@ const request = {
};
module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
test('it assigns Subsets correctly', function (assert) {
+ assert.expect(3);
+
return get(request.url, {
headers: {
cookie: {
@@ -24,12 +26,14 @@ module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
const childId = Object.keys(Chain.Targets)[1];
const target = Chain.Targets[`${childId}`];
const firstChild = actual[0].Children[0];
- assert.equal(firstChild.Subset, true);
+ assert.true(firstChild.Subset);
assert.equal(firstChild.ID, target.ID);
assert.equal(firstChild.Name, target.ServiceSubset);
});
});
test('it assigns Redirects correctly', function (assert) {
+ assert.expect(2);
+
return get(request.url, {
headers: {
cookie: {
@@ -49,6 +53,8 @@ module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
});
});
test('it assigns Failovers to Subsets correctly', function (assert) {
+ assert.expect(4);
+
return Promise.all(
['Datacenter', 'Namespace'].map(function (failoverType) {
return get(request.url, {
@@ -64,13 +70,15 @@ module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
}).then(function ({ Chain }) {
const actual = getResolvers(dc, partition, nspace, Chain.Targets, Chain.Nodes);
const actualSubset = actual[0].Children[0];
- assert.equal(actualSubset.Subset, true);
+ assert.true(actualSubset.Subset);
assert.equal(actualSubset.Failover.Type, failoverType);
});
})
);
});
test('it assigns Failovers correctly', function (assert) {
+ assert.expect(6);
+
return Promise.all(
['Datacenter', 'Partition', 'Namespace'].map(function (failoverType, i) {
return get(request.url, {
@@ -96,6 +104,8 @@ module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
);
});
test('it finds subsets with failovers correctly', function (assert) {
+ assert.expect(1);
+
return Promise.resolve({
Chain: {
ServiceName: 'service-name',
@@ -162,6 +172,8 @@ module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
});
});
test('it finds services with failovers correctly', function (assert) {
+ assert.expect(1);
+
return Promise.resolve({
Chain: {
ServiceName: 'service-name',
@@ -206,6 +218,8 @@ module('Unit | Component | consul/discovery-chain/get-resolvers', function () {
});
});
test('it finds services with redirects with failovers correctly', function (assert) {
+ assert.expect(1);
+
return Promise.resolve({
Chain: {
ServiceName: 'service-name',
diff --git a/ui/packages/consul-ui/tests/unit/components/search-bar/filters-test.js b/ui/packages/consul-ui/tests/unit/components/search-bar/filters-test.js
index 6327820f9d..c3a05afa69 100644
--- a/ui/packages/consul-ui/tests/unit/components/search-bar/filters-test.js
+++ b/ui/packages/consul-ui/tests/unit/components/search-bar/filters-test.js
@@ -3,6 +3,7 @@ import { module, test } from 'qunit';
module('Unit | Component | search-bar/filters', function () {
test('it correctly reshapes the filter data', function (assert) {
+ assert.expect(5);
[
// basic filter, returns a single filter button when clicked
// resets selected/queryparam to empty
diff --git a/ui/packages/consul-ui/tests/unit/helpers/document-attrs-test.js b/ui/packages/consul-ui/tests/unit/helpers/document-attrs-test.js
index 6ab970c0fd..9db69d9112 100644
--- a/ui/packages/consul-ui/tests/unit/helpers/document-attrs-test.js
+++ b/ui/packages/consul-ui/tests/unit/helpers/document-attrs-test.js
@@ -30,8 +30,9 @@ module('Unit | Helper | document-attrs', function () {
assert.deepEqual(actual, ['a', 'b'], 'keys are removed, leaving keys that need to remain');
// remove first helper
a.synchronize(root);
- assert.ok(
- typeof attrs.get('class') === 'undefined',
+ assert.strictEqual(
+ typeof attrs.get('class'),
+ 'undefined',
'property is completely removed once its empty'
);
assert.throws(() => {
diff --git a/ui/packages/consul-ui/tests/unit/helpers/token/is-legacy-test.js b/ui/packages/consul-ui/tests/unit/helpers/token/is-legacy-test.js
index b998c6b55e..006b13196e 100644
--- a/ui/packages/consul-ui/tests/unit/helpers/token/is-legacy-test.js
+++ b/ui/packages/consul-ui/tests/unit/helpers/token/is-legacy-test.js
@@ -27,11 +27,11 @@ module('Unit | Helper | token/is-legacy', function () {
const actual = isLegacy([[{}, {}]]);
assert.notOk(actual);
});
- test('it returns true if the token has a Legacy=true', function (assert) {
+ test('it returns true if one token has Legacy=true', function (assert) {
const actual = isLegacy([[{}, { Legacy: true }]]);
assert.ok(actual);
});
- test('it returns false if the token has a Legacy=false', function (assert) {
+ test('it returns false if one token as Legacy=false', function (assert) {
const actual = isLegacy([[{}, { Legacy: false }]]);
assert.notOk(actual);
});
diff --git a/ui/packages/consul-ui/tests/unit/mixins/with-blocking-actions-test.js b/ui/packages/consul-ui/tests/unit/mixins/with-blocking-actions-test.js
index 0bd124f2eb..bd06672339 100644
--- a/ui/packages/consul-ui/tests/unit/mixins/with-blocking-actions-test.js
+++ b/ui/packages/consul-ui/tests/unit/mixins/with-blocking-actions-test.js
@@ -57,6 +57,8 @@ module('Unit | Mixin | with blocking actions', function (hooks) {
assert.ok(refresh.calledOnce);
});
test('the error hooks return type', function (assert) {
+ assert.expect(3);
+
const subject = this.subject();
const expected = 'success';
['errorCreate', 'errorUpdate', 'errorDelete'].forEach(function (item) {
diff --git a/ui/packages/consul-ui/tests/unit/search/predicates/intention-test.js b/ui/packages/consul-ui/tests/unit/search/predicates/intention-test.js
index 83abc88104..55843d323b 100644
--- a/ui/packages/consul-ui/tests/unit/search/predicates/intention-test.js
+++ b/ui/packages/consul-ui/tests/unit/search/predicates/intention-test.js
@@ -59,6 +59,8 @@ module('Unit | Search | Predicate | intention', function () {
assert.equal(actual.length, 2);
});
test("* items are found by searching anything in 'All Services (*)'", function (assert) {
+ assert.expect(6);
+
const actual = new ExactSearch(
[
{
diff --git a/ui/packages/consul-ui/tests/unit/serializers/kv-test.js b/ui/packages/consul-ui/tests/unit/serializers/kv-test.js
index b83bd4629a..e435609ce6 100644
--- a/ui/packages/consul-ui/tests/unit/serializers/kv-test.js
+++ b/ui/packages/consul-ui/tests/unit/serializers/kv-test.js
@@ -27,6 +27,8 @@ module('Unit | Serializer | kv', function (hooks) {
'what should respondForCreate/UpdateRecord return when createRecord is called with a `false` payload'
);
test('respondForCreate/UpdateRecord returns a KV uid object when receiving a `true` payload', function (assert) {
+ assert.expect(2);
+
const uid = 'key/name';
const dc = 'dc1';
const nspace = 'default';
@@ -61,6 +63,8 @@ module('Unit | Serializer | kv', function (hooks) {
});
});
test("respondForCreate/UpdateRecord returns the original object if it's not a Boolean", function (assert) {
+ assert.expect(1);
+
const uid = 'key/name';
const dc = 'dc1';
const nspace = 'default';
diff --git a/ui/packages/consul-ui/tests/unit/services/state-test.js b/ui/packages/consul-ui/tests/unit/services/state-test.js
index c67c6526c7..38d0cb7da1 100644
--- a/ui/packages/consul-ui/tests/unit/services/state-test.js
+++ b/ui/packages/consul-ui/tests/unit/services/state-test.js
@@ -14,14 +14,14 @@ module('Unit | Service | state', function (hooks) {
test('.matches performs a match correctly', function (assert) {
const service = this.owner.lookup('service:state');
const state = service.state((id) => id === 'idle');
- assert.equal(service.matches(state, 'idle'), true);
- assert.equal(service.matches(state, 'loading'), false);
+ assert.true(service.matches(state, 'idle'));
+ assert.false(service.matches(state, 'loading'));
});
test('.matches performs a match correctly when passed an array', function (assert) {
const service = this.owner.lookup('service:state');
const state = service.state((id) => id === 'idle');
- assert.equal(service.matches(state, ['idle']), true);
- assert.equal(service.matches(state, ['loading', 'idle']), true);
- assert.equal(service.matches(state, ['loading', 'deleting']), false);
+ assert.true(service.matches(state, ['idle']));
+ assert.true(service.matches(state, ['loading', 'idle']));
+ assert.false(service.matches(state, ['loading', 'deleting']));
});
});
diff --git a/ui/packages/consul-ui/tests/unit/utils/atob-test.js b/ui/packages/consul-ui/tests/unit/utils/atob-test.js
index 4a61f3e427..9ca4d19961 100644
--- a/ui/packages/consul-ui/tests/unit/utils/atob-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/atob-test.js
@@ -42,6 +42,7 @@ module('Unit | Utils | atob', function () {
});
});
test('it decodes strings properly', function (assert) {
+ assert.expect(2);
[
{
test: '',
@@ -57,6 +58,8 @@ module('Unit | Utils | atob', function () {
});
});
test('throws when passed the wrong value', function (assert) {
+ assert.expect(4);
+
[{}, ['MTIz', 'NA=='], new Number(), 'hi'].forEach(function (item) {
assert.throws(function () {
atob(item);
diff --git a/ui/packages/consul-ui/tests/unit/utils/btoa-test.js b/ui/packages/consul-ui/tests/unit/utils/btoa-test.js
index 8b3c9c32f4..f4fd57d0b7 100644
--- a/ui/packages/consul-ui/tests/unit/utils/btoa-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/btoa-test.js
@@ -3,6 +3,7 @@ import btoa from 'consul-ui/utils/btoa';
module('Unit | Utils | btoa', function () {
test('it encodes strings properly', function (assert) {
+ assert.expect(2);
[
{
test: '',
diff --git a/ui/packages/consul-ui/tests/unit/utils/create-fingerprinter-test.js b/ui/packages/consul-ui/tests/unit/utils/create-fingerprinter-test.js
index d8a3c88084..e624aa2e5b 100644
--- a/ui/packages/consul-ui/tests/unit/utils/create-fingerprinter-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/create-fingerprinter-test.js
@@ -34,6 +34,8 @@ module('Unit | Utility | create fingerprinter', function () {
assert.deepEqual(actual, expected);
});
test("fingerprint throws an error if it can't find a foreignKey", function (assert) {
+ assert.expect(2);
+
const fingerprint = createFingerprinter('Datacenter', 'Namespace', 'Partition');
[undefined, null].forEach(function (item) {
assert.throws(function () {
@@ -42,6 +44,7 @@ module('Unit | Utility | create fingerprinter', function () {
});
});
test("fingerprint throws an error if it can't find a slug", function (assert) {
+ assert.expect(2);
const fingerprint = createFingerprinter('Datacenter', 'Namespace', 'Partition');
[
{},
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/click-first-anchor-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/click-first-anchor-test.js
index dec08a0fe7..8bc66dcfaa 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/click-first-anchor-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/click-first-anchor-test.js
@@ -3,6 +3,8 @@ import { module, test } from 'qunit';
module('Unit | Utility | dom/click first anchor', function () {
test('it does nothing if the clicked element is generally a clickable thing', function (assert) {
+ assert.expect(4);
+
const closest = function () {
return {
querySelector: function () {
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/create-listeners-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/create-listeners-test.js
index 3ecdbd1558..1a24c173ab 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/create-listeners-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/create-listeners-test.js
@@ -5,8 +5,8 @@ import sinon from 'sinon';
module('Unit | Utility | dom/create listeners', function () {
test('it has add and remove methods', function (assert) {
const listeners = createListeners();
- assert.ok(typeof listeners.add === 'function');
- assert.ok(typeof listeners.remove === 'function');
+ assert.strictEqual(typeof listeners.add, 'function');
+ assert.strictEqual(typeof listeners.remove, 'function');
});
test('add returns a remove function', function (assert) {
const listeners = createListeners();
@@ -16,7 +16,7 @@ module('Unit | Utility | dom/create listeners', function () {
},
'click'
);
- assert.ok(typeof remove === 'function');
+ assert.strictEqual(typeof remove, 'function');
});
test('remove returns an array of removed handlers (the return of a saved remove)', function (assert) {
// just use true here to prove that it's what gets returned
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/blocking-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/blocking-test.js
index 72bcf0df5c..aaa2e3064a 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/blocking-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/blocking-test.js
@@ -46,6 +46,8 @@ module('Unit | Utility | dom/event-source/blocking', function () {
assert.ok(source instanceof EventSource);
});
test("the 5xx backoff continues to throw when it's not a 5xx", function (assert) {
+ assert.expect(11);
+
const backoff = createErrorBackoff();
[
undefined,
@@ -66,6 +68,8 @@ module('Unit | Utility | dom/event-source/blocking', function () {
});
});
test('the 5xx backoff returns a resolve promise on a 5xx (apart from 500)', function (assert) {
+ assert.expect(18);
+
[
{ statusCode: 501 },
{ errors: [{ status: 501 }] },
@@ -85,12 +89,16 @@ module('Unit | Utility | dom/event-source/blocking', function () {
});
});
test("the cursor validation always returns undefined if the cursor can't be parsed to an integer", function (assert) {
+ assert.expect(4);
+
['null', null, '', undefined].forEach((item) => {
const actual = validateCursor(item);
assert.equal(actual, undefined);
});
});
test('the cursor validation always returns a cursor greater than zero', function (assert) {
+ assert.expect(5);
+
[
{
cursor: 0,
@@ -118,6 +126,8 @@ module('Unit | Utility | dom/event-source/blocking', function () {
});
});
test('the cursor validation resets to 1 if its less than the previous cursor', function (assert) {
+ assert.expect(4);
+
[
{
previous: 100,
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/cache-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/cache-test.js
index d9ae92c6ef..4bcb098654 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/cache-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/cache-test.js
@@ -47,7 +47,7 @@ module('Unit | Utility | dom/event-source/cache', function () {
const Promise = createPromise();
const getCache = domEventSourceCache(function () {}, EventSource, Promise);
- assert.ok(typeof getCache === 'function');
+ assert.strictEqual(typeof getCache, 'function');
});
test('getCache returns a function', function (assert) {
const EventSource = createEventSource();
@@ -56,7 +56,7 @@ module('Unit | Utility | dom/event-source/cache', function () {
const getCache = domEventSourceCache(function () {}, EventSource, Promise);
const obj = {};
const cache = getCache(obj);
- assert.ok(typeof cache === 'function');
+ assert.strictEqual(typeof cache, 'function');
});
test('cache creates the default EventSource and keeps it open when there is a cursor', function (assert) {
const EventSource = createEventSource();
@@ -89,7 +89,9 @@ module('Unit | Utility | dom/event-source/cache', function () {
assert.ok(source.calledTwice, 'promisifying source called once');
assert.ok(retrievedEventSource instanceof Promise, 'source returns a Promise');
});
- test('cache creates the default EventSource and keeps it open when there is a cursor', function (assert) {
+ test('cache creates the default EventSource and keeps it open when there is a cursor 2', function (assert) {
+ assert.expect(4);
+
const EventSource = createEventSource();
const stub = {
close: sinon.stub(),
@@ -118,6 +120,8 @@ module('Unit | Utility | dom/event-source/cache', function () {
});
});
test("cache creates the default EventSource and closes it when there isn't a cursor", function (assert) {
+ assert.expect(4);
+
const EventSource = createEventSource();
const stub = {
close: sinon.stub(),
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/callable-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/callable-test.js
index 50ba271f68..ea55c875bd 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/callable-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/callable-test.js
@@ -53,7 +53,7 @@ module('Unit | Utility | dom/event-source/callable', function () {
dispatchEvent: sinon.stub(),
};
defaultRunner(target, configuration, isClosed);
- assert.ok(then.callCount == 10);
+ assert.equal(then.callCount, 10);
assert.ok(target.dispatchEvent.calledOnce);
});
test('it calls the defaultRunner', function (assert) {
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/index-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/index-test.js
index 14cd4302a7..d82c523384 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/event-source/index-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/event-source/index-test.js
@@ -14,15 +14,15 @@ module('Unit | Utility | dom/event source/index', function () {
// Replace this with your real tests.
test('it works', function (assert) {
// All The EventSource
- assert.ok(typeof CallableEventSource === 'function');
- assert.ok(typeof OpenableEventSource === 'function');
- assert.ok(typeof BlockingEventSource === 'function');
- assert.ok(typeof StorageEventSource === 'function');
+ assert.strictEqual(typeof CallableEventSource, 'function');
+ assert.strictEqual(typeof OpenableEventSource, 'function');
+ assert.strictEqual(typeof BlockingEventSource, 'function');
+ assert.strictEqual(typeof StorageEventSource, 'function');
// Utils
- assert.ok(typeof source === 'function');
- assert.ok(typeof proxy === 'function');
- assert.ok(typeof cache === 'function');
- assert.ok(typeof resolve === 'function');
+ assert.strictEqual(typeof source, 'function');
+ assert.strictEqual(typeof proxy, 'function');
+ assert.strictEqual(typeof cache, 'function');
+ assert.strictEqual(typeof resolve, 'function');
});
});
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/event-target/rsvp-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/event-target/rsvp-test.js
index ce21deae38..72a9ebcc2e 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/event-target/rsvp-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/event-target/rsvp-test.js
@@ -4,6 +4,8 @@ import { module, test } from 'qunit';
module('Unit | Utility | dom/event-target/rsvp', function () {
// Replace this with your real tests.
test('it has EventTarget methods', function (assert) {
+ assert.expect(4);
+
const result = domEventTargetRsvp;
assert.equal(typeof result, 'function');
['addEventListener', 'removeEventListener', 'dispatchEvent'].forEach(function (item) {
diff --git a/ui/packages/consul-ui/tests/unit/utils/dom/is-outside-test.js b/ui/packages/consul-ui/tests/unit/utils/dom/is-outside-test.js
index b83304a67e..1f2ee13fbc 100644
--- a/ui/packages/consul-ui/tests/unit/utils/dom/is-outside-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/dom/is-outside-test.js
@@ -53,7 +53,7 @@ module('Unit | Utility | dom/is-outside', function () {
const result = domIsOutside(el, target, doc);
assert.notOk(result);
});
- test('it is not outside when its in the document but in the element', function (assert) {
+ test('it is not outside when its in the document but not in the element', function (assert) {
// is in the document
const doc = {
contains: function (el) {
diff --git a/ui/packages/consul-ui/tests/unit/utils/get-environment-test.js b/ui/packages/consul-ui/tests/unit/utils/get-environment-test.js
index 208c1e070e..26f37fb0a1 100644
--- a/ui/packages/consul-ui/tests/unit/utils/get-environment-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/get-environment-test.js
@@ -45,7 +45,7 @@ module('Unit | Utility | getEnvironment', function () {
test('it returns a function', function (assert) {
const config = {};
const env = getEnvironment(config, win, doc);
- assert.ok(typeof env === 'function');
+ assert.strictEqual(typeof env, 'function');
});
test('it returns the correct operator value', function (assert) {
const config = {};
diff --git a/ui/packages/consul-ui/tests/unit/utils/http/request-test.js b/ui/packages/consul-ui/tests/unit/utils/http/request-test.js
index e5e3ce2da9..18ede42338 100644
--- a/ui/packages/consul-ui/tests/unit/utils/http/request-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/http/request-test.js
@@ -5,6 +5,6 @@ module('Unit | Utility | http/request', function () {
// Replace this with your real tests.
test('it works', function (assert) {
const actual = httpRequest;
- assert.ok(typeof actual === 'function');
+ assert.strictEqual(typeof actual, 'function');
});
});
diff --git a/ui/packages/consul-ui/tests/unit/utils/isFolder-test.js b/ui/packages/consul-ui/tests/unit/utils/isFolder-test.js
index e98f72a249..b4cdcc33ff 100644
--- a/ui/packages/consul-ui/tests/unit/utils/isFolder-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/isFolder-test.js
@@ -3,6 +3,8 @@ import isFolder from 'consul-ui/utils/isFolder';
module('Unit | Utils | isFolder', function () {
test('it detects if a string ends in a slash', function (assert) {
+ assert.expect(5);
+
[
{
test: 'hello/world',
diff --git a/ui/packages/consul-ui/tests/unit/utils/keyToArray-test.js b/ui/packages/consul-ui/tests/unit/utils/keyToArray-test.js
index 1614bcf858..0272e5b345 100644
--- a/ui/packages/consul-ui/tests/unit/utils/keyToArray-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/keyToArray-test.js
@@ -3,6 +3,8 @@ import keyToArray from 'consul-ui/utils/keyToArray';
module('Unit | Utils | keyToArray', function () {
test('it splits a string by a separator, unless the string is the separator', function (assert) {
+ assert.expect(4);
+
[
{
test: '/',
diff --git a/ui/packages/consul-ui/tests/unit/utils/left-trim-test.js b/ui/packages/consul-ui/tests/unit/utils/left-trim-test.js
index d476dd3c70..674dcebbcb 100644
--- a/ui/packages/consul-ui/tests/unit/utils/left-trim-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/left-trim-test.js
@@ -3,6 +3,8 @@ import leftTrim from 'consul-ui/utils/left-trim';
module('Unit | Utility | left trim', function () {
test('it trims characters from the left hand side', function (assert) {
+ assert.expect(8);
+
[
{
args: ['/a/folder/here', '/'],
diff --git a/ui/packages/consul-ui/tests/unit/utils/merge-checks-test.js b/ui/packages/consul-ui/tests/unit/utils/merge-checks-test.js
index c489cb8361..63ab724bb7 100644
--- a/ui/packages/consul-ui/tests/unit/utils/merge-checks-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/merge-checks-test.js
@@ -3,6 +3,7 @@ import { module, test } from 'qunit';
module('Unit | Utility | merge-checks', function () {
test('it works', function (assert) {
+ assert.expect(4);
[
{
desc: 'One list of checks, not exposed',
diff --git a/ui/packages/consul-ui/tests/unit/utils/path/resolve-test.js b/ui/packages/consul-ui/tests/unit/utils/path/resolve-test.js
index 9eee80f622..31ce37daa2 100644
--- a/ui/packages/consul-ui/tests/unit/utils/path/resolve-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/path/resolve-test.js
@@ -3,6 +3,7 @@ import { module, test } from 'qunit';
module('Unit | Utility | path/resolve', function () {
test('it resolves paths', function (assert) {
+ assert.expect(9);
[
{
from: 'dc/intentions/create',
diff --git a/ui/packages/consul-ui/tests/unit/utils/promisedTimeout-test.js b/ui/packages/consul-ui/tests/unit/utils/promisedTimeout-test.js
index ecbaed1bd8..b7c502f121 100644
--- a/ui/packages/consul-ui/tests/unit/utils/promisedTimeout-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/promisedTimeout-test.js
@@ -3,6 +3,8 @@ import promisedTimeout from 'consul-ui/utils/promisedTimeout';
module('Unit | Utils | promisedTimeout', function () {
test('it calls setTimeout with the correct milliseconds', function (assert) {
+ assert.expect(2);
+
const expected = 1000;
const P = function (cb) {
cb(function (milliseconds) {
diff --git a/ui/packages/consul-ui/tests/unit/utils/right-trim-test.js b/ui/packages/consul-ui/tests/unit/utils/right-trim-test.js
index 27fea9c44b..3f2db90526 100644
--- a/ui/packages/consul-ui/tests/unit/utils/right-trim-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/right-trim-test.js
@@ -3,6 +3,8 @@ import rightTrim from 'consul-ui/utils/right-trim';
module('Unit | Utility | right trim', function () {
test('it trims characters from the right hand side', function (assert) {
+ assert.expect(12);
+
[
{
args: ['/a/folder/here/', '/'],
diff --git a/ui/packages/consul-ui/tests/unit/utils/ucfirst-test.js b/ui/packages/consul-ui/tests/unit/utils/ucfirst-test.js
index 6832af2155..b07b511b5f 100644
--- a/ui/packages/consul-ui/tests/unit/utils/ucfirst-test.js
+++ b/ui/packages/consul-ui/tests/unit/utils/ucfirst-test.js
@@ -3,6 +3,8 @@ import ucfirst from 'consul-ui/utils/ucfirst';
module('Unit | Utils | ucfirst', function () {
test('it returns the first letter in uppercase', function (assert) {
+ assert.expect(4);
+
[
{
test: 'hello world',
diff --git a/ui/yarn.lock b/ui/yarn.lock
index 0d7746cc15..96953879f6 100644
--- a/ui/yarn.lock
+++ b/ui/yarn.lock
@@ -53,6 +53,11 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483"
integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==
+"@babel/compat-data@^7.20.0":
+ version "7.20.1"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30"
+ integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==
+
"@babel/core@^7.0.0", "@babel/core@^7.1.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.2.2", "@babel/core@^7.3.4", "@babel/core@^7.7.5":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.10.tgz#07de050bbd8193fcd8a3c27918c0890613a94559"
@@ -75,7 +80,28 @@
semver "^6.3.0"
source-map "^0.5.0"
-"@babel/core@^7.12.9", "@babel/core@^7.16.7":
+"@babel/core@^7.13.8":
+ version "7.20.2"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
+ integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==
+ dependencies:
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.20.2"
+ "@babel/helper-compilation-targets" "^7.20.0"
+ "@babel/helper-module-transforms" "^7.20.2"
+ "@babel/helpers" "^7.20.1"
+ "@babel/parser" "^7.20.2"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.20.1"
+ "@babel/types" "^7.20.2"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.1"
+ semver "^6.3.0"
+
+"@babel/core@^7.16.7":
version "7.18.13"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac"
integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==
@@ -123,6 +149,15 @@
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
+"@babel/generator@^7.20.1", "@babel/generator@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.2.tgz#c2e89e22613a039285c1e7b749e2cd0b30b9a481"
+ integrity sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q==
+ dependencies:
+ "@babel/types" "^7.20.2"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ jsesc "^2.5.1"
+
"@babel/helper-annotate-as-pure@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
@@ -206,6 +241,16 @@
browserslist "^4.20.2"
semver "^6.3.0"
+"@babel/helper-compilation-targets@^7.20.0":
+ version "7.20.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a"
+ integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==
+ dependencies:
+ "@babel/compat-data" "^7.20.0"
+ "@babel/helper-validator-option" "^7.18.6"
+ browserslist "^4.21.3"
+ semver "^6.3.0"
+
"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.8.3":
version "7.13.11"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz#30d30a005bca2c953f5653fc25091a492177f4f6"
@@ -366,6 +411,14 @@
"@babel/template" "^7.18.6"
"@babel/types" "^7.18.9"
+"@babel/helper-function-name@^7.19.0":
+ version "7.19.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
+ integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==
+ dependencies:
+ "@babel/template" "^7.18.10"
+ "@babel/types" "^7.19.0"
+
"@babel/helper-get-function-arity@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
@@ -487,6 +540,20 @@
"@babel/traverse" "^7.18.9"
"@babel/types" "^7.18.9"
+"@babel/helper-module-transforms@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712"
+ integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.20.1"
+ "@babel/types" "^7.20.2"
+
"@babel/helper-optimise-call-expression@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
@@ -604,6 +671,13 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-simple-access@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
+ integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
+ dependencies:
+ "@babel/types" "^7.20.2"
+
"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
@@ -651,6 +725,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
+"@babel/helper-string-parser@^7.19.4":
+ version "7.19.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
+ integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
+
"@babel/helper-validator-identifier@^7.12.11":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
@@ -666,6 +745,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
+"@babel/helper-validator-identifier@^7.19.1":
+ version "7.19.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
+ integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
+
"@babel/helper-validator-option@^7.12.17":
version "7.12.17"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
@@ -729,6 +813,15 @@
"@babel/traverse" "^7.18.9"
"@babel/types" "^7.18.9"
+"@babel/helpers@^7.20.1":
+ version "7.20.1"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9"
+ integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==
+ dependencies:
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.20.1"
+ "@babel/types" "^7.20.0"
+
"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1"
@@ -771,6 +864,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4"
integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==
+"@babel/parser@^7.20.1", "@babel/parser@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.2.tgz#9aeb9b92f64412b5f81064d46f6a1ac0881337f4"
+ integrity sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg==
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050"
@@ -2134,7 +2232,7 @@
core-js "^2.6.5"
regenerator-runtime "^0.13.4"
-"@babel/preset-env@^7.10.2", "@babel/preset-env@^7.12.0":
+"@babel/preset-env@^7.10.2":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.10.tgz#b5cde31d5fe77ab2a6ab3d453b59041a1b3a5252"
integrity sha512-nOsTScuoRghRtUsRr/c69d042ysfPHcu+KOB4A9aAO9eJYqrkat+LF8G1yp1HD18QiwixT2CisZTr/0b3YZPXQ==
@@ -2479,6 +2577,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.20.1":
+ version "7.20.1"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8"
+ integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==
+ dependencies:
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.20.1"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.19.0"
+ "@babel/helper-hoist-variables" "^7.18.6"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/parser" "^7.20.1"
+ "@babel/types" "^7.20.0"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@^7.1.6", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.7.2":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80"
@@ -2505,6 +2619,15 @@
"@babel/helper-validator-identifier" "^7.18.6"
to-fast-properties "^2.0.0"
+"@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842"
+ integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==
+ dependencies:
+ "@babel/helper-string-parser" "^7.19.4"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ to-fast-properties "^2.0.0"
+
"@cnakazawa/watch@^1.0.3":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
@@ -2582,63 +2705,63 @@
unist-util-find "^1.0.2"
unist-util-visit "^2.0.2"
-"@ember-data/adapter@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/adapter/-/adapter-3.24.2.tgz#dd0b0f4f3c6e83dcba8c1a65d799a4c737f5eeec"
- integrity sha512-3NmgrGNOUYKseJjUHcre3IOhLlpPMg7o9o8ZNRyi7r2M1n9flsXuKzJPMiteAic3U7bhODk44gorYjQ6goCzHw==
+"@ember-data/adapter@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/adapter/-/adapter-3.27.1.tgz#4258b138ae43f1329995b8fce54e866d0b9b79a3"
+ integrity sha512-g9JPXn2QvV47xFWbY7xRiVp4LEbE4vkVo/qu3NtrvD+MLHNmfWn6VHhx2+v5mQB0pBe8lK8nPZGoS8PM/3CMuA==
dependencies:
- "@ember-data/private-build-infra" "3.24.2"
- "@ember-data/store" "3.24.2"
+ "@ember-data/private-build-infra" "3.27.1"
+ "@ember-data/store" "3.27.1"
"@ember/edition-utils" "^1.2.0"
"@ember/string" "^1.0.0"
- ember-cli-babel "^7.18.0"
+ ember-cli-babel "^7.26.6"
ember-cli-test-info "^1.0.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-typescript "^4.0.0"
-"@ember-data/canary-features@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/canary-features/-/canary-features-3.24.2.tgz#bd91beda313fc4d7ef3d8fc5dc709d53350c246c"
- integrity sha512-duCgl99T6QQ4HuXNMI1l1vA8g7cvi7Ol/loVFOtkJn+MOlcQOzXNATuNqC/LPjTiHpPdQTL18+fq2wIZEDnq0w==
+"@ember-data/canary-features@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/canary-features/-/canary-features-3.27.1.tgz#fa589ff8a37f6dcc607f874303be024a4f7a186a"
+ integrity sha512-7RLYG1W1woBu116h4bE3zfEHCV+EVVzNZcgRD3tUH9cg/EvOfXfn3naAFNnoA7TIEl2ZShRPgNNi2SjkYYy52Q==
dependencies:
- ember-cli-babel "^7.18.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-babel "^7.26.6"
+ ember-cli-typescript "^4.1.0"
-"@ember-data/debug@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/debug/-/debug-3.24.2.tgz#6b96fb9cd0914071efb9ac3c6befc1a3a55f5d38"
- integrity sha512-RPTGoSFPGjhB7ZVbv3eGFL6NeZKCtWv9BrZwrZH7ZvHWN1Vc7vYG3NAsLAafpjbkfSo4KG2OKHZGftpXCIl2Og==
+"@ember-data/debug@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/debug/-/debug-3.27.1.tgz#76ec39fd981ad9e97d140a30dfae6e3258144c0e"
+ integrity sha512-VWAzZFqKiheMc7Qx5yIekpdfamSBWURjNF5NKCQGGLRv7SsQe1eOjbW5iaq+gsnNr/gk4U95yLd225kUf6ubEQ==
dependencies:
- "@ember-data/private-build-infra" "3.24.2"
+ "@ember-data/private-build-infra" "3.27.1"
"@ember/edition-utils" "^1.2.0"
"@ember/string" "^1.0.0"
- ember-cli-babel "^7.18.0"
+ ember-cli-babel "^7.26.6"
ember-cli-test-info "^1.0.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-typescript "^4.0.0"
-"@ember-data/model@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/model/-/model-3.24.2.tgz#8d718b8151eb2489328c5957d9ffc367b5b9a512"
- integrity sha512-vKBYlWZYk0uh+7TiEYADQakUpJLbZ+ahU9ez2WEMtsdl4cDHpEBwyFH76Zmh3dp2Pz/aq5UwOtEHz/ggpUo7fQ==
+"@ember-data/model@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/model/-/model-3.27.1.tgz#e35730da811c21e85f2bd334eb4a741f5368ce50"
+ integrity sha512-GC5bf2wAad6ePCoreOj4JknJaJ62FBwR9q+/zFxADU1Ns68kyVm/Xg7KD1sDvcXEwLJebH09j9sN7LkwZaN3Og==
dependencies:
- "@ember-data/canary-features" "3.24.2"
- "@ember-data/private-build-infra" "3.24.2"
- "@ember-data/store" "3.24.2"
+ "@ember-data/canary-features" "3.27.1"
+ "@ember-data/private-build-infra" "3.27.1"
+ "@ember-data/store" "3.27.1"
"@ember/edition-utils" "^1.2.0"
"@ember/string" "^1.0.0"
- ember-cli-babel "^7.18.0"
+ ember-cli-babel "^7.26.6"
ember-cli-string-utils "^1.1.0"
ember-cli-test-info "^1.0.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-typescript "^4.0.0"
ember-compatibility-helpers "^1.2.0"
inflection "1.12.0"
-"@ember-data/private-build-infra@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/private-build-infra/-/private-build-infra-3.24.2.tgz#2b77fb4490a6c657d9f82ce8c54fe22157e03963"
- integrity sha512-uYv9BOGaNxsSacE0jFRFhrs/Xg6f8Rma2Ap/mVjwouBvu+DV2cl5E2zIMalygu/ngIiGhiNUeUp2RpjSpR054w==
+"@ember-data/private-build-infra@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/private-build-infra/-/private-build-infra-3.27.1.tgz#040a9f646a1ca2764e67bf1108dc489d2008e7d5"
+ integrity sha512-Cox/CRovg1gFGuO2zn64JSAezbbO1XHP+tLWDXRIiB2Oqlk3CtNxEs9K02DxMCojK4C8itFDOVpBKLYCB5MbYQ==
dependencies:
"@babel/plugin-transform-block-scoping" "^7.8.3"
- "@ember-data/canary-features" "3.24.2"
+ "@ember-data/canary-features" "3.27.1"
"@ember/edition-utils" "^1.2.0"
babel-plugin-debug-macros "^0.3.3"
babel-plugin-filter-imports "^4.0.0"
@@ -2650,7 +2773,7 @@
broccoli-rollup "^4.1.1"
calculate-cache-key-for-tree "^2.0.0"
chalk "^4.0.0"
- ember-cli-babel "^7.18.0"
+ ember-cli-babel "^7.26.6"
ember-cli-path-utils "^1.0.0"
ember-cli-string-utils "^1.1.0"
ember-cli-typescript "^3.1.3"
@@ -2664,47 +2787,48 @@
semver "^7.1.3"
silent-error "^1.1.1"
-"@ember-data/record-data@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/record-data/-/record-data-3.24.2.tgz#cf07dd13c74d02046af2dc4a9102f9f6cb897184"
- integrity sha512-vdsWiPp29lwgMeyf4O1sXZ8xJf/zPCIEfksYeGaJ9VhiTKOucqiRxIFeI2cdyqxkM0frtCyNwYEntpy871Os2Q==
+"@ember-data/record-data@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/record-data/-/record-data-3.27.1.tgz#2d9e35e36404790adebc24890ca0eb8ee1ecfb65"
+ integrity sha512-QSY7vJIbfCCpVNhAXkGc73UiXqX7UyELq0Mc3URoVCKRYZJOCSnydPYARLgN/NM99HV0Mw1aa+KP8Nco8Z/gFg==
dependencies:
- "@ember-data/canary-features" "3.24.2"
- "@ember-data/private-build-infra" "3.24.2"
- "@ember-data/store" "3.24.2"
+ "@ember-data/canary-features" "3.27.1"
+ "@ember-data/private-build-infra" "3.27.1"
+ "@ember-data/store" "3.27.1"
"@ember/edition-utils" "^1.2.0"
"@ember/ordered-set" "^4.0.0"
- ember-cli-babel "^7.18.0"
+ ember-cli-babel "^7.26.6"
ember-cli-test-info "^1.0.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-typescript "^4.0.0"
"@ember-data/rfc395-data@^0.0.4":
version "0.0.4"
resolved "https://registry.yarnpkg.com/@ember-data/rfc395-data/-/rfc395-data-0.0.4.tgz#ecb86efdf5d7733a76ff14ea651a1b0ed1f8a843"
integrity sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==
-"@ember-data/serializer@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/serializer/-/serializer-3.24.2.tgz#d95816f4af4b9d3031bdd198cd10e6bde3fa8b17"
- integrity sha512-so/NkQgtecXqPdFMjUHkXQ73n9TFVMigZeCFuippkP3lQu2HquJ9u/e+WRcgLzziU7q+eBTnt2Lar9uLkXMNyw==
+"@ember-data/serializer@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/serializer/-/serializer-3.27.1.tgz#17301698281e9d888f6c38b59c4b460c9ab27fd7"
+ integrity sha512-kJE+kiisk1d9KQYRcRK4BFQhhsZ3n7ADlyK5eCsaNEwJm4YsfvKgjUgaC16MJddX4LG9d7QORHNJT9rWcCL9fg==
dependencies:
- "@ember-data/private-build-infra" "3.24.2"
- "@ember-data/store" "3.24.2"
- ember-cli-babel "^7.18.0"
+ "@ember-data/private-build-infra" "3.27.1"
+ "@ember-data/store" "3.27.1"
+ ember-cli-babel "^7.26.6"
ember-cli-test-info "^1.0.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-typescript "^4.0.0"
-"@ember-data/store@3.24.2":
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/@ember-data/store/-/store-3.24.2.tgz#2583e03f8c51c5b049a29bbed304ae78085e8b9b"
- integrity sha512-FJVZIrCwFDebh/s3Gy4YC+PK7BRaDIudor53coia236hpAW9eO/itO/ZbOGt9eFumWzX6eUFxJixD0o9FvGybA==
+"@ember-data/store@3.27.1":
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/@ember-data/store/-/store-3.27.1.tgz#2026adbeee893d3a71417b82095b4921fdd590fb"
+ integrity sha512-RL9OkNBB9DtT5nkYTmGuk46hbVs2avuvSggiPJU3iuQYD3dJ8jC2XGGs3Z4FHEzAVWwlCnFiwVT03GfYbuIbUw==
dependencies:
- "@ember-data/canary-features" "3.24.2"
- "@ember-data/private-build-infra" "3.24.2"
+ "@ember-data/canary-features" "3.27.1"
+ "@ember-data/private-build-infra" "3.27.1"
"@ember/string" "^1.0.0"
- ember-cli-babel "^7.18.0"
+ "@glimmer/tracking" "^1.0.4"
+ ember-cli-babel "^7.26.6"
ember-cli-path-utils "^1.0.0"
- ember-cli-typescript "^3.1.3"
+ ember-cli-typescript "^4.0.0"
heimdalljs "^0.3.0"
"@ember-decorators/component@^6.1.1":
@@ -2779,7 +2903,7 @@
dependencies:
ember-cli-babel "^7.4.0"
-"@ember/test-helpers@^2.1.4":
+"@ember/test-helpers@^2.2.5":
version "2.8.1"
resolved "https://registry.yarnpkg.com/@ember/test-helpers/-/test-helpers-2.8.1.tgz#20f2e30d48172c2ff713e1db7fbec5352f918d4e"
integrity sha512-jbsYwWyAdhL/pdPu7Gb3SG1gvIXY70FWMtC/Us0Kmvk82Y+5YUQ1SOC0io75qmOGYQmH7eQrd/bquEVd+4XtdQ==
@@ -2919,7 +3043,7 @@
resolve "^1.8.1"
semver "^7.3.2"
-"@embroider/macros@0.41.0":
+"@embroider/macros@0.41.0", "@embroider/macros@^0.41.0":
version "0.41.0"
resolved "https://registry.yarnpkg.com/@embroider/macros/-/macros-0.41.0.tgz#3e78b6f388d7229906abf4c75edfff8bb0208aca"
integrity sha512-QISzwEEfLsskZeL0jyZDs1RoQSotwBWj+4upTogNHuxQP5j/9H3IMG/3QB1gh8GEpbudATb/cS4NDYK3UBxufw==
@@ -2958,6 +3082,18 @@
resolve "^1.20.0"
semver "^7.3.2"
+"@embroider/macros@^0.42.3":
+ version "0.42.3"
+ resolved "https://registry.yarnpkg.com/@embroider/macros/-/macros-0.42.3.tgz#eb4dc35c43f1cb1d14298219ba037f8cead06081"
+ integrity sha512-4I+Sde8FU7QMwNQ3gYtj8fdBTqUeoPDn61XuV4Xng7p9LszQksGDXtyEhWrf9KWU3G+NtrZotY5LICd5P+E3tw==
+ dependencies:
+ "@embroider/shared-internals" "0.42.3"
+ assert-never "^1.2.1"
+ ember-cli-babel "^7.26.6"
+ lodash "^4.17.21"
+ resolve "^1.20.0"
+ semver "^7.3.2"
+
"@embroider/shared-internals@0.41.0":
version "0.41.0"
resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-0.41.0.tgz#2553f026d4f48ea1fd11235501feb63bf49fa306"
@@ -2971,6 +3107,19 @@
semver "^7.3.2"
typescript-memoize "^1.0.0-alpha.3"
+"@embroider/shared-internals@0.42.3":
+ version "0.42.3"
+ resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-0.42.3.tgz#65224fe86c55790417078b267add8f54148b59e3"
+ integrity sha512-AIFRumaGxzhzzSswtk97Z0ttu0dyRhXoDuOi6kPYHoprUdtt7biRAksrsbutWWdFapve7vKHFZdYVuiG8IbX0A==
+ dependencies:
+ ember-rfc176-data "^0.3.17"
+ fs-extra "^9.1.0"
+ lodash "^4.17.21"
+ pkg-up "^3.1.0"
+ resolve-package-path "^4.0.1"
+ semver "^7.3.5"
+ typescript-memoize "^1.0.1"
+
"@embroider/shared-internals@0.47.2":
version "0.47.2"
resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-0.47.2.tgz#24e9fa0dd9c529d5c996ee1325729ea08d1fa19f"
@@ -3067,26 +3216,6 @@
ember-cli-version-checker "^3.1.3"
ember-compatibility-helpers "^1.1.2"
-"@glimmer/component@^1.0.3":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@glimmer/component/-/component-1.1.2.tgz#892ec0c9f0b6b3e41c112be502fde073cf24d17c"
- integrity sha512-XyAsEEa4kWOPy+gIdMjJ8XlzA3qrGH55ZDv6nA16ibalCR17k74BI0CztxuRds+Rm6CtbUVgheCVlcCULuqD7A==
- 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-cli-version-checker "^3.1.3"
- ember-compatibility-helpers "^1.1.2"
-
"@glimmer/di@^0.1.9":
version "0.1.11"
resolved "https://registry.yarnpkg.com/@glimmer/di/-/di-0.1.11.tgz#a6878c07a13a2c2c76fcde598a5c97637bfc4280"
@@ -3197,14 +3326,6 @@
"@glimmer/env" "^0.1.7"
"@glimmer/validator" "^0.44.0"
-"@glimmer/tracking@^1.0.3":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@glimmer/tracking/-/tracking-1.1.2.tgz#74e71be07b0a7066518d24044d2665d0cf8281eb"
- integrity sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==
- dependencies:
- "@glimmer/env" "^0.1.7"
- "@glimmer/validator" "^0.44.0"
-
"@glimmer/util@0.65.2":
version "0.65.2"
resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.65.2.tgz#da9c6fa68a117ac1cb74fc79dad3eaa40d9cd4cb"
@@ -3237,6 +3358,13 @@
resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.44.0.tgz#03d127097dc9cb23052cdb7fcae59d0a9dca53e1"
integrity sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==
+"@glimmer/vm-babel-plugins@0.78.2":
+ version "0.78.2"
+ resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.78.2.tgz#b530a19f54da385c7099a22cf348e9062d186838"
+ integrity sha512-GSEf16h6OCtKx7PsSvD21cLXZuVc6swW2rSOAvfLeZco1DEWMRgYTwkCkColydKZcQ3gvwbPBeYwTC2K6tlnjg==
+ dependencies:
+ babel-plugin-debug-macros "^0.3.4"
+
"@glimmer/vm@^0.42.2":
version "0.42.2"
resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.42.2.tgz#492a4f05eac587c3a37371b3c62593f20bef553d"
@@ -4875,7 +5003,7 @@ babel-plugin-module-resolver@^3.2.0:
reselect "^3.0.1"
resolve "^1.4.0"
-babel-plugin-module-resolver@^4.0.0:
+babel-plugin-module-resolver@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2"
integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==
@@ -5651,6 +5779,23 @@ broccoli-concat@^4.2.2, broccoli-concat@^4.2.4:
lodash.omit "^4.1.0"
lodash.uniq "^4.2.0"
+broccoli-concat@^4.2.5:
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/broccoli-concat/-/broccoli-concat-4.2.5.tgz#d578f00094048b5fc87195e82fbdbde20d838d29"
+ integrity sha512-dFB5ATPwOyV8S2I7a07HxCoutoq23oY//LhM6Mou86cWUTB174rND5aQLR7Fu8FjFFLxoTbkk7y0VPITJ1IQrw==
+ dependencies:
+ broccoli-debug "^0.6.5"
+ broccoli-kitchen-sink-helpers "^0.3.1"
+ broccoli-plugin "^4.0.2"
+ ensure-posix-path "^1.0.2"
+ fast-sourcemap-concat "^2.1.0"
+ find-index "^1.1.0"
+ fs-extra "^8.1.0"
+ fs-tree-diff "^2.0.1"
+ lodash.merge "^4.6.2"
+ lodash.omit "^4.1.0"
+ lodash.uniq "^4.2.0"
+
broccoli-config-loader@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/broccoli-config-loader/-/broccoli-config-loader-1.0.1.tgz#d10aaf8ebc0cb45c1da5baa82720e1d88d28c80a"
@@ -6185,7 +6330,7 @@ broccoli-terser-sourcemap@^4.1.0:
walk-sync "^2.2.0"
workerpool "^6.0.0"
-broccoli@^3.5.0:
+broccoli@^3.5.1:
version "3.5.2"
resolved "https://registry.yarnpkg.com/broccoli/-/broccoli-3.5.2.tgz#60921167d57b43fb5bad527420d62fe532595ef4"
integrity sha512-sWi3b3fTUSVPDsz5KsQ5eCQNVAtLgkIE/HYFkEZXR/07clqmd4E/gFiuwSaqa9b+QTXc1Uemfb7TVWbEIURWDg==
@@ -7181,7 +7326,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^7.0.0, cross-spawn@^7.0.2:
+cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -7582,6 +7727,11 @@ diff@^4.0.2:
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+diff@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40"
+ integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
+
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@@ -7807,7 +7957,7 @@ ember-auto-import@^1.10.1, ember-auto-import@^1.11.3:
walk-sync "^0.3.3"
webpack "^4.43.0"
-ember-auto-import@^1.5.2, ember-auto-import@^1.5.3, ember-auto-import@^1.6.0:
+ember-auto-import@^1.5.3, ember-auto-import@^1.6.0:
version "1.10.1"
resolved "https://registry.yarnpkg.com/ember-auto-import/-/ember-auto-import-1.10.1.tgz#6c93a875e494aa0a58b759867d3f20adfd514ae3"
integrity sha512-7bOWzPELlVwdWDOkB+phDIjg8BNW+/2RiLLQ+Xa/eIvCLT4ABYhHV5wqW5gs5BnXTDVLfE4ddKZdllnGuPGGDQ==
@@ -7904,40 +8054,35 @@ ember-can@^4.2.0:
ember-cli-htmlbars "^6.0.0"
ember-inflector "^4.0.2"
-ember-changeset-conditional-validations@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/ember-changeset-conditional-validations/-/ember-changeset-conditional-validations-0.6.0.tgz#78369ad3af0aea338e00a9bdf1b622fb512d9a00"
- integrity sha512-U9TZFhhLC+5XRqcI5sNfJwGVcVZvXJxwrRQrrTYLImHe/+tcgP/TagE0f0DBrgWV2u3lsztGHGwGUs86uc65rg==
+ember-changeset-validations@~3.15.2:
+ version "3.15.2"
+ resolved "https://registry.yarnpkg.com/ember-changeset-validations/-/ember-changeset-validations-3.15.2.tgz#c19a65661446c64088fd5daf4f95f0819ccc95af"
+ integrity sha512-jPcX4aXRY9SLivHHRkrUZovL1xeEchAyoDR7lyOpverfjVJFr3p0qEp4L8pwKBeCQHnV0JcLM9r1DqpRoGLmkw==
dependencies:
- ember-cli-babel "^6.16.0"
+ ember-changeset "^3.14.1"
+ ember-cli-babel "^7.26.6"
+ ember-cli-htmlbars "^5.7.1"
+ ember-get-config "^0.3.0"
+ ember-validators "~4.0.0"
+ validated-changeset "~1.0.0"
-ember-changeset-validations@~3.9.0:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/ember-changeset-validations/-/ember-changeset-validations-3.9.1.tgz#5f44f56ca9a55ac079f667f8cbead1dfeb85a21d"
- integrity sha512-aTufViqh4zx8WNjiuxuQNSfYaDLDdXl7mQ6g18z2Wma55kEmGymxaltM3lrGgXK+IlWoJvINrNBd6i6AYRxaYA==
- dependencies:
- ember-changeset "^3.9.1"
- ember-cli-babel "^7.8.0"
- ember-cli-htmlbars "^4.0.5"
- ember-get-config "^0.2.4"
- ember-validators "^2.0.0"
-
-ember-changeset@3.10.1, ember-changeset@^3.9.1:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/ember-changeset/-/ember-changeset-3.10.1.tgz#d6f06bc55f867a2c1ac7c5fd780776bd1e5a9b60"
- integrity sha512-4FoGKRcKxixSr+NBQ+ZoiwwbJE0/fuZRULUp9M1RIHejYhst+U8/ni47SsphrMhoRAcZCeyl+JqlBMlwR7v50g==
+ember-changeset@^3.14.1:
+ version "3.15.0"
+ resolved "https://registry.yarnpkg.com/ember-changeset/-/ember-changeset-3.15.0.tgz#402bbb9b51dc44596415c1c7b0e3a4923b1d3e81"
+ integrity sha512-yLyU3quV96EFjYzYUjIK4je5nnemZdbElYLFnXYJ5StXquCRjdFvL79gst/vs6ZjVFbkRKnLjsVP8YMkED0P2g==
dependencies:
+ "@embroider/macros" "^0.42.3"
"@glimmer/tracking" "^1.0.1"
- ember-auto-import "^1.5.2"
- ember-cli-babel "^7.19.0"
- validated-changeset "~0.10.0"
+ ember-auto-import "^1.11.3"
+ ember-cli-babel "^7.26.6"
+ validated-changeset "1.0.0"
-ember-cli-app-version@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/ember-cli-app-version/-/ember-cli-app-version-4.0.0.tgz#033057ec5fe4d3ecdf5ac5380d442e2dc9f7526a"
- integrity sha512-YRH1r4vjA9ZIgTVJ38zWxhtt4SCzIHb0ppEsO/z+JV0ZTQlS3+2dT5RhJWz7O3dyw5FWnlIng+gPRoQEz1umHA==
+ember-cli-app-version@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/ember-cli-app-version/-/ember-cli-app-version-5.0.0.tgz#adad17c6f706f419b223707eec66dd1cd28530c3"
+ integrity sha512-afhx/CXDOMNXzoe4NDPy5WUfxWmYYHUzMCiTyvPBxCDBXYcMrtxNWxvgaSaeqcoHVEmqzeyBj8V82tzmT1dcyw==
dependencies:
- ember-cli-babel "^7.22.1"
+ ember-cli-babel "^7.23.1"
git-repo-info "^2.1.1"
ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.0, ember-cli-babel-plugin-helpers@^1.1.1:
@@ -7945,40 +8090,7 @@ ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.0, em
resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.1.tgz#5016b80cdef37036c4282eef2d863e1d73576879"
integrity sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw==
-ember-cli-babel@7, ember-cli-babel@^7.0.0, ember-cli-babel@^7.1.3, ember-cli-babel@^7.10.0, ember-cli-babel@^7.13.0, ember-cli-babel@^7.17.2, ember-cli-babel@^7.18.0, ember-cli-babel@^7.19.0, ember-cli-babel@^7.20.0, ember-cli-babel@^7.20.5, ember-cli-babel@^7.21.0, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.0, ember-cli-babel@^7.23.1, ember-cli-babel@^7.7.3, ember-cli-babel@^7.8.0:
- version "7.26.1"
- resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.1.tgz#d3f06bd9aec8aac9197c5ff4d0b87ff1e4f0d62a"
- integrity sha512-WEWP3hJSe9CWL22gEWQ+Y3uKMGk1vLoIREUQfJNKrgUUh3l49bnfAamh3ywcAQz31IgzvkLPO8ZTXO4rxnuP4Q==
- dependencies:
- "@babel/core" "^7.12.0"
- "@babel/helper-compilation-targets" "^7.12.0"
- "@babel/plugin-proposal-class-properties" "^7.13.0"
- "@babel/plugin-proposal-decorators" "^7.13.5"
- "@babel/plugin-transform-modules-amd" "^7.13.0"
- "@babel/plugin-transform-runtime" "^7.13.9"
- "@babel/plugin-transform-typescript" "^7.13.0"
- "@babel/polyfill" "^7.11.5"
- "@babel/preset-env" "^7.12.0"
- "@babel/runtime" "7.12.18"
- amd-name-resolver "^1.3.1"
- babel-plugin-debug-macros "^0.3.4"
- babel-plugin-ember-data-packages-polyfill "^0.1.2"
- babel-plugin-ember-modules-api-polyfill "^3.5.0"
- babel-plugin-module-resolver "^3.2.0"
- broccoli-babel-transpiler "^7.8.0"
- broccoli-debug "^0.6.4"
- broccoli-funnel "^2.0.2"
- broccoli-source "^2.1.2"
- clone "^2.1.2"
- ember-cli-babel-plugin-helpers "^1.1.1"
- ember-cli-version-checker "^4.1.0"
- ensure-posix-path "^1.0.2"
- fixturify-project "^1.10.0"
- resolve-package-path "^3.1.0"
- rimraf "^3.0.1"
- semver "^5.5.0"
-
-ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.11.0, ember-cli-babel@^6.16.0, ember-cli-babel@^6.3.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1, ember-cli-babel@^6.8.2, ember-cli-babel@^6.9.0, ember-cli-babel@^6.9.2:
+ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1, ember-cli-babel@^6.8.2, ember-cli-babel@^6.9.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz#3f6435fd275172edeff2b634ee7b29ce74318957"
integrity sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==
@@ -7997,7 +8109,7 @@ ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.11.0,
ember-cli-version-checker "^2.1.2"
semver "^5.5.0"
-ember-cli-babel@^7.12.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.26.1, ember-cli-babel@^7.26.10, ember-cli-babel@^7.26.11, ember-cli-babel@^7.26.3, ember-cli-babel@^7.26.5, ember-cli-babel@^7.4.0:
+ember-cli-babel@^7.0.0, ember-cli-babel@^7.1.3, ember-cli-babel@^7.10.0, ember-cli-babel@^7.12.0, ember-cli-babel@^7.13.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.17.2, ember-cli-babel@^7.18.0, ember-cli-babel@^7.19.0, ember-cli-babel@^7.20.0, ember-cli-babel@^7.20.5, ember-cli-babel@^7.21.0, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.0, ember-cli-babel@^7.23.1, ember-cli-babel@^7.26.1, ember-cli-babel@^7.26.10, ember-cli-babel@^7.26.11, ember-cli-babel@^7.26.3, ember-cli-babel@^7.26.5, ember-cli-babel@^7.26.6, ember-cli-babel@^7.4.0, ember-cli-babel@^7.7.3:
version "7.26.11"
resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.11.tgz#50da0fe4dcd99aada499843940fec75076249a9f"
integrity sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA==
@@ -8033,39 +8145,6 @@ ember-cli-babel@^7.12.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.26.1, ember
rimraf "^3.0.1"
semver "^5.5.0"
-ember-cli-babel@^7.26.6:
- version "7.26.6"
- resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.6.tgz#322fbbd3baad9dd99e3276ff05bc6faef5e54b39"
- integrity sha512-040svtfj2RC35j/WMwdWJFusZaXmNoytLAMyBDGLMSlRvznudTxZjGlPV6UupmtTBApy58cEF8Fq4a+COWoEmQ==
- dependencies:
- "@babel/core" "^7.12.0"
- "@babel/helper-compilation-targets" "^7.12.0"
- "@babel/plugin-proposal-class-properties" "^7.13.0"
- "@babel/plugin-proposal-decorators" "^7.13.5"
- "@babel/plugin-transform-modules-amd" "^7.13.0"
- "@babel/plugin-transform-runtime" "^7.13.9"
- "@babel/plugin-transform-typescript" "^7.13.0"
- "@babel/polyfill" "^7.11.5"
- "@babel/preset-env" "^7.12.0"
- "@babel/runtime" "7.12.18"
- amd-name-resolver "^1.3.1"
- babel-plugin-debug-macros "^0.3.4"
- babel-plugin-ember-data-packages-polyfill "^0.1.2"
- babel-plugin-ember-modules-api-polyfill "^3.5.0"
- babel-plugin-module-resolver "^3.2.0"
- broccoli-babel-transpiler "^7.8.0"
- broccoli-debug "^0.6.4"
- broccoli-funnel "^2.0.2"
- broccoli-source "^2.1.2"
- clone "^2.1.2"
- ember-cli-babel-plugin-helpers "^1.1.1"
- ember-cli-version-checker "^4.1.0"
- ensure-posix-path "^1.0.2"
- fixturify-project "^1.10.0"
- resolve-package-path "^3.1.0"
- rimraf "^3.0.1"
- semver "^5.5.0"
-
ember-cli-code-coverage@^1.0.0-beta.4:
version "1.0.2"
resolved "https://registry.yarnpkg.com/ember-cli-code-coverage/-/ember-cli-code-coverage-1.0.2.tgz#615fc7af8bc7d9388a28371c2825c224a936d73f"
@@ -8126,7 +8205,7 @@ ember-cli-htmlbars@^3.0.1:
json-stable-stringify "^1.0.1"
strip-bom "^3.0.0"
-ember-cli-htmlbars@^4.0.5, ember-cli-htmlbars@^4.2.3, ember-cli-htmlbars@^4.3.1:
+ember-cli-htmlbars@^4.2.3, ember-cli-htmlbars@^4.3.1:
version "4.5.0"
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-4.5.0.tgz#d299e4f7eba6f30dc723ee086906cc550beb252e"
integrity sha512-bYJpK1pqFu9AadDAGTw05g2LMNzY8xTCIqQm7dMJmKEoUpLRFbPf4SfHXrktzDh7Q5iggl6Skzf1M0bPlIxARw==
@@ -8168,7 +8247,7 @@ ember-cli-htmlbars@^5.0.0, ember-cli-htmlbars@^5.1.0, ember-cli-htmlbars@^5.1.2,
strip-bom "^4.0.0"
walk-sync "^2.2.0"
-ember-cli-htmlbars@^5.3.2, ember-cli-htmlbars@^5.7.1:
+ember-cli-htmlbars@^5.3.2, ember-cli-htmlbars@^5.7.1, ember-cli-htmlbars@^5.7.2:
version "5.7.2"
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-5.7.2.tgz#e0cd2fb3c20d85fe4c3e228e6f0590ee1c645ba8"
integrity sha512-Uj6R+3TtBV5RZoJY14oZn/sNPnc+UgmC8nb5rI4P3fR/gYoyTFIZSXiIM7zl++IpMoIrocxOrgt+mhonKphgGg==
@@ -8268,10 +8347,10 @@ ember-cli-normalize-entity-name@^1.0.0:
dependencies:
silent-error "^1.0.0"
-ember-cli-page-object@^1.17.10:
- version "1.17.10"
- resolved "https://registry.yarnpkg.com/ember-cli-page-object/-/ember-cli-page-object-1.17.10.tgz#a3145c7b0341e6180dab28e10c858f8b6535e66a"
- integrity sha512-J7OQZ4IWftHLunsCicFbaVb/GrI+/DMWMPO5EAca9+0x9K+rxml351Tl1Z/Fpr8UmHg1q/KGwqGx9xGodrRxbg==
+ember-cli-page-object@^1.17.11:
+ version "1.17.11"
+ resolved "https://registry.yarnpkg.com/ember-cli-page-object/-/ember-cli-page-object-1.17.11.tgz#e5972484525d0f0da9b4b715843c830b49b9c662"
+ integrity sha512-k1VagZdUHHkPGW5l+vZnKNVW1dPRpWm4Hqy75o1dF3oVHF+NFUmEI/ZDV3m2dS0YindReGfbojeox9vGgKYlcQ==
dependencies:
broccoli-file-creator "^2.1.1"
broccoli-merge-trees "^2.0.0"
@@ -8355,7 +8434,7 @@ ember-cli-template-lint@^2.0.1:
strip-ansi "^6.0.0"
walk-sync "^2.0.2"
-ember-cli-terser@^4.0.1:
+ember-cli-terser@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/ember-cli-terser/-/ember-cli-terser-4.0.2.tgz#c436a9e4159f76a615b051cba0584844652b7dcd"
integrity sha512-Ej77K+YhCZImotoi/CU2cfsoZaswoPlGaM5TB3LvjvPDlVPRhxUHO2RsaUVC5lsGeRLRiHCOxVtoJ6GyqexzFA==
@@ -8526,22 +8605,22 @@ ember-cli-yadda@^0.7.0:
qunit "^2.16.0"
yadda "*"
-ember-cli@~3.24.0:
- version "3.24.0"
- resolved "https://registry.yarnpkg.com/ember-cli/-/ember-cli-3.24.0.tgz#dbda4938e74fdafe4da1c42b49356f9d14c10697"
- integrity sha512-dLurYpluRcE+XjCHy/JzUBcW4dBKhjmXH3zUjyof89gFjj+8EFjB0b2tqyS6buKqBasinVaX8lZZVIXYCdFtNA==
+ember-cli@~3.27.0:
+ version "3.27.0"
+ resolved "https://registry.yarnpkg.com/ember-cli/-/ember-cli-3.27.0.tgz#8ccf9db51d7b462f86210b853d086a4543605c34"
+ integrity sha512-vFLPFkplXn5v005fattHdOcs5AbSp7RG4w1wpHDWHzOSYpl2Dr+5zzZtqLS7V5IVaLf3XK4l24XwhSW9HpMfsQ==
dependencies:
- "@babel/core" "^7.12.9"
+ "@babel/core" "^7.13.8"
"@babel/plugin-transform-modules-amd" "^7.12.1"
amd-name-resolver "^1.3.1"
- babel-plugin-module-resolver "^4.0.0"
+ babel-plugin-module-resolver "^4.1.0"
bower-config "^1.4.3"
bower-endpoint-parser "0.2.2"
- broccoli "^3.5.0"
+ broccoli "^3.5.1"
broccoli-amd-funnel "^2.0.1"
broccoli-babel-transpiler "^7.8.0"
broccoli-builder "^0.18.14"
- broccoli-concat "^4.2.4"
+ broccoli-concat "^4.2.5"
broccoli-config-loader "^1.0.1"
broccoli-config-replace "^1.1.2"
broccoli-debug "^0.6.5"
@@ -8562,7 +8641,7 @@ ember-cli@~3.24.0:
console-ui "^3.1.2"
core-object "^3.1.5"
dag-map "^2.0.2"
- diff "^4.0.2"
+ diff "^5.0.0"
ember-cli-is-package-missing "^1.0.0"
ember-cli-lodash-subset "^2.0.1"
ember-cli-normalize-entity-name "^1.0.0"
@@ -8570,14 +8649,14 @@ ember-cli@~3.24.0:
ember-cli-string-utils "^1.1.0"
ember-source-channel-url "^3.0.0"
ensure-posix-path "^1.1.1"
- execa "^4.1.0"
+ execa "^5.0.0"
exit "^0.1.2"
express "^4.17.1"
filesize "^6.1.0"
find-up "^5.0.0"
find-yarn-workspace-root "^2.0.0"
- fixturify-project "^2.1.0"
- fs-extra "^9.0.1"
+ fixturify-project "^2.1.1"
+ fs-extra "^9.1.0"
fs-tree-diff "^2.0.1"
get-caller-file "^2.0.5"
git-repo-info "^2.1.1"
@@ -8595,21 +8674,21 @@ ember-cli@~3.24.0:
json-stable-stringify "^1.0.1"
leek "0.0.24"
lodash.template "^4.5.0"
- markdown-it "^12.0.2"
+ markdown-it "^12.0.4"
markdown-it-terminal "0.2.1"
minimatch "^3.0.4"
morgan "^1.10.0"
nopt "^3.0.6"
- npm-package-arg "^8.1.0"
+ npm-package-arg "^8.1.1"
p-defer "^3.0.0"
portfinder "^1.0.28"
promise-map-series "^0.3.0"
promise.hash.helper "^1.0.7"
quick-temp "^0.1.8"
- resolve "^1.19.0"
+ resolve "^1.20.0"
resolve-package-path "^3.1.0"
sane "^4.1.0"
- semver "^7.3.2"
+ semver "^7.3.4"
silent-error "^1.1.1"
sort-package-json "^1.48.0"
symlink-or-copy "^1.3.1"
@@ -8617,13 +8696,13 @@ ember-cli@~3.24.0:
testem "^3.2.0"
tiny-lr "^2.0.0"
tree-sync "^2.1.0"
- uuid "^8.3.1"
+ uuid "^8.3.2"
walk-sync "^2.2.0"
watch-detector "^1.0.0"
workerpool "^6.0.3"
yam "^1.0.0"
-ember-collection@^1.0.0-alpha.9:
+ember-collection@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ember-collection/-/ember-collection-1.0.0.tgz#2ec570a49b70098ab68fbaaca940f9302b39af98"
integrity sha512-Yb7ZoPBc9rdDv1m72PDQeqbKzKVejAetkqRWUEXRa6tV75ud46ozGhX/1kyVJz2tNYL5XlgnqP8hg5UA9YNR0w==
@@ -8682,47 +8761,47 @@ ember-concurrency-decorators@^2.0.0:
ember-compatibility-helpers "^1.2.0"
ember-destroyable-polyfill "^2.0.2"
-ember-copy@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/ember-copy/-/ember-copy-1.0.0.tgz#426554ba6cf65920f31d24d0a3ca2cb1be16e4aa"
- integrity sha512-aiZNAvOmdemHdvZNn0b5b/0d9g3JFpcOsrDgfhYEbfd7SzE0b69YiaVK2y3wjqfjuuiA54vOllGN4pjSzECNSw==
+ember-copy@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ember-copy/-/ember-copy-2.0.1.tgz#13192b12a250324bb4a8b4547a680b113f4e3041"
+ integrity sha512-N/XFvZszrzyyX4IcNoeK4mJvIItNuONumhPLqi64T8NDjJkxBj4Pq61rvMkJx/9eZ8alzE4I8vYKOLxT0FvRuQ==
dependencies:
- ember-cli-babel "^6.6.0"
+ ember-cli-babel "^7.22.1"
-ember-data-model-fragments@5.0.0-beta.0:
- version "5.0.0-beta.0"
- resolved "https://registry.yarnpkg.com/ember-data-model-fragments/-/ember-data-model-fragments-5.0.0-beta.0.tgz#da90799970317ca852f96b2ea1548ca70094a5bb"
- integrity sha512-vjApz3ZWSiLyUUU2IRi/ArKVBJe+iW+BvKkiQ6an/e7ln4Jt06P9xXm1Fu3hfqkQOQlfn7QkUnlzm4XxRtlMfg==
+ember-data-model-fragments@5.0.0-beta.8:
+ version "5.0.0-beta.8"
+ resolved "https://registry.yarnpkg.com/ember-data-model-fragments/-/ember-data-model-fragments-5.0.0-beta.8.tgz#d29e0f59a8ba0157fd9d616d50b3faec731bbeac"
+ integrity sha512-vOt2UXyhsWoZXCB9XAUqAobdRLr3ydUG6L36Rd7Qsg/1kj0jApQIEJS4qfA+xlBgirKEJ322PZqlBOv8zQSS8w==
dependencies:
broccoli-file-creator "^2.1.1"
broccoli-merge-trees "^3.0.0"
calculate-cache-key-for-tree "^1.1.0"
- ember-cli-babel "7"
+ ember-cli-babel "^7.23.0"
ember-compatibility-helpers "^1.2.1"
- ember-copy "1.0.0"
- git-repo-info "^2.0.0"
+ ember-copy "2.0.1"
+ git-repo-info "^2.1.1"
npm-git-info "^1.0.3"
-ember-data@~3.24.0:
- version "3.24.2"
- resolved "https://registry.yarnpkg.com/ember-data/-/ember-data-3.24.2.tgz#34d72b0bc83fce1791bf09a8391425717b9c3f55"
- integrity sha512-dfpLagJn09eEcoVqU4NfMs3J+750jJU7rLZA7uFY2/+0M0a4iGhjbm1dVVZQTkrfNiYHXvOOItr1bOT9sMC8Hg==
+ember-data@~3.27.1:
+ version "3.27.1"
+ resolved "https://registry.yarnpkg.com/ember-data/-/ember-data-3.27.1.tgz#02d6b76c1d5de0f50d24274147b8711f6ca4f28d"
+ integrity sha512-36P8+7B6Z5ZjyITFbf2Wcub/fdE2DTsLoPPZK7It488fub5s90o85XC0WlwUQPvff39us2N4pzjwmCZ8Jj/gjg==
dependencies:
- "@ember-data/adapter" "3.24.2"
- "@ember-data/debug" "3.24.2"
- "@ember-data/model" "3.24.2"
- "@ember-data/private-build-infra" "3.24.2"
- "@ember-data/record-data" "3.24.2"
- "@ember-data/serializer" "3.24.2"
- "@ember-data/store" "3.24.2"
+ "@ember-data/adapter" "3.27.1"
+ "@ember-data/debug" "3.27.1"
+ "@ember-data/model" "3.27.1"
+ "@ember-data/private-build-infra" "3.27.1"
+ "@ember-data/record-data" "3.27.1"
+ "@ember-data/serializer" "3.27.1"
+ "@ember-data/store" "3.27.1"
"@ember/edition-utils" "^1.2.0"
"@ember/ordered-set" "^4.0.0"
"@ember/string" "^1.0.0"
"@glimmer/env" "^0.1.7"
broccoli-merge-trees "^4.2.0"
- ember-cli-babel "^7.18.0"
- ember-cli-typescript "^3.1.3"
- ember-inflector "^3.0.1"
+ ember-cli-babel "^7.26.6"
+ ember-cli-typescript "^4.1.0"
+ ember-inflector "^4.0.1"
ember-decorators@^6.1.1:
version "6.1.1"
@@ -8783,14 +8862,6 @@ ember-factory-for-polyfill@^1.3.1:
dependencies:
ember-cli-version-checker "^2.1.0"
-ember-get-config@^0.2.4:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/ember-get-config/-/ember-get-config-0.2.4.tgz#118492a2a03d73e46004ed777928942021fe1ecd"
- integrity sha1-EYSSoqA9c+RgBO13eSiUICH+Hs0=
- dependencies:
- broccoli-file-creator "^1.1.1"
- ember-cli-babel "^6.3.0"
-
ember-get-config@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/ember-get-config/-/ember-get-config-0.3.0.tgz#a73a1a87b48d9dde4c66a0e52ed5260b8a48cfbd"
@@ -8829,13 +8900,6 @@ ember-in-viewport@^3.8.1:
intersection-observer-admin "~0.2.13"
raf-pool "~0.1.4"
-ember-inflector@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ember-inflector/-/ember-inflector-3.0.1.tgz#04be6df4d7e4000f6d6bd70787cdc995f77be4ab"
- integrity sha512-fngrwMsnhkBt51KZgwNwQYxgURwV4lxtoHdjxf7RueGZ5zM7frJLevhHw7pbQNGqXZ3N+MRkhfNOLkdDK9kFdA==
- dependencies:
- ember-cli-babel "^6.6.0"
-
ember-inflector@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/ember-inflector/-/ember-inflector-4.0.1.tgz#e0aa9e39119156a278c80bb8cdec8462ecb8e6ab"
@@ -9000,12 +9064,12 @@ ember-on-resize-modifier@^0.3.0:
ember-modifier "^2.1.0"
ember-resize-observer-service "^0.3.0"
-ember-page-title@^6.2.1:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ember-page-title/-/ember-page-title-6.2.1.tgz#aa2d539fab8eddb618289cdba91adf699debf7da"
- integrity sha512-cfBDuP14KBJCdz/AeBQJFGnJbUHd2gmenG+i0ilR2kYX0G0zHAsseFZFuTNVZDNiQ8BnMdrdjRnfjx9Vdi/dag==
+ember-page-title@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/ember-page-title/-/ember-page-title-6.2.2.tgz#980838c44e96cba1d00f42435d707936af627324"
+ integrity sha512-YTXA+cylZrh9zO0zwjlaAGReT2MVOxAMnVO1OOygFrs1JBs4D6CKV3tImoilg3AvIXFBeJfFNNUbJOdRd9IGGg==
dependencies:
- ember-cli-babel "^7.22.1"
+ ember-cli-babel "^7.23.1"
ember-power-select-with-create@^0.8.0:
version "0.8.0"
@@ -9033,7 +9097,7 @@ ember-power-select@^4.0.0, ember-power-select@^4.0.5:
ember-text-measurer "^0.6.0"
ember-truth-helpers "^2.1.0 || ^3.0.0"
-ember-qunit@^5.1.1:
+ember-qunit@^5.1.4:
version "5.1.5"
resolved "https://registry.yarnpkg.com/ember-qunit/-/ember-qunit-5.1.5.tgz#24a7850f052be24189ff597dfc31b923e684c444"
integrity sha512-2cFA4oMygh43RtVcMaBrr086Tpdhgbn3fVZ2awLkzF/rnSN0D0PSRpd7hAD7OdBPerC/ZYRwzVyGXLoW/Zes4A==
@@ -9072,13 +9136,6 @@ ember-render-helpers@^0.2.0:
ember-cli-babel "^7.23.0"
ember-cli-typescript "^4.0.0"
-ember-require-module@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/ember-require-module/-/ember-require-module-0.3.0.tgz#65aff7908b5b846467e4526594d33cfe0c23456b"
- integrity sha512-rYN4YoWbR9VlJISSmx0ZcYZOgMcXZLGR7kdvp3zDerjIvYmHm/3p+K56fEAYmJILA6W4F+cBe41Tq2HuQAZizA==
- dependencies:
- ember-cli-babel "^6.9.2"
-
ember-resize-observer-service@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/ember-resize-observer-service/-/ember-resize-observer-service-0.3.0.tgz#69b6e29bd6d742001ebe0ec70249f20f46fedc4a"
@@ -9170,19 +9227,21 @@ ember-source-channel-url@^3.0.0:
dependencies:
node-fetch "^2.6.0"
-ember-source@~3.24.0:
- version "3.24.6"
- resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-3.24.6.tgz#cf185b93fb16ad8475e98ebc47e6fb50b7de2556"
- integrity sha512-F/CNQQLeF0QFKz7ahJ0JQQBbbvL8sx5XhsNJ9GnfjLA9ozGE1/nFfgkIOrcFszIVjMZKmEvq6RdsbbhOptfeNg==
+ember-source@~3.27.2:
+ version "3.27.5"
+ resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-3.27.5.tgz#8e9ce24c17e7a16dc3c2b128d3d3e24ea79e6726"
+ integrity sha512-oSGM9mD6BuOcGilYqU+F2MtCferQhKWO3REX1P9qgN1Wzfa5kXjbjBBdPNWfBtg7bZLGM27H8JgiV6+t3uGegA==
dependencies:
"@babel/helper-module-imports" "^7.8.3"
"@babel/plugin-transform-block-scoping" "^7.8.3"
"@babel/plugin-transform-object-assign" "^7.8.3"
"@ember/edition-utils" "^1.2.0"
+ "@glimmer/vm-babel-plugins" "0.78.2"
babel-plugin-debug-macros "^0.3.3"
babel-plugin-filter-imports "^4.0.0"
broccoli-concat "^4.2.4"
broccoli-debug "^0.6.4"
+ broccoli-file-creator "^2.1.1"
broccoli-funnel "^2.0.2"
broccoli-merge-trees "^4.2.0"
chalk "^4.0.0"
@@ -9195,9 +9254,9 @@ ember-source@~3.24.0:
ember-cli-version-checker "^5.1.1"
ember-router-generator "^2.0.0"
inflection "^1.12.0"
- jquery "^3.5.0"
+ jquery "^3.5.1"
resolve "^1.17.0"
- semver "^6.1.1"
+ semver "^7.3.4"
silent-error "^1.1.1"
ember-stargate@^0.2.0:
@@ -9293,13 +9352,14 @@ ember-tracked-storage-polyfill@^1.0.0:
dependencies:
ember-cli-babel "^7.22.1"
-ember-validators@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ember-validators/-/ember-validators-2.0.0.tgz#4100e17feb9c3a6cf4072732010697bbd674f8cb"
- integrity sha512-OhXGN2UbFQY+lhkWOdW347NZsIWGj/fpTJbOfNxjyMQW/c3fvPEIvrhlvWf1JwHGKQTJDHpMQJgA/Luq39GDgQ==
+ember-validators@~4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/ember-validators/-/ember-validators-4.0.1.tgz#13beefdf185b00efd1b60e51b21380686d8994ba"
+ integrity sha512-QVHzzYQn17Ikz8EZVxEtjKRyr6fmwSUbjYpxjcuoZKN5Ub1jjU2LzPOXT6FJQet691UlBs35e6EjPkBOb+xOuA==
dependencies:
- ember-cli-babel "^6.9.2"
- ember-require-module "^0.3.0"
+ "@embroider/macros" "^0.41.0"
+ ember-cli-babel "^7.26.3"
+ ember-cli-htmlbars "^5.7.1"
"emoji-regex@>=6.0.0 <=6.1.1":
version "6.1.1"
@@ -9532,12 +9592,12 @@ escodegen@^2.0.0:
optionalDependencies:
source-map "~0.6.1"
-eslint-config-prettier@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz#f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9"
- integrity sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==
+eslint-config-prettier@^8.3.0:
+ version "8.5.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
+ integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
-eslint-plugin-ember@^10.1.1:
+eslint-plugin-ember@^10.4.2:
version "10.6.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-10.6.1.tgz#04ea84cc82307f64a2faa4f2855b30e5ebf9f722"
integrity sha512-R+TN3jwhYQ2ytZCA1VkfJDZSGgHFOHjsHU1DrBlRXYRepThe56PpuGxywAyDvQ7inhoAz3e6G6M60PzpvjzmNg==
@@ -9571,13 +9631,21 @@ eslint-plugin-node@^11.0.0:
resolve "^1.10.1"
semver "^6.1.0"
-eslint-plugin-prettier@^3.3.1:
+eslint-plugin-prettier@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5"
integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==
dependencies:
prettier-linter-helpers "^1.0.0"
+eslint-plugin-qunit@^6.1.1:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-qunit/-/eslint-plugin-qunit-6.2.0.tgz#f4efda29da99523e560848d9592c39c0590c308d"
+ integrity sha512-KvPmkIC2MHpfRxs/r8WUeeGkG6y+3qwSi2AZIBtjcM/YG6Z3k0GxW5Hbu3l7X0TDhljVCeBb9Q5puUkHzl83Mw==
+ dependencies:
+ eslint-utils "^3.0.0"
+ requireindex "^1.2.0"
+
eslint-scope@5.1.1, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -9618,7 +9686,7 @@ eslint-visitor-keys@^2.0.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
-eslint@^7.17.0:
+eslint@^7.27.0:
version "7.32.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
@@ -9814,6 +9882,21 @@ execa@^4.0.0, execa@^4.0.3, execa@^4.1.0:
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
+execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
exists-sync@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/exists-sync/-/exists-sync-0.0.4.tgz#9744c2c428cc03b01060db454d4b12f0ef3c8879"
@@ -10264,7 +10347,7 @@ fixturify-project@^1.10.0:
fixturify "^1.2.0"
tmp "^0.0.33"
-fixturify-project@^2.1.0:
+fixturify-project@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/fixturify-project/-/fixturify-project-2.1.1.tgz#a511dd26700c6b64ac271ef4393e7124f153c81f"
integrity sha512-sP0gGMTr4iQ8Kdq5Ez0CVJOZOGWqzP5dv/veOTdFNywioKjkNWCHBi1q65DMpcNGUGeoOUWehyji274Q2wRgxA==
@@ -10651,6 +10734,11 @@ get-stream@^5.0.0:
dependencies:
pump "^3.0.0"
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
get-symbol-description@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -10676,7 +10764,7 @@ git-hooks-list@1.0.3:
resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-1.0.3.tgz#be5baaf78203ce342f2f844a9d2b03dba1b45156"
integrity sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==
-git-repo-info@^2.0.0, git-repo-info@^2.1.1:
+git-repo-info@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/git-repo-info/-/git-repo-info-2.1.1.tgz#220ffed8cbae74ef8a80e3052f2ccb5179aed058"
integrity sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==
@@ -11218,6 +11306,11 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
husky@^4.2.5:
version "4.3.8"
resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d"
@@ -11956,11 +12049,16 @@ jest-worker@^27.4.5:
merge-stream "^2.0.0"
supports-color "^8.0.0"
-jquery@^3.4.1, jquery@^3.5.0:
+jquery@^3.4.1:
version "3.6.0"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
+jquery@^3.5.1:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16"
+ integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==
+
js-string-escape@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
@@ -12711,7 +12809,7 @@ markdown-it-terminal@0.2.1:
lodash.merge "^4.6.2"
markdown-it "^8.3.1"
-markdown-it@^12.0.2:
+markdown-it@^12.0.4:
version "12.3.2"
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90"
integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==
@@ -13538,7 +13636,7 @@ npm-normalize-package-bin@^1.0.0:
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-npm-package-arg@^8.1.0:
+npm-package-arg@^8.1.1:
version "8.1.5"
resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44"
integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==
@@ -13576,7 +13674,7 @@ npm-run-path@^3.0.0:
dependencies:
path-key "^3.0.0"
-npm-run-path@^4.0.0:
+npm-run-path@^4.0.0, npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
@@ -13725,7 +13823,7 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
-onetime@^5.1.0:
+onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
@@ -14335,7 +14433,7 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@^2.2.1:
+prettier@^2.3.0:
version "2.7.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
@@ -14539,7 +14637,16 @@ qunit-dom@^1.6.0:
ember-cli-babel "^7.23.0"
ember-cli-version-checker "^5.1.1"
-qunit@^2.13.0, qunit@^2.16.0:
+qunit@^2.15.0:
+ version "2.19.3"
+ resolved "https://registry.yarnpkg.com/qunit/-/qunit-2.19.3.tgz#bcf81a2e8d176dc19fe8dd358c4cbd08619af03a"
+ integrity sha512-vEnspSZ37u2oR01OA/IZ1Td5V7BvQYFECdKPv86JaBplDNa5IHg0v7jFSPoP5L5o78Dbi8sl7/ATtpRDAKlSdw==
+ dependencies:
+ commander "7.2.0"
+ node-watch "0.7.3"
+ tiny-glob "0.2.9"
+
+qunit@^2.16.0:
version "2.19.1"
resolved "https://registry.yarnpkg.com/qunit/-/qunit-2.19.1.tgz#eb1afd188da9e47f07c13aa70461a1d9c4505490"
integrity sha512-gSGuw0vErE/rNjnlBW/JmE7NNubBlGrDPQvsug32ejYhcVFuZec9yoU0+C30+UgeCGwq6Ap89K65dMGo+kDGZQ==
@@ -15168,7 +15275,7 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.12
is-core-module "^2.2.0"
path-parse "^1.0.6"
-resolve@^1.19.0, resolve@^1.22.1:
+resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
@@ -15600,7 +15707,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
-signal-exit@^3.0.7:
+signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -16644,12 +16751,13 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-torii@^0.10.1:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/torii/-/torii-0.10.1.tgz#caad0a81e82189fc0483b65e68ee28041ad3590f"
- integrity sha512-csUz/coeSumt9FjyIXLpRj0ii7TfH3fUm3x9rdf+XXnJ0tVTKqwCRynwY0HKuNkGzACyR84hog3B9a8BQefBHA==
+torii@^1.0.0-beta.1:
+ version "1.0.0-beta.1"
+ resolved "https://registry.yarnpkg.com/torii/-/torii-1.0.0-beta.1.tgz#77e23e9f2eb76a98ec76db8517f8f54f1ef2f62b"
+ integrity sha512-MtR0QB5YbcADa2eM2eQaWKAUTQuHgr9Biu9yJV0sQOXRMW9X0cdTPWhxYM3PSnSBRg28BAeMKjbsr2uPdayS+g==
dependencies:
- ember-cli-babel "^6.11.0"
+ ember-cli-babel "^7.26.10"
+ ember-cli-htmlbars "^5.7.2"
tough-cookie@^2.3.3, tough-cookie@~2.5.0:
version "2.5.0"
@@ -17192,7 +17300,7 @@ uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-uuid@^8.3.1, uuid@^8.3.2:
+uuid@^8.3.2:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
@@ -17225,10 +17333,10 @@ validate-peer-dependencies@^1.2.0:
resolve-package-path "^3.1.0"
semver "^7.3.2"
-validated-changeset@0.10.0, validated-changeset@~0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/validated-changeset/-/validated-changeset-0.10.0.tgz#2e8188c089ab282c1b51fba3c289073f6bd14c8b"
- integrity sha512-n8NB3ol6Tbi0O7bnq1wz81m5Wd1gfHw0HUcH4MatOfqO3DyXzWZV+bUaNq6wThXn20rMFB82C8pTNFSWbgXJLA==
+validated-changeset@1.0.0, validated-changeset@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/validated-changeset/-/validated-changeset-1.0.0.tgz#a961b4a87953b6b12858b0477436360332493f4d"
+ integrity sha512-HeHGkC2BlmWTwtq5DTUMmFX18PAunuLbIs8A4CWoLc58QGKRF4jtR+F5XzP/19xysQXkMApazT2OphqJ+lKVwQ==
vary@^1, vary@~1.1.2:
version "1.1.2"