diff --git a/.editorconfig b/.editorconfig
index 6e87a003da8..0301b00a80f 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -7,6 +7,7 @@ indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
+end_of_line = lf
[*.md]
max_line_length = off
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 00000000000..db5b388c46f
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,82 @@
+{
+ "root": true,
+ "overrides": [
+ {
+ "files": ["*.ts"],
+ "parserOptions": {
+ "project": ["tsconfig.eslint.json"],
+ "createDefaultProgram": true
+ },
+ "extends": [
+ "plugin:@angular-eslint/ng-cli-compat",
+ "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
+ "plugin:@angular-eslint/template/process-inline-templates"
+ ],
+ "plugins": ["deprecation"],
+ "rules": {
+ "@angular-eslint/no-host-metadata-property": "off",
+ "@typescript-eslint/no-empty-interface": "off",
+ "deprecation/deprecation": "warn",
+ "prefer-arrow/prefer-arrow-functions": "off",
+ "@typescript-eslint/no-inferrable-types": "off",
+ "@typescript-eslint/naming-convention": "off",
+ "space-before-function-paren": "off",
+ "@angular-eslint/no-input-rename": "off",
+ "curly": "off",
+ "no-var": "off",
+ "@typescript-eslint/ban-types": "off",
+ "jsdoc/newline-after-description": "off",
+ "no-shadow": "off",
+ "@typescript-eslint/no-unused-expressions": "off",
+ "@typescript-eslint/member-ordering": "off",
+ "arrow-body-style": "off",
+ "object-shorthand": "off",
+ "one-var": "off",
+ "@typescript-eslint/prefer-for-of": "off",
+ "jsdoc/no-types": "off",
+ "no-fallthrough": "off",
+ "prefer-const": "off",
+ "@typescript-eslint/no-namespace": "off",
+ "@typescript-eslint/consistent-type-assertions": "off",
+ "@angular-eslint/use-lifecycle-interface": "error",
+ "@typescript-eslint/quotes": "off",
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "cx",
+ "style": "kebab-case"
+ }
+ ],
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "cx",
+ "style": "camelCase"
+ }
+ ],
+ "@typescript-eslint/consistent-type-definitions": "off",
+ "@typescript-eslint/dot-notation": "off",
+ "@typescript-eslint/explicit-member-accessibility": [
+ "off",
+ {
+ "accessibility": "explicit"
+ }
+ ],
+ "id-blacklist": "off",
+ "id-match": "off",
+ "max-len": "off",
+ "linebreak-style": ["error", "unix"],
+ "no-underscore-dangle": "off"
+ }
+ },
+ {
+ "files": ["*.html"],
+ "extends": ["plugin:@angular-eslint/template/recommended"],
+ "rules": {
+ "@angular-eslint/template/no-negated-async": "off"
+ }
+ }
+ ]
+}
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000000..fcadb2cf979
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 367b5746e19..6e9875d5f29 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -6,8 +6,8 @@
"msjsdiag.debugger-for-chrome",
// Prettier - Code formatter
"esbenp.prettier-vscode",
- // The ng lint command uses TSLint under the hood.
- "ms-vscode.vscode-typescript-tslint-plugin",
+ // The ng lint command uses ESLint under the hood.
+ "dbaeumer.vscode-eslint",
// Modern CSS/SCSS/Less linter
"stylelint.vscode-stylelint"
]
diff --git a/angular.json b/angular.json
index 37b5e061c21..fd7c617ea24 100644
--- a/angular.json
+++ b/angular.json
@@ -130,13 +130,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "projects/storefrontapp/tsconfig.app.json",
- "projects/storefrontapp/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "projects/storefrontapp/**/*.ts",
+ "projects/storefrontapp/**/*.html"
+ ]
}
},
"server": {
@@ -221,13 +220,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "projects/storefrontlib/tsconfig.lib.json",
- "projects/storefrontlib/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "projects/storefrontlib/**/*.ts",
+ "projects/storefrontlib/**/*.html"
+ ]
}
}
}
@@ -259,13 +257,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "projects/core/tsconfig.lib.json",
- "projects/core/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "projects/core/**/*.ts",
+ "projects/core/**/*.html"
+ ]
}
}
}
@@ -297,13 +294,25 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "projects/assets/tsconfig.lib.json",
- "projects/assets/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "projects/assets/**/*.ts",
+ "projects/assets/**/*.html"
+ ]
+ }
+ }
+ }
+ },
+ "schematics": {
+ "root": "projects/schematics",
+ "sourceRoot": "projects/schematics/src",
+ "projectType": "library",
+ "architect": {
+ "lint": {
+ "builder": "@angular-eslint/builder:lint",
+ "options": {
+ "lintFilePatterns": ["projects/schematics/**/*.ts"]
}
}
}
@@ -335,13 +344,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "projects/incubator/tsconfig.lib.json",
- "projects/incubator/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "projects/incubator/**/*.ts",
+ "projects/incubator/**/*.html"
+ ]
}
}
}
@@ -373,13 +381,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "integration-libs/cds/tsconfig.lib.json",
- "integration-libs/cds/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "integration-libs/cds/**/*.ts",
+ "integration-libs/cds/**/*.html"
+ ]
}
}
}
@@ -411,13 +418,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/organization/tsconfig.lib.json",
- "feature-libs/organization/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/organization/**/*.ts",
+ "feature-libs/organization/**/*.html"
+ ]
}
}
}
@@ -449,13 +455,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/product/tsconfig.lib.json",
- "feature-libs/product/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/product/**/*.ts",
+ "feature-libs/product/**/*.html"
+ ]
}
}
}
@@ -487,13 +492,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/product-configurator/tsconfig.lib.json",
- "feature-libs/product-configurator/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/product-configurator/**/*.ts",
+ "feature-libs/product-configurator/**/*.html"
+ ]
}
}
}
@@ -525,13 +529,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "integration-libs/cdc/tsconfig.lib.json",
- "integration-libs/cdc/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "integration-libs/cdc/**/*.ts",
+ "integration-libs/cdc/**/*.html"
+ ]
}
}
}
@@ -563,13 +566,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "core-libs/setup/tsconfig.lib.json",
- "core-libs/setup/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "core-libs/setup/**/*.ts",
+ "core-libs/setup/**/*.html"
+ ]
}
}
}
@@ -601,13 +603,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/storefinder/tsconfig.lib.json",
- "feature-libs/storefinder/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/storefinder/**/*.ts",
+ "feature-libs/storefinder/**/*.html"
+ ]
}
}
}
@@ -639,13 +640,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/qualtrics/tsconfig.lib.json",
- "feature-libs/qualtrics/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/qualtrics/**/*.ts",
+ "feature-libs/qualtrics/**/*.html"
+ ]
}
}
}
@@ -677,13 +677,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/tracking/tsconfig.lib.json",
- "feature-libs/tracking/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/tracking/**/*.ts",
+ "feature-libs/tracking/**/*.html"
+ ]
}
}
}
@@ -715,13 +714,12 @@
}
},
"lint": {
- "builder": "@angular-devkit/build-angular:tslint",
+ "builder": "@angular-eslint/builder:lint",
"options": {
- "tsConfig": [
- "feature-libs/smartedit/tsconfig.lib.json",
- "feature-libs/smartedit/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**"]
+ "lintFilePatterns": [
+ "feature-libs/smartedit/**/*.ts",
+ "feature-libs/smartedit/**/*.html"
+ ]
}
}
}
diff --git a/core-libs/setup/ssr/optimized-engine/optimized-ssr-engine.ts b/core-libs/setup/ssr/optimized-engine/optimized-ssr-engine.ts
index 5c3f6424076..769c0aa292d 100644
--- a/core-libs/setup/ssr/optimized-engine/optimized-ssr-engine.ts
+++ b/core-libs/setup/ssr/optimized-engine/optimized-ssr-engine.ts
@@ -97,7 +97,7 @@ export class OptimizedSsrEngine {
const key = this.getRenderingKey(request);
if (this.renderingCache.isReady(key)) {
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const cached = this.renderingCache.get(key)!;
callback(cached.err, cached.html);
diff --git a/core-libs/setup/tslint.json b/core-libs/setup/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/core-libs/setup/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/docs/libs/creating-lib.md b/docs/libs/creating-lib.md
index 54d5bb746b4..1a7abd6ff05 100644
--- a/docs/libs/creating-lib.md
+++ b/docs/libs/creating-lib.md
@@ -184,7 +184,7 @@ Use the following template:
- run `yarn config:update` script to update `compilerOptions.path` property in tsconfig files
- `tsconfig.lib.prod.json` - save to re-format it. Make sure that Ivy is off (for the time being, this will change in the future)
-- `tslint.json` - change from `lib` to `cx` in the `directive-selector` and `component-selector`
+- `tslint.json` - remove
- the rest of the generated files should be removed
### Additional changes to existing files
diff --git a/feature-libs/organization/.eslintrc.json b/feature-libs/organization/.eslintrc.json
new file mode 100644
index 00000000000..862b5a870b0
--- /dev/null
+++ b/feature-libs/organization/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": ["schematics/**/*.d.ts"]
+}
diff --git a/feature-libs/organization/administration/.eslintrc.json b/feature-libs/organization/administration/.eslintrc.json
new file mode 100644
index 00000000000..ae0643c6f4c
--- /dev/null
+++ b/feature-libs/organization/administration/.eslintrc.json
@@ -0,0 +1,26 @@
+{
+ "extends": "../.eslintrc.json",
+ "overrides": [
+ {
+ "files": ["*.ts"],
+ "rules": {
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "cx-org",
+ "style": "kebab-case"
+ }
+ ],
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "cxOrg",
+ "style": "camelCase"
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/feature-libs/organization/administration/components/budget/form/budget-form.component.spec.ts b/feature-libs/organization/administration/components/budget/form/budget-form.component.spec.ts
index c164fc19c86..b1d1b5fc849 100644
--- a/feature-libs/organization/administration/components/budget/form/budget-form.component.spec.ts
+++ b/feature-libs/organization/administration/components/budget/form/budget-form.component.spec.ts
@@ -46,7 +46,7 @@ class MockItemService {
}
@Component({
- // tslint:disable-next-line: component-selector
+ // eslint-disable-next-line @angular-eslint/component-selector
selector: 'cx-date-picker',
template: '',
})
diff --git a/feature-libs/organization/administration/components/shared/item-active.directive.spec.ts b/feature-libs/organization/administration/components/shared/item-active.directive.spec.ts
index e78db045747..3d4a8963f5f 100644
--- a/feature-libs/organization/administration/components/shared/item-active.directive.spec.ts
+++ b/feature-libs/organization/administration/components/shared/item-active.directive.spec.ts
@@ -11,7 +11,7 @@ import createSpy = jasmine.createSpy;
const mockCode = 'mc1';
@Component({
- // tslint:disable-next-line: component-selector
+ // eslint-disable-next-line @angular-eslint/component-selector
selector: 'cx-host',
template: `
TEST
`,
})
diff --git a/feature-libs/organization/administration/components/shared/item-exists.directive.spec.ts b/feature-libs/organization/administration/components/shared/item-exists.directive.spec.ts
index 8403a4e89ec..55eca16b8a4 100644
--- a/feature-libs/organization/administration/components/shared/item-exists.directive.spec.ts
+++ b/feature-libs/organization/administration/components/shared/item-exists.directive.spec.ts
@@ -11,7 +11,7 @@ import createSpy = jasmine.createSpy;
const mockCode = 'mc1';
@Component({
- // tslint:disable-next-line: component-selector
+ // eslint-disable-next-line @angular-eslint/component-selector
selector: 'cx-host',
template: `TEST
`,
})
diff --git a/feature-libs/organization/administration/components/shared/list/list.component.spec.ts b/feature-libs/organization/administration/components/shared/list/list.component.spec.ts
index f9d44be9907..e33111004af 100644
--- a/feature-libs/organization/administration/components/shared/list/list.component.spec.ts
+++ b/feature-libs/organization/administration/components/shared/list/list.component.spec.ts
@@ -68,7 +68,7 @@ class MockItemService {
}
@Component({
- // tslint:disable-next-line: component-selector
+ // eslint-disable-next-line @angular-eslint/component-selector
selector: 'cx-table',
template: '',
})
diff --git a/feature-libs/organization/administration/components/shared/message/base-message.component.ts b/feature-libs/organization/administration/components/shared/message/base-message.component.ts
index 714e44d9430..0cffa494c1d 100644
--- a/feature-libs/organization/administration/components/shared/message/base-message.component.ts
+++ b/feature-libs/organization/administration/components/shared/message/base-message.component.ts
@@ -11,7 +11,7 @@ import { ICON_TYPE } from '@spartacus/storefront';
import { MessageData } from './message.model';
@Directive()
-// tslint:disable-next-line: directive-class-suffix
+// eslint-disable-next-line @angular-eslint/directive-class-suffix
export abstract class BaseMessageComponent implements OnInit {
@HostBinding('class') type: string;
@HostBinding('class.terminated') terminated = false;
diff --git a/feature-libs/organization/administration/components/shared/sub-list/sub-list.component.spec.ts b/feature-libs/organization/administration/components/shared/sub-list/sub-list.component.spec.ts
index ca244a2cae9..40c713ad7a8 100644
--- a/feature-libs/organization/administration/components/shared/sub-list/sub-list.component.spec.ts
+++ b/feature-libs/organization/administration/components/shared/sub-list/sub-list.component.spec.ts
@@ -30,7 +30,7 @@ const mockEmptyList: EntitiesModel = {
};
@Component({
- // tslint:disable-next-line: component-selector
+ // eslint-disable-next-line @angular-eslint/component-selector
selector: 'cx-table',
template: '',
})
diff --git a/feature-libs/organization/administration/core/services/organization-page-meta.resolver.ts b/feature-libs/organization/administration/core/services/organization-page-meta.resolver.ts
index 1b1a4c8e348..afb1aa96e8f 100644
--- a/feature-libs/organization/administration/core/services/organization-page-meta.resolver.ts
+++ b/feature-libs/organization/administration/core/services/organization-page-meta.resolver.ts
@@ -64,7 +64,7 @@ export class OrganizationPageMetaResolver
translation: TranslationService,
semanticPath: SemanticPathService,
routingService: RoutingService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
basePageMetaResolver?: BasePageMetaResolver
);
constructor(
diff --git a/feature-libs/organization/administration/occ/adapters/occ-b2b-users.adapter.spec.ts b/feature-libs/organization/administration/occ/adapters/occ-b2b-users.adapter.spec.ts
index 296a62e0266..db939ca907d 100644
--- a/feature-libs/organization/administration/occ/adapters/occ-b2b-users.adapter.spec.ts
+++ b/feature-libs/organization/administration/occ/adapters/occ-b2b-users.adapter.spec.ts
@@ -35,7 +35,7 @@ const params: SearchConfig = { sort: 'code' };
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { userId }) => (url === 'b2bUser' ? `${url}/${userId}` : url)
);
}
diff --git a/feature-libs/organization/administration/occ/adapters/occ-budget.adapter.spec.ts b/feature-libs/organization/administration/occ/adapters/occ-budget.adapter.spec.ts
index 4aa0cab3a5d..e9af8abb657 100644
--- a/feature-libs/organization/administration/occ/adapters/occ-budget.adapter.spec.ts
+++ b/feature-libs/organization/administration/occ/adapters/occ-budget.adapter.spec.ts
@@ -22,7 +22,7 @@ const budget = {
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { budgetCode }) => (url === 'budget' ? url + budgetCode : url)
);
}
diff --git a/feature-libs/organization/administration/occ/adapters/occ-cost-center.adapter.spec.ts b/feature-libs/organization/administration/occ/adapters/occ-cost-center.adapter.spec.ts
index 7b334163542..140e03966e3 100644
--- a/feature-libs/organization/administration/occ/adapters/occ-cost-center.adapter.spec.ts
+++ b/feature-libs/organization/administration/occ/adapters/occ-cost-center.adapter.spec.ts
@@ -27,7 +27,7 @@ const budget = {
};
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { costCenterCode }) =>
url === 'costCenter' ? url + costCenterCode : url
);
diff --git a/feature-libs/organization/administration/occ/adapters/occ-org-unit.adapter.spec.ts b/feature-libs/organization/administration/occ/adapters/occ-org-unit.adapter.spec.ts
index 46f61442588..f8e48426223 100644
--- a/feature-libs/organization/administration/occ/adapters/occ-org-unit.adapter.spec.ts
+++ b/feature-libs/organization/administration/occ/adapters/occ-org-unit.adapter.spec.ts
@@ -37,7 +37,7 @@ const addressId: string = address.id;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orgUnitId }) => (url === 'orgUnit' ? url + orgUnitId : url)
);
}
diff --git a/feature-libs/organization/administration/occ/adapters/occ-permission.adapter.spec.ts b/feature-libs/organization/administration/occ/adapters/occ-permission.adapter.spec.ts
index a73e7ba1b76..678adf0a935 100644
--- a/feature-libs/organization/administration/occ/adapters/occ-permission.adapter.spec.ts
+++ b/feature-libs/organization/administration/occ/adapters/occ-permission.adapter.spec.ts
@@ -22,7 +22,7 @@ const permission = {
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orderApprovalPermissionCode }) =>
url === 'permission' ? url + orderApprovalPermissionCode : url
);
diff --git a/feature-libs/organization/administration/occ/adapters/occ-user-group.adapter.spec.ts b/feature-libs/organization/administration/occ/adapters/occ-user-group.adapter.spec.ts
index d7612d2fca9..3895e50da4c 100644
--- a/feature-libs/organization/administration/occ/adapters/occ-user-group.adapter.spec.ts
+++ b/feature-libs/organization/administration/occ/adapters/occ-user-group.adapter.spec.ts
@@ -33,7 +33,7 @@ const member = {
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { userGroupId }) => (url === 'userGroup' ? url + userGroupId : url)
);
}
diff --git a/feature-libs/organization/administration/occ/converters/occ-org-unit-approval-processes-normalizer.spec.ts b/feature-libs/organization/administration/occ/converters/occ-org-unit-approval-processes-normalizer.spec.ts
index a2384b09bb9..7182d146ad6 100644
--- a/feature-libs/organization/administration/occ/converters/occ-org-unit-approval-processes-normalizer.spec.ts
+++ b/feature-libs/organization/administration/occ/converters/occ-org-unit-approval-processes-normalizer.spec.ts
@@ -6,7 +6,7 @@ import createSpy = jasmine.createSpy;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orgUnitId }) => (url === 'orgUnit' ? url + orgUnitId : url)
);
}
diff --git a/feature-libs/organization/administration/occ/converters/occ-org-unit-node-list-normalizer.spec.ts b/feature-libs/organization/administration/occ/converters/occ-org-unit-node-list-normalizer.spec.ts
index 857b75ed8c8..b59b4a9a98c 100644
--- a/feature-libs/organization/administration/occ/converters/occ-org-unit-node-list-normalizer.spec.ts
+++ b/feature-libs/organization/administration/occ/converters/occ-org-unit-node-list-normalizer.spec.ts
@@ -7,7 +7,7 @@ import createSpy = jasmine.createSpy;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orgUnitId }) => (url === 'orgUnit' ? url + orgUnitId : url)
);
}
diff --git a/feature-libs/organization/administration/occ/converters/occ-org-unit-node-normalizer.spec.ts b/feature-libs/organization/administration/occ/converters/occ-org-unit-node-normalizer.spec.ts
index 71a8a2a4aa8..6d9de8940fe 100644
--- a/feature-libs/organization/administration/occ/converters/occ-org-unit-node-normalizer.spec.ts
+++ b/feature-libs/organization/administration/occ/converters/occ-org-unit-node-normalizer.spec.ts
@@ -7,7 +7,7 @@ import createSpy = jasmine.createSpy;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orgUnitId }) => (url === 'orgUnit' ? url + orgUnitId : url)
);
}
diff --git a/feature-libs/organization/administration/occ/converters/occ-org-unit-normalizer.spec.ts b/feature-libs/organization/administration/occ/converters/occ-org-unit-normalizer.spec.ts
index 4d8928b72a6..9783c1459d3 100644
--- a/feature-libs/organization/administration/occ/converters/occ-org-unit-normalizer.spec.ts
+++ b/feature-libs/organization/administration/occ/converters/occ-org-unit-normalizer.spec.ts
@@ -6,7 +6,7 @@ import createSpy = jasmine.createSpy;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orgUnitId }) => (url === 'orgUnit' ? url + orgUnitId : url)
);
}
diff --git a/feature-libs/organization/administration/tslint.json b/feature-libs/organization/administration/tslint.json
deleted file mode 100644
index 31356ad264d..00000000000
--- a/feature-libs/organization/administration/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cxOrg", "camelCase"],
- "component-selector": [true, "element", "cx-org", "kebab-case"]
- }
-}
diff --git a/feature-libs/organization/jest.ts b/feature-libs/organization/jest.ts
index fa0c277b54a..c2ce0365f32 100644
--- a/feature-libs/organization/jest.ts
+++ b/feature-libs/organization/jest.ts
@@ -1,5 +1,5 @@
// uncomment when we switch the whole lib to jest
-/**
+/*
Object.defineProperty(window, 'CSS', { value: null });
Object.defineProperty(window, 'getComputedStyle', {
value: () => {
diff --git a/feature-libs/organization/order-approval/occ/adapters/occ-order-approval.adapter.spec.ts b/feature-libs/organization/order-approval/occ/adapters/occ-order-approval.adapter.spec.ts
index e7d380c1ff5..32da057b211 100644
--- a/feature-libs/organization/order-approval/occ/adapters/occ-order-approval.adapter.spec.ts
+++ b/feature-libs/organization/order-approval/occ/adapters/occ-order-approval.adapter.spec.ts
@@ -31,7 +31,7 @@ const orderApprovalDecision: OrderApprovalDecision = {
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orderApprovalCode }) =>
url === 'orderApproval' || url === 'orderApprovalDecision'
? `${url}/${orderApprovalCode}`
diff --git a/feature-libs/organization/tslint.json b/feature-libs/organization/tslint.json
deleted file mode 100644
index fe91d36a7a9..00000000000
--- a/feature-libs/organization/tslint.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"],
- "no-host-metadata-property": false
- }
-}
diff --git a/feature-libs/product-configurator/.eslintrc.json b/feature-libs/product-configurator/.eslintrc.json
new file mode 100644
index 00000000000..862b5a870b0
--- /dev/null
+++ b/feature-libs/product-configurator/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": ["schematics/**/*.d.ts"]
+}
diff --git a/feature-libs/product-configurator/jest.ts b/feature-libs/product-configurator/jest.ts
index fa0c277b54a..c2ce0365f32 100644
--- a/feature-libs/product-configurator/jest.ts
+++ b/feature-libs/product-configurator/jest.ts
@@ -1,5 +1,5 @@
// uncomment when we switch the whole lib to jest
-/**
+/*
Object.defineProperty(window, 'CSS', { value: null });
Object.defineProperty(window, 'getComputedStyle', {
value: () => {
diff --git a/feature-libs/product-configurator/rulebased/components/add-to-cart-button/configurator-add-to-cart-button.component.ts b/feature-libs/product-configurator/rulebased/components/add-to-cart-button/configurator-add-to-cart-button.component.ts
index 078748561a0..c6ed231746b 100644
--- a/feature-libs/product-configurator/rulebased/components/add-to-cart-button/configurator-add-to-cart-button.component.ts
+++ b/feature-libs/product-configurator/rulebased/components/add-to-cart-button/configurator-add-to-cart-button.component.ts
@@ -140,7 +140,6 @@ export class ConfiguratorAddToCartButtonComponent {
* just a cart navigation or a browser back navigation
* @param {Configurator.Configuration} configuration - Configuration
* @param {ConfiguratorRouter.Data} routerData - Reflects the current router state
-
*/
onAddToCart(
configuration: Configurator.Configuration,
diff --git a/feature-libs/product-configurator/rulebased/core/connectors/rulebased-configurator.adapter.ts b/feature-libs/product-configurator/rulebased/core/connectors/rulebased-configurator.adapter.ts
index d34aa3f841f..867ee0d861e 100644
--- a/feature-libs/product-configurator/rulebased/core/connectors/rulebased-configurator.adapter.ts
+++ b/feature-libs/product-configurator/rulebased/core/connectors/rulebased-configurator.adapter.ts
@@ -37,7 +37,6 @@ export abstract class RulebasedConfiguratorAdapter {
): Observable;
/**
-
* Abstract method to add a configuration to cart.
*
* @param parameters add to cart parameters object
diff --git a/feature-libs/product-configurator/tslint.json b/feature-libs/product-configurator/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/feature-libs/product-configurator/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/feature-libs/product/tslint.json b/feature-libs/product/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/feature-libs/product/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/feature-libs/qualtrics/.eslintrc.json b/feature-libs/qualtrics/.eslintrc.json
new file mode 100644
index 00000000000..862b5a870b0
--- /dev/null
+++ b/feature-libs/qualtrics/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": ["schematics/**/*.d.ts"]
+}
diff --git a/feature-libs/qualtrics/jest.ts b/feature-libs/qualtrics/jest.ts
index fa0c277b54a..c2ce0365f32 100644
--- a/feature-libs/qualtrics/jest.ts
+++ b/feature-libs/qualtrics/jest.ts
@@ -1,5 +1,5 @@
// uncomment when we switch the whole lib to jest
-/**
+/*
Object.defineProperty(window, 'CSS', { value: null });
Object.defineProperty(window, 'getComputedStyle', {
value: () => {
diff --git a/feature-libs/qualtrics/tslint.json b/feature-libs/qualtrics/tslint.json
deleted file mode 100644
index fe91d36a7a9..00000000000
--- a/feature-libs/qualtrics/tslint.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"],
- "no-host-metadata-property": false
- }
-}
diff --git a/feature-libs/smartedit/.eslintrc.json b/feature-libs/smartedit/.eslintrc.json
new file mode 100644
index 00000000000..862b5a870b0
--- /dev/null
+++ b/feature-libs/smartedit/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": ["schematics/**/*.d.ts"]
+}
diff --git a/feature-libs/smartedit/jest.ts b/feature-libs/smartedit/jest.ts
index fa0c277b54a..c2ce0365f32 100644
--- a/feature-libs/smartedit/jest.ts
+++ b/feature-libs/smartedit/jest.ts
@@ -1,5 +1,5 @@
// uncomment when we switch the whole lib to jest
-/**
+/*
Object.defineProperty(window, 'CSS', { value: null });
Object.defineProperty(window, 'getComputedStyle', {
value: () => {
diff --git a/feature-libs/smartedit/tslint.json b/feature-libs/smartedit/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/feature-libs/smartedit/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/feature-libs/storefinder/.eslintrc.json b/feature-libs/storefinder/.eslintrc.json
new file mode 100644
index 00000000000..862b5a870b0
--- /dev/null
+++ b/feature-libs/storefinder/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": ["schematics/**/*.d.ts"]
+}
diff --git a/feature-libs/storefinder/components/abstract-store-item/abstract-store-item.component.ts b/feature-libs/storefinder/components/abstract-store-item/abstract-store-item.component.ts
index 664a9b4e695..d1a72bb7f76 100644
--- a/feature-libs/storefinder/components/abstract-store-item/abstract-store-item.component.ts
+++ b/feature-libs/storefinder/components/abstract-store-item/abstract-store-item.component.ts
@@ -1,7 +1,7 @@
import { Input, Directive } from '@angular/core';
import { StoreDataService } from '@spartacus/storefinder/core';
-// tslint:disable:directive-class-suffix
+/* eslint-disable @angular-eslint/directive-class-suffix */
@Directive()
export class AbstractStoreItemComponent {
@Input()
diff --git a/feature-libs/storefinder/core/facade/store-finder.service.ts b/feature-libs/storefinder/core/facade/store-finder.service.ts
index 1a471576ebc..ffe8c6a76d6 100644
--- a/feature-libs/storefinder/core/facade/store-finder.service.ts
+++ b/feature-libs/storefinder/core/facade/store-finder.service.ts
@@ -42,7 +42,7 @@ export class StoreFinderService implements OnDestroy {
winRef: WindowRef,
globalMessageService: GlobalMessageService,
routingService: RoutingService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
platformId: any
);
diff --git a/feature-libs/storefinder/core/service/google-map-renderer.service.ts b/feature-libs/storefinder/core/service/google-map-renderer.service.ts
index dc9d7600687..dfb59fb15db 100644
--- a/feature-libs/storefinder/core/service/google-map-renderer.service.ts
+++ b/feature-libs/storefinder/core/service/google-map-renderer.service.ts
@@ -15,7 +15,7 @@ export class GoogleMapRendererService {
config: StoreFinderConfig,
externalJsFileLoader: ExternalJsFileLoader,
storeDataService: StoreDataService,
- // tslint:disable-next-line:unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
scriptLoader?: ScriptLoader
);
/**
diff --git a/feature-libs/storefinder/jest.ts b/feature-libs/storefinder/jest.ts
index fa0c277b54a..c2ce0365f32 100644
--- a/feature-libs/storefinder/jest.ts
+++ b/feature-libs/storefinder/jest.ts
@@ -1,5 +1,5 @@
// uncomment when we switch the whole lib to jest
-/**
+/*
Object.defineProperty(window, 'CSS', { value: null });
Object.defineProperty(window, 'getComputedStyle', {
value: () => {
diff --git a/feature-libs/storefinder/tslint.json b/feature-libs/storefinder/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/feature-libs/storefinder/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/feature-libs/tracking/tms/core/services/tms.service.ts b/feature-libs/tracking/tms/core/services/tms.service.ts
index 271387cfa58..db8c8fbe956 100644
--- a/feature-libs/tracking/tms/core/services/tms.service.ts
+++ b/feature-libs/tracking/tms/core/services/tms.service.ts
@@ -52,7 +52,7 @@ export class TmsService implements OnDestroy {
const collector = this.injector.get(
collectorConfig.collector
);
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
collector.init(collectorConfig, this.windowRef.nativeWindow!);
this.subscription.add(
@@ -67,7 +67,7 @@ export class TmsService implements OnDestroy {
event = collector.map ? collector.map(event) : event;
collector.pushEvent(
collectorConfig,
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
this.windowRef.nativeWindow!,
event
);
diff --git a/feature-libs/tracking/tslint.json b/feature-libs/tracking/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/feature-libs/tracking/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/integration-libs/cdc/tslint.json b/integration-libs/cdc/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/integration-libs/cdc/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/integration-libs/cds/src/merchandising/cms-components/merchandising-carousel/merchandising-carousel.component.spec.ts b/integration-libs/cds/src/merchandising/cms-components/merchandising-carousel/merchandising-carousel.component.spec.ts
index 0d6edfbaa8d..b4e044f6341 100644
--- a/integration-libs/cds/src/merchandising/cms-components/merchandising-carousel/merchandising-carousel.component.spec.ts
+++ b/integration-libs/cds/src/merchandising/cms-components/merchandising-carousel/merchandising-carousel.component.spec.ts
@@ -47,7 +47,7 @@ class MockCarouselComponent {
*/
@Directive({
selector: '[cxAttributes]',
- // tslint:disable-next-line:no-inputs-metadata-property
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['cxAttributes', 'cxAttributesNamePrefix'],
})
class MockAttributesDirective {
diff --git a/integration-libs/cds/tslint.json b/integration-libs/cds/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/integration-libs/cds/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/package.json b/package.json
index 7f96c8b8099..ac836ea65b8 100644
--- a/package.json
+++ b/package.json
@@ -124,6 +124,11 @@
"@angular-devkit/build-ng-packagr": "~0.1002.1",
"@angular-devkit/core": "10.2.1",
"@angular-devkit/schematics": "^10.2.1",
+ "@angular-eslint/builder": "^1.2.0",
+ "@angular-eslint/eslint-plugin": "^1.2.0",
+ "@angular-eslint/eslint-plugin-template": "^1.2.0",
+ "@angular-eslint/schematics": "^1.2.0",
+ "@angular-eslint/template-parser": "^1.2.0",
"@angular/cli": "^10.2.1",
"@angular/compiler-cli": "^10.2.4",
"@angular/language-service": "^10.2.4",
@@ -141,8 +146,9 @@
"@types/parse5": "^5.0.3",
"@types/semver": "6",
"@types/shelljs": "^0.8.7",
+ "@typescript-eslint/eslint-plugin": "^4.3.0",
+ "@typescript-eslint/parser": "^4.3.0",
"chalk": "^4.1.0",
- "codelyzer": "^6.0.0",
"commander": "^3.0.0",
"concurrently": "^5.3.0",
"conventional-commits-parser": "^3.0.1",
@@ -151,6 +157,11 @@
"ejs": "^2.6.2",
"enquirer": "^2.3.6",
"env-cmd": "^10.1.0",
+ "eslint": "^7.6.0",
+ "eslint-plugin-deprecation": "^1.2.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-jsdoc": "^30.7.6",
+ "eslint-plugin-prefer-arrow": "^1.2.2",
"faker": "^4.1.0",
"fs-extra": "^9.0.1",
"gh-got": "^8.0.1",
@@ -187,7 +198,6 @@
"through2": "^3.0.1",
"ts-jest": "^26.4.4",
"ts-node": "~8.3.0",
- "tslint": "~6.1.0",
"typescript": "~4.0.2",
"webpack-cli": "^3.3.12"
}
diff --git a/projects/assets/tslint.json b/projects/assets/tslint.json
deleted file mode 100644
index 0946f20963a..00000000000
--- a/projects/assets/tslint.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "../../tslint.json"
-}
diff --git a/projects/core/src/cart/services/cart-page-meta.resolver.ts b/projects/core/src/cart/services/cart-page-meta.resolver.ts
index 01a3cf94cd7..daa1c20e1cf 100644
--- a/projects/core/src/cart/services/cart-page-meta.resolver.ts
+++ b/projects/core/src/cart/services/cart-page-meta.resolver.ts
@@ -34,7 +34,7 @@ export class CartPageMetaResolver
*/
// TODO(#10467): Remove deprecated constructors
constructor(cms: CmsService);
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
constructor(cms: CmsService, basePageMetaResolver?: BasePageMetaResolver);
constructor(
protected cms: CmsService,
diff --git a/projects/core/src/checkout/services/checkout-page-meta.resolver.ts b/projects/core/src/checkout/services/checkout-page-meta.resolver.ts
index 513df9d2ee2..02c928b311a 100644
--- a/projects/core/src/checkout/services/checkout-page-meta.resolver.ts
+++ b/projects/core/src/checkout/services/checkout-page-meta.resolver.ts
@@ -38,7 +38,7 @@ export class CheckoutPageMetaResolver
constructor(
translation: TranslationService,
activeCartService: ActiveCartService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
basePageMetaResolver?: BasePageMetaResolver
);
constructor(
diff --git a/projects/core/src/lazy-loading/feature-modules.service.ts b/projects/core/src/lazy-loading/feature-modules.service.ts
index 9648cbe33b8..34af43f7dfb 100644
--- a/projects/core/src/lazy-loading/feature-modules.service.ts
+++ b/projects/core/src/lazy-loading/feature-modules.service.ts
@@ -1,8 +1,8 @@
import { Injectable, NgModuleRef } from '@angular/core';
-import { LazyModulesService } from './lazy-modules.service';
import { defer, forkJoin, Observable, of, throwError } from 'rxjs';
import { shareReplay, switchMap } from 'rxjs/operators';
import { CmsConfig } from '../cms/config/cms-config';
+import { LazyModulesService } from './lazy-modules.service';
@Injectable({
providedIn: 'root',
@@ -41,7 +41,7 @@ export class FeatureModulesService {
);
}
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const featureConfig = this.cmsConfig.featureModules![featureName];
this.features.set(
@@ -49,7 +49,7 @@ export class FeatureModulesService {
this.resolveDependencies(featureConfig.dependencies).pipe(
switchMap((deps) =>
this.lazyModules.resolveModuleInstance(
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
featureConfig.module!,
featureName,
deps
diff --git a/projects/core/src/occ/adapters/cart/default-occ-cart-config.ts b/projects/core/src/occ/adapters/cart/default-occ-cart-config.ts
index 0e902e16cdb..b3c218c00b9 100644
--- a/projects/core/src/occ/adapters/cart/default-occ-cart-config.ts
+++ b/projects/core/src/occ/adapters/cart/default-occ-cart-config.ts
@@ -4,7 +4,7 @@ export const defaultOccCartConfig: OccConfig = {
backend: {
occ: {
endpoints: {
- // tslint:disable:max-line-length
+ /* eslint-disable max-len */
carts:
'users/${userId}/carts?fields=carts(DEFAULT,potentialProductPromotions,appliedProductPromotions,potentialOrderPromotions,appliedOrderPromotions,entries(totalPrice(formattedValue),product(images(FULL),stock(FULL)),basePrice(formattedValue,value),updateable),totalPrice(formattedValue),totalItems,totalPriceWithTax(formattedValue),totalDiscounts(value,formattedValue),subTotal(formattedValue),deliveryItemsQuantity,deliveryCost(formattedValue),totalTax(formattedValue, value),pickupItemsQuantity,net,appliedVouchers,productDiscounts(formattedValue),saveTime,user,name)',
cart:
@@ -18,7 +18,7 @@ export const defaultOccCartConfig: OccConfig = {
deleteCart: 'users/${userId}/carts/${cartId}',
cartVoucher: 'users/${userId}/carts/${cartId}/vouchers',
saveCart: 'users/${userId}/carts/${cartId}/save',
- // tslint:enable
+ /* eslint-enable */
},
},
},
diff --git a/projects/core/src/occ/adapters/checkout/occ-checkout-cost-center.adapter.ts b/projects/core/src/occ/adapters/checkout/occ-checkout-cost-center.adapter.ts
index 629d4f58a9e..647e2469a4c 100644
--- a/projects/core/src/occ/adapters/checkout/occ-checkout-cost-center.adapter.ts
+++ b/projects/core/src/occ/adapters/checkout/occ-checkout-cost-center.adapter.ts
@@ -21,7 +21,7 @@ export class OccCheckoutCostCenterAdapter implements CheckoutCostCenterAdapter {
costCenterId: string
): Observable {
let httpParams = new HttpParams().set('costCenterId', costCenterId);
- /* tslint:disable:max-line-length */
+ /* eslint-disable max-len */
httpParams = httpParams.set(
'fields',
'DEFAULT,potentialProductPromotions,appliedProductPromotions,potentialOrderPromotions,appliedOrderPromotions,entries(totalPrice(formattedValue),product(images(FULL),stock(FULL)),basePrice(formattedValue,value),updateable),totalPrice(formattedValue),totalItems,totalPriceWithTax(formattedValue),totalDiscounts(value,formattedValue),subTotal(formattedValue),deliveryItemsQuantity,deliveryCost(formattedValue),totalTax(formattedValue, value),pickupItemsQuantity,net,appliedVouchers,productDiscounts(formattedValue),user'
diff --git a/projects/core/src/occ/adapters/checkout/occ-checkout-payment-type.adapter.ts b/projects/core/src/occ/adapters/checkout/occ-checkout-payment-type.adapter.ts
index 195cc71cffb..c4bf456b1e3 100644
--- a/projects/core/src/occ/adapters/checkout/occ-checkout-payment-type.adapter.ts
+++ b/projects/core/src/occ/adapters/checkout/occ-checkout-payment-type.adapter.ts
@@ -41,7 +41,7 @@ export class OccCheckoutPaymentTypeAdapter implements PaymentTypeAdapter {
if (purchaseOrderNumber !== undefined) {
httpParams = httpParams.set('purchaseOrderNumber', purchaseOrderNumber);
}
- /* tslint:disable:max-line-length */
+ /* eslint-disable max-len */
httpParams = httpParams.set(
'fields',
'DEFAULT,potentialProductPromotions,appliedProductPromotions,potentialOrderPromotions,appliedOrderPromotions,entries(totalPrice(formattedValue),product(images(FULL),stock(FULL)),basePrice(formattedValue,value),updateable),totalPrice(formattedValue),totalItems,totalPriceWithTax(formattedValue),totalDiscounts(value,formattedValue),subTotal(formattedValue),deliveryItemsQuantity,deliveryCost(formattedValue),totalTax(formattedValue, value),pickupItemsQuantity,net,appliedVouchers,productDiscounts(formattedValue),user'
diff --git a/projects/core/src/occ/adapters/product/default-occ-product-config.ts b/projects/core/src/occ/adapters/product/default-occ-product-config.ts
index efb3bbba68d..b69ed695e03 100644
--- a/projects/core/src/occ/adapters/product/default-occ-product-config.ts
+++ b/projects/core/src/occ/adapters/product/default-occ-product-config.ts
@@ -22,10 +22,10 @@ export const defaultOccProductConfig: OccConfig = {
// 'products/${productCode}/references?fields=DEFAULT,references(target(images(FULL)))&referenceType=${referenceType}',
productReferences:
'products/${productCode}/references?fields=DEFAULT,references(target(images(FULL)))',
- // tslint:disable:max-line-length
+ /* eslint-disable max-len */
productSearch:
'products/search?fields=products(code,name,summary,configurable,configuratorType,price(FULL),images(DEFAULT),stock(FULL),averageRating,variantOptions),facets,breadcrumbs,pagination(DEFAULT),sorts(DEFAULT),freeTextSearch,currentQuery',
- // tslint:enable
+ /* eslint-enable */
productSuggestions: 'products/suggestions',
},
},
diff --git a/projects/core/src/occ/adapters/product/occ-product-search.adapter.spec.ts b/projects/core/src/occ/adapters/product/occ-product-search.adapter.spec.ts
index 5984293b4ec..c7428a22ad4 100644
--- a/projects/core/src/occ/adapters/product/occ-product-search.adapter.spec.ts
+++ b/projects/core/src/occ/adapters/product/occ-product-search.adapter.spec.ts
@@ -17,7 +17,7 @@ import createSpy = jasmine.createSpy;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url) => url
);
}
diff --git a/projects/core/src/occ/adapters/product/occ-product.adapter.spec.ts b/projects/core/src/occ/adapters/product/occ-product.adapter.spec.ts
index 7407c986c33..bb77ced1170 100644
--- a/projects/core/src/occ/adapters/product/occ-product.adapter.spec.ts
+++ b/projects/core/src/occ/adapters/product/occ-product.adapter.spec.ts
@@ -16,7 +16,7 @@ const product = {
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { productCode }, _, scope) =>
`${url}${productCode}` + (scope ? `?fields=${scope}` : '')
);
diff --git a/projects/core/src/occ/adapters/user/converters/occ-address-list-normalizer.spec.ts b/projects/core/src/occ/adapters/user/converters/occ-address-list-normalizer.spec.ts
index 017f84fba4b..79a24f7b99d 100644
--- a/projects/core/src/occ/adapters/user/converters/occ-address-list-normalizer.spec.ts
+++ b/projects/core/src/occ/adapters/user/converters/occ-address-list-normalizer.spec.ts
@@ -11,7 +11,7 @@ import createSpy = jasmine.createSpy;
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { orgUnitId }) => (url === 'orgUnit' ? url + orgUnitId : url)
);
}
@@ -45,8 +45,7 @@ describe('OccAddressListNormalizer', () => {
describe('convert', () => {
it('convert Occ.B2BAddressList to EntitiesModel', () => {
- let target: EntitiesModel;
- target = service.convert(source);
+ const target: EntitiesModel = service.convert(source);
expect(target.values.length).toEqual(source.addresses.length);
});
diff --git a/projects/core/src/occ/adapters/user/default-occ-user-config.ts b/projects/core/src/occ/adapters/user/default-occ-user-config.ts
index c16d6c25e97..aef97f77df3 100644
--- a/projects/core/src/occ/adapters/user/default-occ-user-config.ts
+++ b/projects/core/src/occ/adapters/user/default-occ-user-config.ts
@@ -4,7 +4,7 @@ export const defaultOccUserConfig: OccConfig = {
backend: {
occ: {
endpoints: {
- // tslint:disable:max-line-length
+ /* eslint-disable max-len */
user: 'users/${userId}',
userRegister: 'users',
userForgotPassword: 'forgottenpasswordtokens',
@@ -40,7 +40,7 @@ export const defaultOccUserConfig: OccConfig = {
orderReturnDetail:
'users/${userId}/orderReturns/${returnRequestCode}?fields=BASIC,returnEntries(BASIC,refundAmount(formattedValue),orderEntry(basePrice(formattedValue),product(name,code,baseOptions,images(DEFAULT,galleryIndex)))),deliveryCost(formattedValue),totalPrice(formattedValue),subTotal(formattedValue)',
cancelReturn: 'users/${userId}/orderReturns/${returnRequestCode}',
- // tslint:enable
+ /* eslint-enable */
},
},
},
diff --git a/projects/core/src/occ/adapters/user/occ-user-cost-centers.adapter.spec.ts b/projects/core/src/occ/adapters/user/occ-user-cost-centers.adapter.spec.ts
index d7dab66497f..b84244d6db7 100644
--- a/projects/core/src/occ/adapters/user/occ-user-cost-centers.adapter.spec.ts
+++ b/projects/core/src/occ/adapters/user/occ-user-cost-centers.adapter.spec.ts
@@ -18,7 +18,7 @@ const costCenter = {
class MockOccEndpointsService {
getUrl = createSpy('MockOccEndpointsService.getEndpoint').and.callFake(
- // tslint:disable-next-line:no-shadowed-variable
+ // eslint-disable-next-line no-shadow
(url, { costCenterCode }) =>
url === 'costCenter' ? url + costCenterCode : url
);
diff --git a/projects/core/src/product/services/category-page-meta.resolver.ts b/projects/core/src/product/services/category-page-meta.resolver.ts
index d74690e8ddb..c60b0a5b8de 100644
--- a/projects/core/src/product/services/category-page-meta.resolver.ts
+++ b/projects/core/src/product/services/category-page-meta.resolver.ts
@@ -57,7 +57,7 @@ export class CategoryPageMetaResolver
productSearchService: ProductSearchService,
cmsService: CmsService,
translation: TranslationService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
basePageMetaResolver?: BasePageMetaResolver
);
constructor(
diff --git a/projects/core/src/product/services/product-page-meta.resolver.ts b/projects/core/src/product/services/product-page-meta.resolver.ts
index 439a7428ce8..5b262742abe 100644
--- a/projects/core/src/product/services/product-page-meta.resolver.ts
+++ b/projects/core/src/product/services/product-page-meta.resolver.ts
@@ -59,7 +59,7 @@ export class ProductPageMetaResolver
routingService: RoutingService,
productService: ProductService,
translation: TranslationService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
basePageMetaResolver?: BasePageMetaResolver
);
constructor(
diff --git a/projects/core/src/product/services/search-page-meta.resolver.ts b/projects/core/src/product/services/search-page-meta.resolver.ts
index 149f502111b..1e6efbe9cf9 100644
--- a/projects/core/src/product/services/search-page-meta.resolver.ts
+++ b/projects/core/src/product/services/search-page-meta.resolver.ts
@@ -51,7 +51,7 @@ export class SearchPageMetaResolver
routingService: RoutingService,
productSearchService: ProductSearchService,
translation: TranslationService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
basePageMetaResolver?: BasePageMetaResolver
);
constructor(
diff --git a/projects/core/src/routing/services/activated-routes.service.ts b/projects/core/src/routing/services/activated-routes.service.ts
index 79063d6f8db..cee767cb6aa 100644
--- a/projects/core/src/routing/services/activated-routes.service.ts
+++ b/projects/core/src/routing/services/activated-routes.service.ts
@@ -17,7 +17,7 @@ export class ActivatedRoutesService {
ActivatedRouteSnapshot[]
> = this.router.events.pipe(
filter((event) => event instanceof NavigationEnd),
- // tslint:disable-next-line: deprecation https://github.com/ReactiveX/rxjs/issues/4772
+ // eslint-disable-next-line import/no-deprecated
startWith(undefined), // emit value for consumer who subscribed lately after NavigationEnd event
map(() => {
let route = this.router.routerState.snapshot.root;
diff --git a/projects/core/src/util/combined-injector.ts b/projects/core/src/util/combined-injector.ts
index b79ab41853d..6e4c9eb7ecb 100644
--- a/projects/core/src/util/combined-injector.ts
+++ b/projects/core/src/util/combined-injector.ts
@@ -35,7 +35,7 @@ export class CombinedInjector implements Injector {
): T;
get(token: any, notFoundValue?: any): any;
get(token, notFoundValue?: any, flags?: InjectFlags): any {
- // tslint:disable-next-line:no-bitwise
+ // eslint-disable-next-line no-bitwise
if (flags & InjectFlags.Self) {
if (notFoundValue !== undefined) {
return notFoundValue;
diff --git a/projects/core/src/util/external-js-file-loader/external-js-file-loader.service.spec.ts b/projects/core/src/util/external-js-file-loader/external-js-file-loader.service.spec.ts
index 6e276d59b1a..6d8ec3b38ea 100644
--- a/projects/core/src/util/external-js-file-loader/external-js-file-loader.service.spec.ts
+++ b/projects/core/src/util/external-js-file-loader/external-js-file-loader.service.spec.ts
@@ -1,5 +1,5 @@
-/* tslint:disable:deprecation */
-// for now there is no better way than to use document.createElement here, therefore we need to disable tslint deprecation rule here
+/* eslint-disable import/no-deprecated */
+// for now there is no better way than to use document.createElement here, therefore we need to disable eslint deprecation rule here
import { DOCUMENT } from '@angular/common';
import { TestBed } from '@angular/core/testing';
import { ExternalJsFileLoader } from './external-js-file-loader.service';
diff --git a/projects/core/src/util/regex-pattern.ts b/projects/core/src/util/regex-pattern.ts
index 61bba11f305..8f97cb6ab3d 100644
--- a/projects/core/src/util/regex-pattern.ts
+++ b/projects/core/src/util/regex-pattern.ts
@@ -1,4 +1,4 @@
// Email Standard RFC 5322:
-export const EMAIL_PATTERN = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; // tslint:disable-line
+export const EMAIL_PATTERN = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; // eslint-disable-line
export const PASSWORD_PATTERN = /^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[!@#$%^*()_\-+{};:.,]).{6,}$/;
diff --git a/projects/core/src/util/script-loader.service.spec.ts b/projects/core/src/util/script-loader.service.spec.ts
index c41d251225e..a6f36b466bf 100644
--- a/projects/core/src/util/script-loader.service.spec.ts
+++ b/projects/core/src/util/script-loader.service.spec.ts
@@ -1,5 +1,5 @@
-/* tslint:disable:deprecation */
-// for now there is no better way than to use document.createElement here, therefore we need to disable tslint deprecation rule here
+/* eslint-disable import/no-deprecated */
+// for now there is no better way than to use document.createElement here, therefore we need to disable eslint deprecation rule here
import { DOCUMENT } from '@angular/common';
import { PLATFORM_ID } from '@angular/core';
import { TestBed } from '@angular/core/testing';
diff --git a/projects/core/tslint.json b/projects/core/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/projects/core/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/projects/incubator/tslint.json b/projects/incubator/tslint.json
deleted file mode 100644
index e87a6d1bf33..00000000000
--- a/projects/incubator/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", "cx", "camelCase"],
- "component-selector": [true, "element", "cx", "kebab-case"]
- }
-}
diff --git a/projects/schematics/.eslintrc.json b/projects/schematics/.eslintrc.json
new file mode 100644
index 00000000000..a5b02ff38ef
--- /dev/null
+++ b/projects/schematics/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": ["**/*.d.ts"]
+}
diff --git a/projects/schematics/src/add-pwa/index_spec.ts b/projects/schematics/src/add-pwa/index_spec.ts
index 01f13e99168..5b6f44c6bc3 100644
--- a/projects/schematics/src/add-pwa/index_spec.ts
+++ b/projects/schematics/src/add-pwa/index_spec.ts
@@ -7,7 +7,6 @@ import { Schema as SpartacusOptions } from '../add-spartacus/schema';
const collectionPath = path.join(__dirname, '../collection.json');
-// tslint:disable:max-line-length
describe('Spartacus Schematics: add-pwa', () => {
const schematicRunner = new SchematicTestRunner('schematics', collectionPath);
diff --git a/projects/schematics/src/ng-add/index_spec.ts b/projects/schematics/src/ng-add/index_spec.ts
index 60ff0f6524d..a58dd85c24c 100644
--- a/projects/schematics/src/ng-add/index_spec.ts
+++ b/projects/schematics/src/ng-add/index_spec.ts
@@ -9,7 +9,6 @@ import { getPathResultsForFile } from '../shared/utils/file-utils';
const collectionPath = path.join(__dirname, '../collection.json');
-// tslint:disable:max-line-length
describe('Spartacus Schematics: ng-add', () => {
const schematicRunner = new SchematicTestRunner('schematics', collectionPath);
diff --git a/projects/schematics/src/shared/utils/file-utils_spec.ts b/projects/schematics/src/shared/utils/file-utils_spec.ts
index ac6cf79459b..12be0c3c496 100644
--- a/projects/schematics/src/shared/utils/file-utils_spec.ts
+++ b/projects/schematics/src/shared/utils/file-utils_spec.ts
@@ -968,6 +968,7 @@ describe('File utils', () => {
};
const nodes = getSourceNodes(source);
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const constructorNode = findConstructor(nodes)!;
const changes = removeInjectImports(
source,
@@ -1000,6 +1001,7 @@ describe('File utils', () => {
};
const nodes = getSourceNodes(source);
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const constructorNode = findConstructor(nodes)!;
const changes = removeInjectImports(
source,
@@ -1022,6 +1024,7 @@ describe('File utils', () => {
true
);
const nodes = getSourceNodes(source);
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const constructorNode = findConstructor(nodes)!;
expect(shouldRemoveDecorator(constructorNode, 'Inject')).toEqual(true);
});
@@ -1034,6 +1037,7 @@ describe('File utils', () => {
true
);
const nodes = getSourceNodes(source);
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const constructorNode = findConstructor(nodes)!;
const res = shouldRemoveDecorator(constructorNode, 'Inject');
expect(res).toEqual(false);
diff --git a/projects/schematics/src/shared/utils/html-utils.ts b/projects/schematics/src/shared/utils/html-utils.ts
index b595e0042b4..85f42a40cf3 100644
--- a/projects/schematics/src/shared/utils/html-utils.ts
+++ b/projects/schematics/src/shared/utils/html-utils.ts
@@ -45,7 +45,7 @@ export function appendHtmlElementToHead(
// We always have access to the source code location here because the `getHeadTagElement`
// function explicitly has the `sourceCodeLocationInfo` option enabled.
- // tslint:disable-next-line: no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const endTagOffset = headTag.sourceCodeLocation!.endTag.startOffset;
const indentationOffset = getChildElementIndentation(headTag);
const insertion = `${' '.repeat(indentationOffset)}${elementHtml}`;
@@ -111,11 +111,11 @@ function getChildElementIndentation(element: DefaultTreeElement) {
const startColumns = childElement
? // In case there are child elements inside of the element, we assume that their
// indentation is also applicable for other child elements.
- // tslint:disable-next-line: no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
childElement.sourceCodeLocation!.startCol
: // In case there is no child element, we just assume that child elements should be indented
// by two spaces.
- // tslint:disable-next-line: no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
element.sourceCodeLocation!.startCol + 2;
// Since Parse5 does not set the `startCol` properties as zero-based, we need to subtract
diff --git a/projects/storefrontapp-e2e-cypress/cypress/helpers/vendor/cds/merchandising-carousel.ts b/projects/storefrontapp-e2e-cypress/cypress/helpers/vendor/cds/merchandising-carousel.ts
index 9744e245b73..0e84bf3d93a 100644
--- a/projects/storefrontapp-e2e-cypress/cypress/helpers/vendor/cds/merchandising-carousel.ts
+++ b/projects/storefrontapp-e2e-cypress/cypress/helpers/vendor/cds/merchandising-carousel.ts
@@ -153,11 +153,8 @@ function verifyMerchandisingCarouselRendersProducts(): void {
}
function verifyCarouselEvent(carouselEvent: any) {
- // tslint:disable-next-line: no-unused-expression
expect(carouselEvent['strategyId']).to.be.ok;
- // tslint:disable-next-line: no-unused-expression
expect(carouselEvent['carouselId']).to.be.ok;
- // tslint:disable-next-line: no-unused-expression
expect(carouselEvent['carouselName']).to.be.ok;
expect(carouselEvent['mixCardId']).to.equal(
STRATEGY_RESPONSE.metadata.mixcardId
@@ -174,7 +171,6 @@ function verifyCarouselViewEvent(carouselEvent: any) {
function verifyCarouselClickEvent(productSku: string, carouselEvent: any) {
verifyCarouselEvent(carouselEvent);
- // tslint:disable-next-line: no-unused-expression
expect(carouselEvent['imageUrl']).to.be.ok;
expect(carouselEvent['sku']).to.equal(productSku);
}
diff --git a/projects/storefrontapp-e2e-cypress/cypress/integration/regression/qualtrics/qualtrics.e2e-spec.ts b/projects/storefrontapp-e2e-cypress/cypress/integration/regression/qualtrics/qualtrics.e2e-spec.ts
index 2f52750dd0a..d5d639ff84b 100644
--- a/projects/storefrontapp-e2e-cypress/cypress/integration/regression/qualtrics/qualtrics.e2e-spec.ts
+++ b/projects/storefrontapp-e2e-cypress/cypress/integration/regression/qualtrics/qualtrics.e2e-spec.ts
@@ -57,9 +57,7 @@ context('Qualtrics integration', () => {
cy.window().then((win) => win.dispatchEvent(new Event('qsi_js_loaded')));
});
it('should call the QSI API load() and run() functions', () => {
- // tslint:disable-next-line: no-unused-expression
expect(loadSpy).to.have.been.called;
- // tslint:disable-next-line: no-unused-expression
expect(runSpy).to.have.been.called;
});
});
diff --git a/projects/storefrontapp/.eslintrc.json b/projects/storefrontapp/.eslintrc.json
new file mode 100644
index 00000000000..84906b4b9ff
--- /dev/null
+++ b/projects/storefrontapp/.eslintrc.json
@@ -0,0 +1,11 @@
+{
+ "extends": "../../.eslintrc.json",
+ "overrides": [
+ {
+ "files": ["*.ts"],
+ "rules": {
+ "@angular-eslint/component-selector": "off"
+ }
+ }
+ ]
+}
diff --git a/projects/storefrontapp/src/test.ts b/projects/storefrontapp/src/test.ts
index d79a8699fca..d42fe562cc3 100644
--- a/projects/storefrontapp/src/test.ts
+++ b/projects/storefrontapp/src/test.ts
@@ -1,3 +1,4 @@
+/* eslint-disable */
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/long-stack-trace-zone';
diff --git a/projects/storefrontapp/tslint.json b/projects/storefrontapp/tslint.json
deleted file mode 100644
index 0946f20963a..00000000000
--- a/projects/storefrontapp/tslint.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "../../tslint.json"
-}
diff --git a/projects/storefrontlib/src/cms-components/asm/customer-selection/customer-selection.component.ts b/projects/storefrontlib/src/cms-components/asm/customer-selection/customer-selection.component.ts
index 5fd5e3db686..c60487dd134 100644
--- a/projects/storefrontlib/src/cms-components/asm/customer-selection/customer-selection.component.ts
+++ b/projects/storefrontlib/src/cms-components/asm/customer-selection/customer-selection.component.ts
@@ -23,7 +23,7 @@ import { debounceTime } from 'rxjs/operators';
templateUrl: './customer-selection.component.html',
styleUrls: ['./customer-selection.component.scss'],
encapsulation: ViewEncapsulation.None,
- // tslint:disable-next-line:no-host-metadata-property
+ // eslint-disable-next-line @angular-eslint/no-host-metadata-property
host: {
'(document:click)': 'onDocumentClick($event)',
},
diff --git a/projects/storefrontlib/src/cms-components/cart/add-to-cart/added-to-cart-dialog/added-to-cart-dialog.component.ts b/projects/storefrontlib/src/cms-components/cart/add-to-cart/added-to-cart-dialog/added-to-cart-dialog.component.ts
index fcd23fa2218..c161feeca4e 100644
--- a/projects/storefrontlib/src/cms-components/cart/add-to-cart/added-to-cart-dialog/added-to-cart-dialog.component.ts
+++ b/projects/storefrontlib/src/cms-components/cart/add-to-cart/added-to-cart-dialog/added-to-cart-dialog.component.ts
@@ -67,7 +67,7 @@ export class AddedToCartDialogComponent implements OnInit {
map((entry) => this.getFormControl(entry)),
switchMap(() =>
this.form.valueChanges.pipe(
- // tslint:disable-next-line:deprecation
+ // eslint-disable-next-line import/no-deprecated
startWith(null),
tap((valueChange) => {
if (valueChange) {
diff --git a/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item-list/cart-item-list.component.ts b/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item-list/cart-item-list.component.ts
index 26a83fd079a..49b0ab0e1d6 100644
--- a/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item-list/cart-item-list.component.ts
+++ b/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item-list/cart-item-list.component.ts
@@ -127,7 +127,7 @@ export class CartItemListComponent {
getControl(item: OrderEntry): Observable {
return this.form.get(this.getControlName(item)).valueChanges.pipe(
- // tslint:disable-next-line:deprecation
+ // eslint-disable-next-line import/no-deprecated
startWith(null),
map((value) => {
if (value && this.selectiveCartService && this.options.isSaveForLater) {
diff --git a/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item/cart-item.component.ts b/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item/cart-item.component.ts
index 044a7bdc189..34962d63aab 100644
--- a/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item/cart-item.component.ts
+++ b/projects/storefrontlib/src/cms-components/cart/cart-shared/cart-item/cart-item.component.ts
@@ -65,10 +65,10 @@ export class CartItemComponent implements OnInit, OnChanges {
readonly CartOutlets = CartOutlets;
// TODO(#10946): make CartItemContextSource a required dependency
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
constructor(
promotionService: PromotionService,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
cartItemContextSource: CartItemContextSource
);
/**
diff --git a/projects/storefrontlib/src/cms-components/checkout/checkout.module.ts b/projects/storefrontlib/src/cms-components/checkout/checkout.module.ts
index 0ad28e9efe7..e4422b7b5cb 100755
--- a/projects/storefrontlib/src/cms-components/checkout/checkout.module.ts
+++ b/projects/storefrontlib/src/cms-components/checkout/checkout.module.ts
@@ -2,9 +2,9 @@ import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { CheckoutOrchestratorModule } from './components/checkout-orchestrator/checkout-orchestrator.module';
import { CheckoutOrderSummaryModule } from './components/checkout-order-summary/checkout-order-summary.module';
-// tslint:disable-next-line
+// eslint-disable-next-line
import { CheckoutProgressMobileBottomModule } from './components/checkout-progress/checkout-progress-mobile-bottom/checkout-progress-mobile-bottom.module';
-// tslint:disable-next-line
+// eslint-disable-next-line
import { CheckoutProgressMobileTopModule } from './components/checkout-progress/checkout-progress-mobile-top/checkout-progress-mobile-top.module';
import { CheckoutProgressModule } from './components/checkout-progress/checkout-progress.module';
import { CostCenterModule } from './components/cost-center/cost-center.module';
diff --git a/projects/storefrontlib/src/cms-components/checkout/components/payment-method/payment-form/payment-form.component.ts b/projects/storefrontlib/src/cms-components/checkout/components/payment-method/payment-form/payment-form.component.ts
index 29c62cce620..7ebdca28271 100644
--- a/projects/storefrontlib/src/cms-components/checkout/components/payment-method/payment-form/payment-form.component.ts
+++ b/projects/storefrontlib/src/cms-components/checkout/components/payment-method/payment-form/payment-form.component.ts
@@ -24,13 +24,13 @@ import {
} from '@spartacus/core';
import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';
import { map, switchMap, tap } from 'rxjs/operators';
-import { Card } from '../../../../../shared/components/card/card.component'; // tslint:disable-line
+import { Card } from '../../../../../shared/components/card/card.component'; // eslint-disable-line
import {
ModalRef,
ModalService,
} from '../../../../../shared/components/modal/index';
import { ICON_TYPE } from '../../../../misc/icon/index';
-import { SuggestedAddressDialogComponent } from '../../shipping-address/address-form/suggested-addresses-dialog/suggested-addresses-dialog.component'; // tslint:disable-line
+import { SuggestedAddressDialogComponent } from '../../shipping-address/address-form/suggested-addresses-dialog/suggested-addresses-dialog.component'; // eslint-disable-line
@Component({
selector: 'cx-payment-form',
diff --git a/projects/storefrontlib/src/cms-components/content/tab-paragraph-container/tab-paragraph-container.component.ts b/projects/storefrontlib/src/cms-components/content/tab-paragraph-container/tab-paragraph-container.component.ts
index 561c74a31fe..424881117e1 100644
--- a/projects/storefrontlib/src/cms-components/content/tab-paragraph-container/tab-paragraph-container.component.ts
+++ b/projects/storefrontlib/src/cms-components/content/tab-paragraph-container/tab-paragraph-container.component.ts
@@ -40,7 +40,7 @@ export class TabParagraphContainerComponent
componentData: CmsComponentData,
cmsService: CmsService,
winRef?: WindowRef,
- // tslint:disable-next-line:unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
breakpointService?: BreakpointService
);
/**
diff --git a/projects/storefrontlib/src/cms-components/navigation/search-box/search-box-component.service.ts b/projects/storefrontlib/src/cms-components/navigation/search-box/search-box-component.service.ts
index 083068332f1..d993707c859 100644
--- a/projects/storefrontlib/src/cms-components/navigation/search-box/search-box-component.service.ts
+++ b/projects/storefrontlib/src/cms-components/navigation/search-box/search-box-component.service.ts
@@ -37,7 +37,7 @@ export class SearchBoxComponentService {
routingService: RoutingService,
translationService: TranslationService,
winRef: WindowRef,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
eventService?: EventService
);
constructor(
diff --git a/projects/storefrontlib/src/cms-components/navigation/search-box/search-box.component.ts b/projects/storefrontlib/src/cms-components/navigation/search-box/search-box.component.ts
index 34a56983551..d3be23f57d9 100644
--- a/projects/storefrontlib/src/cms-components/navigation/search-box/search-box.component.ts
+++ b/projects/storefrontlib/src/cms-components/navigation/search-box/search-box.component.ts
@@ -80,7 +80,7 @@ export class SearchBoxComponent implements OnInit, OnDestroy {
searchBoxComponentService: SearchBoxComponentService,
componentData: CmsComponentData,
winRef: WindowRef,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
routingService: RoutingService
);
diff --git a/projects/storefrontlib/src/cms-components/order-confirmation/order-confirmation.module.ts b/projects/storefrontlib/src/cms-components/order-confirmation/order-confirmation.module.ts
index 5bac086d6f7..c73b62dce44 100644
--- a/projects/storefrontlib/src/cms-components/order-confirmation/order-confirmation.module.ts
+++ b/projects/storefrontlib/src/cms-components/order-confirmation/order-confirmation.module.ts
@@ -18,7 +18,7 @@ import { PwaModule } from './../../cms-structure/pwa/pwa.module';
import { GuestRegisterFormComponent } from './components/guest-register-form/guest-register-form.component';
import { OrderConfirmationItemsComponent } from './components/order-confirmation-items/order-confirmation-items.component';
import { OrderConfirmationOverviewComponent } from './components/order-confirmation-overview/order-confirmation-overview.component';
-// tslint:disable-next-line
+// eslint-disable-next-line
import { OrderConfirmationThankYouMessageComponent } from './components/order-confirmation-thank-you-message/order-confirmation-thank-you-message.component';
import { OrderConfirmationTotalsComponent } from './components/order-confirmation-totals/order-confirmation-totals.component';
import { OrderConfirmationGuard } from './guards/order-confirmation.guard';
diff --git a/projects/storefrontlib/src/cms-components/product/product-list/product-grid-item/product-grid-item.component.ts b/projects/storefrontlib/src/cms-components/product/product-list/product-grid-item/product-grid-item.component.ts
index e2f74078a57..e2493aeb3f6 100644
--- a/projects/storefrontlib/src/cms-components/product/product-list/product-grid-item/product-grid-item.component.ts
+++ b/projects/storefrontlib/src/cms-components/product/product-list/product-grid-item/product-grid-item.component.ts
@@ -27,7 +27,7 @@ export class ProductGridItemComponent implements OnChanges {
@Input() product: any;
// TODO(#10946): make ProductListItemContextSource a required dependency
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
constructor(productListItemContextSource: ProductListItemContextSource);
/**
* @deprecated since 3.1
diff --git a/projects/storefrontlib/src/cms-components/product/product-list/product-list-item/product-list-item.component.ts b/projects/storefrontlib/src/cms-components/product/product-list/product-list-item/product-list-item.component.ts
index 9d01f517ee2..b84f1954fee 100644
--- a/projects/storefrontlib/src/cms-components/product/product-list/product-list-item/product-list-item.component.ts
+++ b/projects/storefrontlib/src/cms-components/product/product-list/product-list-item/product-list-item.component.ts
@@ -27,7 +27,7 @@ export class ProductListItemComponent implements OnChanges {
@Input() product: any;
// TODO(#10946): make ProductListItemContextSource a required dependency
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
constructor(productListItemContextSource: ProductListItemContextSource);
/**
* @deprecated since 3.1
diff --git a/projects/storefrontlib/src/cms-components/product/product-variants/variant-color-selector/variant-color-selector.component.spec.ts b/projects/storefrontlib/src/cms-components/product/product-variants/variant-color-selector/variant-color-selector.component.spec.ts
index 96be47816fe..60429907c5f 100644
--- a/projects/storefrontlib/src/cms-components/product/product-variants/variant-color-selector/variant-color-selector.component.spec.ts
+++ b/projects/storefrontlib/src/cms-components/product/product-variants/variant-color-selector/variant-color-selector.component.spec.ts
@@ -1,4 +1,4 @@
-/* tslint:disable:no-unused-variable */
+/* eslint-disable @typescript-eslint/no-unused-vars */
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
import {
diff --git a/projects/storefrontlib/src/cms-structure/outlet/outlet.service.ts b/projects/storefrontlib/src/cms-structure/outlet/outlet.service.ts
index eb184d78a29..5c6e4d393e0 100644
--- a/projects/storefrontlib/src/cms-structure/outlet/outlet.service.ts
+++ b/projects/storefrontlib/src/cms-structure/outlet/outlet.service.ts
@@ -27,7 +27,7 @@ export class OutletService | ComponentFactory> {
*/
add(
outlet: string,
- // tslint:disable-next-line: unified-signatures
+ // eslint-disable-next-line @typescript-eslint/unified-signatures
factory: T,
position?: OutletPosition
): void;
diff --git a/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts b/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts
index a2a5b5e882b..883c77ec912 100644
--- a/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts
+++ b/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts
@@ -235,7 +235,7 @@ export class PageLayoutService {
}
if (!this.logSlots[page.template]) {
// the info log is not printed in production
- // tslint:disable-next-line: no-console
+ // eslint-disable-next-line no-console
console.info(
`Available CMS page slots: '${Object.keys(page.slots).join(`','`)}'`
);
diff --git a/projects/storefrontlib/src/cms-structure/pwa/components/add-to-home-screen.component.ts b/projects/storefrontlib/src/cms-structure/pwa/components/add-to-home-screen.component.ts
index d9ca20784e9..3bda8a03e2a 100644
--- a/projects/storefrontlib/src/cms-structure/pwa/components/add-to-home-screen.component.ts
+++ b/projects/storefrontlib/src/cms-structure/pwa/components/add-to-home-screen.component.ts
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
import { AddToHomeScreenService } from '../services/add-to-home-screen.service';
@Directive()
-// tslint:disable-next-line:directive-class-suffix
+// eslint-disable-next-line @angular-eslint/directive-class-suffix
export abstract class AddToHomeScreenComponent implements OnInit {
canPrompt$: Observable;
constructor(protected addToHomeScreenService: AddToHomeScreenService) {}
diff --git a/projects/storefrontlib/src/cms-structure/services/cms-features.service.ts b/projects/storefrontlib/src/cms-structure/services/cms-features.service.ts
index 4ab4e7c7cf9..62d4c854c5e 100644
--- a/projects/storefrontlib/src/cms-structure/services/cms-features.service.ts
+++ b/projects/storefrontlib/src/cms-structure/services/cms-features.service.ts
@@ -150,7 +150,7 @@ export class CmsFeaturesService {
moduleRef: NgModuleRef,
feature: string
): FeatureInstance {
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const featureConfig = this.featureModulesConfig![feature];
const featureInstance: FeatureInstance = {
@@ -165,7 +165,7 @@ export class CmsFeaturesService {
// extract cms components configuration from feature config
for (const componentType of featureConfig.cmsComponents ?? []) {
- // tslint:disable-next-line:no-non-null-assertion
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
featureInstance.componentsMappings![componentType] =
resolvedConfiguration.cmsComponents?.[componentType] ?? {};
}
diff --git a/projects/storefrontlib/src/layout/a11y/keyboard-focus/escape/escape-focus.directive.spec.ts b/projects/storefrontlib/src/layout/a11y/keyboard-focus/escape/escape-focus.directive.spec.ts
index be27c25c417..c4961e0a0a3 100644
--- a/projects/storefrontlib/src/layout/a11y/keyboard-focus/escape/escape-focus.directive.spec.ts
+++ b/projects/storefrontlib/src/layout/a11y/keyboard-focus/escape/escape-focus.directive.spec.ts
@@ -43,7 +43,7 @@ class CustomFocusDirective extends EscapeFocusDirective {
`,
})
class MockComponent {
- // tslint:disable-next-line: variable-name
+ // eslint-disable-next-line @typescript-eslint/naming-convention, no-underscore-dangle, id-blacklist, id-match
handleEmit(_event: boolean): void {}
}
diff --git a/projects/storefrontlib/src/layout/a11y/keyboard-focus/focus.directive.ts b/projects/storefrontlib/src/layout/a11y/keyboard-focus/focus.directive.ts
index f18a1e711c4..02ccb659672 100644
--- a/projects/storefrontlib/src/layout/a11y/keyboard-focus/focus.directive.ts
+++ b/projects/storefrontlib/src/layout/a11y/keyboard-focus/focus.directive.ts
@@ -8,7 +8,7 @@ import { KeyboardFocusService } from './services/keyboard-focus.service';
})
export class FocusDirective extends LockFocusDirective {
protected defaultConfig: FocusConfig = {};
- // tslint:disable-next-line: no-input-rename
+ // eslint-disable-next-line @angular-eslint/no-input-rename
@Input('cxFocus') protected config: FocusConfig = {};
constructor(
diff --git a/projects/storefrontlib/src/layout/a11y/keyboard-focus/keyboard-focus.model.ts b/projects/storefrontlib/src/layout/a11y/keyboard-focus/keyboard-focus.model.ts
index 4d143eb25cb..acbca38288c 100644
--- a/projects/storefrontlib/src/layout/a11y/keyboard-focus/keyboard-focus.model.ts
+++ b/projects/storefrontlib/src/layout/a11y/keyboard-focus/keyboard-focus.model.ts
@@ -8,7 +8,7 @@ export const enum MOVE_FOCUS {
PREV = -1,
}
-// tslint:disable-next-line: no-empty-interface
+// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface BaseFocusConfig {}
export interface VisibleFocusConfig {
@@ -105,5 +105,5 @@ export interface LockFocusConfig extends TrapFocusConfig {
lock?: boolean;
}
-// tslint:disable-next-line: no-empty-interface
+// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface FocusConfig extends LockFocusConfig {}
diff --git a/projects/storefrontlib/src/shared/components/star-rating/star-rating.component.ts b/projects/storefrontlib/src/shared/components/star-rating/star-rating.component.ts
index 921629a7ff7..088afcaaf98 100644
--- a/projects/storefrontlib/src/shared/components/star-rating/star-rating.component.ts
+++ b/projects/storefrontlib/src/shared/components/star-rating/star-rating.component.ts
@@ -43,7 +43,7 @@ export class StarRatingComponent {
/**
* Emits the given rating when the user clicks on a star.
*/
- // tslint:disable-next-line:no-output-native
+ // eslint-disable-next-line @angular-eslint/no-output-native
@Output() change = new EventEmitter();
setRate(value: number): void {
diff --git a/projects/storefrontlib/src/shared/components/table/table.model.ts b/projects/storefrontlib/src/shared/components/table/table.model.ts
index 14faaa414b3..c5ac874a4ff 100644
--- a/projects/storefrontlib/src/shared/components/table/table.model.ts
+++ b/projects/storefrontlib/src/shared/components/table/table.model.ts
@@ -168,7 +168,7 @@ export interface TableHeaderOutletContext {
_i18nRoot?: string;
}
-// tslint:disable-next-line: no-empty-interface
+// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface TableDataOutletContext extends TableHeaderOutletContext {
[property: string]: any;
}
diff --git a/projects/storefrontlib/tslint.json b/projects/storefrontlib/tslint.json
deleted file mode 100644
index 2c0d53b823a..00000000000
--- a/projects/storefrontlib/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [true, "attribute", ["cx"], "camelCase"],
- "component-selector": [true, "element", ["cx"], "kebab-case"]
- }
-}
diff --git a/projects/vendor/src/yotpo/service/yotpo.service.ts b/projects/vendor/src/yotpo/service/yotpo.service.ts
index d0d62e3f880..2f1c71c9c7c 100644
--- a/projects/vendor/src/yotpo/service/yotpo.service.ts
+++ b/projects/vendor/src/yotpo/service/yotpo.service.ts
@@ -1,11 +1,11 @@
-import { Injectable, ElementRef } from '@angular/core';
-import { Observable } from 'rxjs';
+import { ElementRef, Injectable } from '@angular/core';
import {
Product,
ProductService,
RoutingService,
WindowRef,
} from '@spartacus/core';
+import { Observable } from 'rxjs';
import { filter, map, switchMap } from 'rxjs/operators';
import { YotpoConfig } from '../yotpoconfig/yotpo-config';
@@ -39,7 +39,6 @@ export class YotpoService {
addYotpoInitWidgetsScript(elementRef: ElementRef) {
const s = this.windowRef.document.createElement('script');
s.type = 'text/javascript';
- // tslint:disable-next-line
s.text = `function callYotpo() { if (typeof yotpo !== 'undefined' && yotpo.initialized && yotpo.state=='ready') { yotpo.initWidgets(); } else { setTimeout(function() { callYotpo(); }, 1000);} } callYotpo();`;
elementRef.nativeElement.appendChild(s);
}
diff --git a/scripts/changelog.ts b/scripts/changelog.ts
index 189971e54f4..9e7e6a53b36 100644
--- a/scripts/changelog.ts
+++ b/scripts/changelog.ts
@@ -1,4 +1,3 @@
-// tslint:disable:no-implicit-dependencies
import { JsonObject, logging } from '@angular-devkit/core';
import chalk from 'chalk';
import program from 'commander';
@@ -153,7 +152,6 @@ export default async function run(
chunk.gitTags && (chunk.gitTags as string).match(/tag: (.*)/);
const tags = maybeTag && maybeTag[1].split(/,/g);
chunk['tags'] = tags;
- // tslint:disable-next-line:triple-equals
if (tags && tags.find((x) => x == args.to)) {
toSha = chunk.hash as string;
}
@@ -212,7 +210,6 @@ export default async function run(
})
.then(([body, markdown]) => {
const json = body.body;
- // tslint:disable-next-line:triple-equals
const maybeRelease = json.find((x: JsonObject) => x.tag_name == args.to);
const id = maybeRelease ? `/${maybeRelease.id}` : '';
diff --git a/scripts/packages.ts b/scripts/packages.ts
index 6d91488d2bf..8af44cf6d0a 100644
--- a/scripts/packages.ts
+++ b/scripts/packages.ts
@@ -1,4 +1,3 @@
-// tslint:disable-next-line:no-implicit-dependencies
import { JsonObject } from '@angular-devkit/core';
import * as path from 'path';
diff --git a/sonar-project.properties b/sonar-project.properties
index 1b39c585dd0..9286b1044d2 100644
--- a/sonar-project.properties
+++ b/sonar-project.properties
@@ -10,7 +10,7 @@ sonar.test.inclusions=**/*.spec.ts
sonar.typescript.lcov.reportPaths=coverage/cds/lcov.info,coverage/core/lcov.info,coverage/storefront/lcov.info,coverage/organization/lcov.info,coverage/product/lcov.info,coverage/product-configurator/lcov.info,coverage/storefinder/lcov.info,coverage/smartedit/lcov.info,coverage/qualtrics/lcov.info,coverage/tracking/lcov.info,coverage/cdc/lcov.info,coverage/setup/lcov.info
sonar.javascript.lcov.reportPaths=coverage/cds/lcov.info,coverage/core/lcov.info,coverage/storefront/lcov.info,coverage/organization/lcov.info,coverage/product/lcov.info,coverage/product-configurator/lcov.info,coverage/storefinder/lcov.info,coverage/smartedit/lcov.info,coverage/qualtrics/lcov.info,coverage/tracking/lcov.info,coverage/cdc/lcov.info,coverage/setup/lcov.info
-sonar.typescript.tsconfigPath=tslint.json
+sonar.typescript.tsconfigPath=tsconfig.json
sonar.cfamily.build-wrapper-output.bypass=true
diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json
new file mode 100644
index 00000000000..b81b3b86271
--- /dev/null
+++ b/tsconfig.eslint.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "include": ["**/*.ts"]
+}
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index 39f436793bf..00000000000
--- a/tslint.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "rulesDirectory": ["node_modules/codelyzer"],
- "rules": {
- "arrow-return-shorthand": true,
- "callable-types": true,
- "class-name": true,
- "deprecation": {
- "severity": "warn"
- },
- "forin": true,
- "import-blacklist": [true, "rxjs/Rx"],
- "interface-over-type-literal": false,
- "label-position": true,
- "member-access": false,
- "member-ordering": [
- true,
- {
- "order": [
- "static-field",
- "instance-field",
- "static-method",
- "instance-method"
- ]
- }
- ],
- "no-arg": true,
- "no-bitwise": true,
- "no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
- "no-construct": true,
- "no-debugger": true,
- "no-duplicate-super": true,
- "no-empty": false,
- "no-empty-interface": true,
- "no-eval": true,
- "no-inferrable-types": [true, "ignore-params"],
- "no-misused-new": true,
- "no-non-null-assertion": true,
- "no-shadowed-variable": true,
- "no-string-literal": false,
- "no-string-throw": true,
- "no-switch-case-fall-through": true,
- "no-unnecessary-initializer": true,
- "no-unused-expression": true,
- "no-var-keyword": true,
- "object-literal-sort-keys": false,
- "prefer-const": true,
- "radix": true,
- "triple-equals": [true, "allow-null-check"],
- "unified-signatures": true,
- "variable-name": false,
- "no-output-on-prefix": true,
- "use-host-property-decorator": false,
- "no-input-rename": true,
- "no-output-rename": true,
- "use-life-cycle-interface": true,
- "use-pipe-transform-interface": true,
- "component-class-suffix": true,
- "directive-class-suffix": true,
- "no-conflicting-lifecycle": true,
- "no-host-metadata-property": true,
- "no-inputs-metadata-property": true,
- "no-output-native": true,
- "no-outputs-metadata-property": true,
- "template-banana-in-box": true,
- "use-lifecycle-interface": true,
- "linebreak-style": [true, "LF"]
- }
-}
diff --git a/yarn.lock b/yarn.lock
index 2b37b7f323d..9e5e84399da 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -276,6 +276,44 @@
ora "5.0.0"
rxjs "6.6.2"
+"@angular-eslint/builder@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@angular-eslint/builder/-/builder-1.2.0.tgz#485f07be5fbce8e87b53324e2e532b46461c7fef"
+ integrity sha512-bYIut4edOq/RWyYsi3Z5NW/wEHSGLpjXfQ38zbdRlsX93+N8nAu1hf5ishbnpkEobEyerktoRVmRI8UXPsijjg==
+
+"@angular-eslint/eslint-plugin-template@1.2.0", "@angular-eslint/eslint-plugin-template@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-1.2.0.tgz#4de08fe4457edfd1e999b507b52f9a0c27b3b924"
+ integrity sha512-Oi/y+N/FETuyhbVuFxbkCqSfLo61CAvIPwnQQCfDku/IsCSTI1SjW+B2xO9thDI5po7t5V+3n26uMLQsWNZmlw==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.3.0"
+ aria-query "^4.2.2"
+ axobject-query "^2.2.0"
+
+"@angular-eslint/eslint-plugin@1.2.0", "@angular-eslint/eslint-plugin@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin/-/eslint-plugin-1.2.0.tgz#940f659fbbff5da2b69614e839e4dd82a9107839"
+ integrity sha512-HxSDdAS2/lbwYBJmRVRKlx5wjiKdeBPl7JJlciwhrP7QR01a66AWun+fW1ZpMnnqivkF+D5sISsoedRLthRcwA==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.3.0"
+
+"@angular-eslint/schematics@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@angular-eslint/schematics/-/schematics-1.2.0.tgz#d91034c9bbaff2f694a484648fca46d7cb61b616"
+ integrity sha512-F0Mb6XyLWGmmtov5kv/BHvt22Uo/FuD4y2WhO7NUA9rZRJd+anmyHCkC9HXmNKUuLQIUKjJ4DJgsmD0Kh0Hr2g==
+ dependencies:
+ "@angular-eslint/eslint-plugin" "1.2.0"
+ "@angular-eslint/eslint-plugin-template" "1.2.0"
+ strip-json-comments "3.1.1"
+ tslint-to-eslint-config "2.0.1"
+
+"@angular-eslint/template-parser@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@angular-eslint/template-parser/-/template-parser-1.2.0.tgz#aa0eeaf9b770c65f0a1766a868a077fc2ff8eeaf"
+ integrity sha512-EfNJh0nFGJInHa2ccVw8Eb9ujWoUAwaQMCi9GppzYrqhSPc0YZqdQg4eIW2AlZs1giHD2Ko/V1rphzw+9gisCw==
+ dependencies:
+ eslint-scope "^5.1.0"
+
"@angular/animations@^10.2.4":
version "10.2.4"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-10.2.4.tgz#6c222aa1f4efd078f4c7388235ef5b9144bf80a4"
@@ -335,11 +373,6 @@
tslib "^2.0.0"
yargs "^16.1.1"
-"@angular/compiler@9.0.0":
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5"
- integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==
-
"@angular/compiler@^10.2.4":
version "10.2.4"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-10.2.4.tgz#87ed92bae04dab78eace179ec93ec563e2d946bc"
@@ -347,11 +380,6 @@
dependencies:
tslib "^2.0.0"
-"@angular/core@9.0.0":
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e"
- integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==
-
"@angular/core@^10.2.4":
version "10.2.4"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.4.tgz#1124061f8232d79fcff7508c9243ec5ec3fc00f3"
@@ -418,6 +446,13 @@
dependencies:
tslib "^2.0.0"
+"@babel/code-frame@7.12.11", "@babel/code-frame@^7.12.11":
+ version "7.12.11"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
+ integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
@@ -425,13 +460,6 @@
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/code-frame@^7.12.11":
- version "7.12.11"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
- integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
- dependencies:
- "@babel/highlight" "^7.10.4"
-
"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c"
@@ -1443,6 +1471,14 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
+"@babel/runtime-corejs3@^7.10.2":
+ version "7.12.18"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.18.tgz#e5663237e5658e4c09586995d2dd6d2c8cfd6fc0"
+ integrity sha512-ngR7yhNTjDxxe1VYmhqQqqXZWujGb6g0IoA4qeG6MxNGRnIw2Zo8ImY8HfaQ7l3T6GklWhdNfyhWk0C0iocdVA==
+ dependencies:
+ core-js-pure "^3.0.0"
+ regenerator-runtime "^0.13.4"
+
"@babel/runtime@7.11.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4":
version "7.11.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
@@ -1450,6 +1486,13 @@
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.10.2":
+ version "7.12.18"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.18.tgz#af137bd7e7d9705a412b3caaf991fe6aaa97831b"
+ integrity sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@7.10.4", "@babel/template@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
@@ -1617,6 +1660,22 @@
is-absolute "^1.0.0"
is-negated-glob "^1.0.0"
+"@eslint/eslintrc@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318"
+ integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.1.1"
+ espree "^7.3.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^3.13.1"
+ lodash "^4.17.20"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
+
"@hapi/address@^4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.1.0.tgz#d60c5c0d930e77456fdcde2598e77302e2955e1d"
@@ -2408,11 +2467,21 @@
"@types/parse5" "*"
"@types/tough-cookie" "*"
+"@types/json-schema@^7.0.3":
+ version "7.0.7"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
+ integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
+
"@types/json-schema@^7.0.5":
version "7.0.6"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
+
"@types/keyv@*":
version "3.1.1"
resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7"
@@ -2566,6 +2635,160 @@
dependencies:
"@types/yargs-parser" "*"
+"@typescript-eslint/eslint-plugin@^4.3.0":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz#981b26b4076c62a5a55873fbef3fe98f83360c61"
+ integrity sha512-uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.15.2"
+ "@typescript-eslint/scope-manager" "4.15.2"
+ debug "^4.1.1"
+ functional-red-black-tree "^1.0.1"
+ lodash "^4.17.15"
+ regexpp "^3.0.0"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/experimental-utils@4.15.2":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36"
+ integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.15.2"
+ "@typescript-eslint/types" "4.15.2"
+ "@typescript-eslint/typescript-estree" "4.15.2"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
+"@typescript-eslint/experimental-utils@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz#3f3c6c508e01b8050d51b016e7f7da0e3aefcb87"
+ integrity sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.3.0"
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/typescript-estree" "4.3.0"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
+"@typescript-eslint/experimental-utils@^2.19.2 || ^3.0.0":
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686"
+ integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/types" "3.10.1"
+ "@typescript-eslint/typescript-estree" "3.10.1"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
+"@typescript-eslint/parser@^4.3.0":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.2.tgz#c804474321ef76a3955aec03664808f0d6e7872e"
+ integrity sha512-SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q==
+ dependencies:
+ "@typescript-eslint/scope-manager" "4.15.2"
+ "@typescript-eslint/types" "4.15.2"
+ "@typescript-eslint/typescript-estree" "4.15.2"
+ debug "^4.1.1"
+
+"@typescript-eslint/scope-manager@4.15.2":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f"
+ integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ==
+ dependencies:
+ "@typescript-eslint/types" "4.15.2"
+ "@typescript-eslint/visitor-keys" "4.15.2"
+
+"@typescript-eslint/scope-manager@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz#c743227e087545968080d2362cfb1273842cb6a7"
+ integrity sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig==
+ dependencies:
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/visitor-keys" "4.3.0"
+
+"@typescript-eslint/types@3.10.1":
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727"
+ integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==
+
+"@typescript-eslint/types@4.15.2":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60"
+ integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ==
+
+"@typescript-eslint/types@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.3.0.tgz#1f0b2d5e140543e2614f06d48fb3ae95193c6ddf"
+ integrity sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw==
+
+"@typescript-eslint/typescript-estree@3.10.1":
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853"
+ integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==
+ dependencies:
+ "@typescript-eslint/types" "3.10.1"
+ "@typescript-eslint/visitor-keys" "3.10.1"
+ debug "^4.1.1"
+ glob "^7.1.6"
+ is-glob "^4.0.1"
+ lodash "^4.17.15"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/typescript-estree@4.15.2":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa"
+ integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw==
+ dependencies:
+ "@typescript-eslint/types" "4.15.2"
+ "@typescript-eslint/visitor-keys" "4.15.2"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-glob "^4.0.1"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/typescript-estree@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz#0edc1068e6b2e4c7fdc54d61e329fce76241cee8"
+ integrity sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw==
+ dependencies:
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/visitor-keys" "4.3.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-glob "^4.0.1"
+ lodash "^4.17.15"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/visitor-keys@3.10.1":
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931"
+ integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
+"@typescript-eslint/visitor-keys@4.15.2":
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9"
+ integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg==
+ dependencies:
+ "@typescript-eslint/types" "4.15.2"
+ eslint-visitor-keys "^2.0.0"
+
+"@typescript-eslint/visitor-keys@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz#0e5ab0a09552903edeae205982e8521e17635ae0"
+ integrity sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw==
+ dependencies:
+ "@typescript-eslint/types" "4.3.0"
+ eslint-visitor-keys "^2.0.0"
+
"@webassemblyjs/ast@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
@@ -2769,6 +2992,11 @@ acorn-globals@^6.0.0:
acorn "^7.1.1"
acorn-walk "^7.1.1"
+acorn-jsx@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
+ integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
+
acorn-node@^1.3.0:
version "1.8.2"
resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
@@ -2793,6 +3021,11 @@ acorn@^7.0.0, acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
+acorn@^7.4.0:
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
adjust-sourcemap-loader@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4"
@@ -2876,6 +3109,26 @@ ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^6.10.0:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^7.0.2:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84"
+ integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -3004,11 +3257,6 @@ apache-md5@^1.0.6:
resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.5.tgz#5d6365ece2ccc32b612f886b2b292e1c96ff3ffb"
integrity sha512-sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw==
-app-root-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad"
- integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==
-
aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -3026,13 +3274,13 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
-aria-query@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"
- integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=
+aria-query@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
+ integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
dependencies:
- ast-types-flow "0.0.7"
- commander "^2.11.0"
+ "@babel/runtime" "^7.10.2"
+ "@babel/runtime-corejs3" "^7.10.2"
arity-n@^1.0.4:
version "1.0.4"
@@ -3074,6 +3322,17 @@ array-from@^2.1.1:
resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=
+array-includes@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a"
+ integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.2"
+ get-intrinsic "^1.1.1"
+ is-string "^1.0.5"
+
array-timsort@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926"
@@ -3101,6 +3360,15 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+array.prototype.flat@^1.2.3:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123"
+ integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.1"
+
arraybuffer.slice@~0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
@@ -3167,11 +3435,6 @@ ast-transform@0.0.0:
esprima "~1.0.4"
through "~2.3.4"
-ast-types-flow@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
- integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
-
ast-types@^0.7.0:
version "0.7.8"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9"
@@ -3269,12 +3532,10 @@ axios@^0.19.2:
dependencies:
follow-redirects "1.5.10"
-axobject-query@2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
- integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==
- dependencies:
- ast-types-flow "0.0.7"
+axobject-query@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
+ integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
babel-jest@^26.6.3:
version "26.6.3"
@@ -3927,6 +4188,14 @@ cacheable-request@^7.0.1:
normalize-url "^4.1.0"
responselike "^2.0.0"
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
call-me-maybe@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
@@ -4286,25 +4555,10 @@ code-block-writer@^7.2.0:
resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.3.1.tgz#b3b921b885fe7fb869866c0648491eae6c08cfa9"
integrity sha512-3Jfe6ZmmGzvdQWFo3MUzobn3WdX++jc3Tj0rsviJWYPnP7NGMFEE4qheNeOXeJgB1TTgxYT8XuNvhS/u596yGg==
-codelyzer@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-6.0.0.tgz#50c98581cc2890e0e9a9f93878dc317115d836ed"
- integrity sha512-edJIQCIcxD9DhVSyBEdJ38AbLikm515Wl91t5RDGNT88uA6uQdTm4phTWfn9JhzAI8kXNUcfYyAE90lJElpGtA==
- dependencies:
- "@angular/compiler" "9.0.0"
- "@angular/core" "9.0.0"
- app-root-path "^3.0.0"
- aria-query "^3.0.0"
- axobject-query "2.0.2"
- css-selector-tokenizer "^0.7.1"
- cssauron "^1.4.0"
- damerau-levenshtein "^1.0.4"
- rxjs "^6.5.3"
- semver-dsl "^1.0.1"
- source-map "^0.5.7"
- sprintf-js "^1.1.2"
- tslib "^1.10.0"
- zone.js "~0.10.3"
+coffeescript@1.12.7:
+ version "1.12.7"
+ resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.12.7.tgz#e57ee4c4867cf7f606bfc4a0f2d550c0981ddd27"
+ integrity sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==
collapse-white-space@^1.0.2:
version "1.0.6"
@@ -4386,7 +4640,12 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-commander@^2.0.0, commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@^2.2.0, commander@^2.20.0:
+commander@6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75"
+ integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==
+
+commander@^2.0.0, commander@^2.12.1, commander@^2.18.0, commander@^2.2.0, commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -4417,6 +4676,11 @@ comment-json@^4.1.0:
has-own-prop "^2.0.0"
repeat-string "^1.6.1"
+comment-parser@^0.7.6:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.7.6.tgz#0e743a53c8e646c899a1323db31f6cd337b10f12"
+ integrity sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==
+
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -4546,6 +4810,11 @@ constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+contains-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
+ integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
+
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
@@ -4640,6 +4909,11 @@ core-js-compat@^3.6.2:
browserslist "^4.8.5"
semver "7.0.0"
+core-js-pure@^3.0.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.9.0.tgz#326cc74e1fef8b7443a6a793ddb0adfcd81f9efb"
+ integrity sha512-3pEcmMZC9Cq0D4ZBh3pe2HLtqxpGNJBLXF/kZ2YzK17RbKp94w0HFbdbSx8H8kAlZG5k76hvLrkPm57Uyef+kg==
+
core-js@3.6.4:
version "3.6.4"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647"
@@ -4743,7 +5017,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.1:
+cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -4779,6 +5053,13 @@ crypto-random-string@^2.0.0:
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+cson-parser@4.0.7:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/cson-parser/-/cson-parser-4.0.7.tgz#41cfbcb16f6481d7dbd8e80784db1d87a2bbd04d"
+ integrity sha512-BSnAl0gllETWjU9/lb8MmeqhsGaRINPwhoPiBjI/TJBRvKf/24I9EVqnwvmk6R3Gt66cMRSGVktl6QicxIb72g==
+ dependencies:
+ coffeescript "1.12.7"
+
css-color-names@0.0.4, css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -4842,14 +5123,6 @@ css-select@~1.2.0:
domutils "1.5.1"
nth-check "~1.0.1"
-css-selector-tokenizer@^0.7.1:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1"
- integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==
- dependencies:
- cssesc "^3.0.0"
- fastparse "^1.1.2"
-
css-tree@1.0.0-alpha.37:
version "1.0.0-alpha.37"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
@@ -4886,13 +5159,6 @@ css@^2.0.0:
source-map-resolve "^0.5.2"
urix "^0.1.0"
-cssauron@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8"
- integrity sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=
- dependencies:
- through X.X.X
-
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@@ -5013,11 +5279,6 @@ d@1, d@^1.0.1:
es5-ext "^0.10.50"
type "^1.0.1"
-damerau-levenshtein@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
- integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==
-
dargs@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc"
@@ -5059,7 +5320,7 @@ date-format@^3.0.0:
resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95"
integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -5080,7 +5341,7 @@ debug@4.1.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0:
dependencies:
ms "^2.1.1"
-debug@4.3.1:
+debug@4.3.1, debug@^4.0.1, debug@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
@@ -5160,7 +5421,7 @@ deep-extend@^0.6.0:
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-deep-is@~0.1.3:
+deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
@@ -5375,6 +5636,21 @@ dns-txt@^2.0.2:
dependencies:
buffer-indexof "^1.0.0"
+doctrine@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
+ integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
+ dependencies:
+ esutils "^2.0.2"
+ isarray "^1.0.0"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
dom-serialize@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
@@ -5688,7 +5964,7 @@ enhanced-resolve@4.3.0, enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanc
memory-fs "^0.5.0"
tapable "^1.0.0"
-enquirer@^2.3.6:
+enquirer@^2.3.5, enquirer@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
@@ -5730,7 +6006,7 @@ errno@^0.1.1, errno@^0.1.3, errno@~0.1.7:
dependencies:
prr "~1.0.1"
-error-ex@^1.3.1:
+error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
@@ -5772,6 +6048,26 @@ es-abstract@^1.18.0-next.0:
string.prototype.trimend "^1.0.1"
string.prototype.trimstart "^1.0.1"
+es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
+ version "1.18.0-next.2"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2"
+ integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==
+ dependencies:
+ call-bind "^1.0.2"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.2.2"
+ is-negative-zero "^2.0.1"
+ is-regex "^1.1.1"
+ object-inspect "^1.9.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.2"
+ string.prototype.trimend "^1.0.3"
+ string.prototype.trimstart "^1.0.3"
+
es-to-primitive@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@@ -5903,6 +6199,75 @@ escodegen@~1.2.0:
optionalDependencies:
source-map "~0.1.30"
+eslint-config-prettier@6.15.0:
+ version "6.15.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9"
+ integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==
+ dependencies:
+ get-stdin "^6.0.0"
+
+eslint-import-resolver-node@^0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
+ integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
+ dependencies:
+ debug "^2.6.9"
+ resolve "^1.13.1"
+
+eslint-module-utils@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
+ integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
+ dependencies:
+ debug "^2.6.9"
+ pkg-dir "^2.0.0"
+
+eslint-plugin-deprecation@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-1.2.0.tgz#e12333a857986fc87fa2eff44c7425eba9653070"
+ integrity sha512-SrZqomFYofRbxJ9dlAcu526/tiZoWoZgHdZWKHjrRT/uLfTtTTjdVf0gdy0AZxK8nH5ri0fukgwS28llUueitA==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "^2.19.2 || ^3.0.0"
+ tslib "^1.10.0"
+ tsutils "^3.0.0"
+
+eslint-plugin-import@^2.22.1:
+ version "2.22.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702"
+ integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==
+ dependencies:
+ array-includes "^3.1.1"
+ array.prototype.flat "^1.2.3"
+ contains-path "^0.1.0"
+ debug "^2.6.9"
+ doctrine "1.5.0"
+ eslint-import-resolver-node "^0.3.4"
+ eslint-module-utils "^2.6.0"
+ has "^1.0.3"
+ minimatch "^3.0.4"
+ object.values "^1.1.1"
+ read-pkg-up "^2.0.0"
+ resolve "^1.17.0"
+ tsconfig-paths "^3.9.0"
+
+eslint-plugin-jsdoc@^30.7.6:
+ version "30.7.13"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz#52e5c74fb806d3bbeb51d04a0c829508c3c6b563"
+ integrity sha512-YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==
+ dependencies:
+ comment-parser "^0.7.6"
+ debug "^4.3.1"
+ jsdoctypeparser "^9.0.0"
+ lodash "^4.17.20"
+ regextras "^0.7.1"
+ semver "^7.3.4"
+ spdx-expression-parse "^3.0.1"
+
+eslint-plugin-prefer-arrow@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041"
+ integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==
+
eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
@@ -5911,6 +6276,83 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-scope@^5.0.0, eslint-scope@^5.1.0, eslint-scope@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+eslint-utils@^2.0.0, eslint-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+ integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
+eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+
+eslint-visitor-keys@^2.0.0:
+ version "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.6.0:
+ version "7.20.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7"
+ integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==
+ dependencies:
+ "@babel/code-frame" "7.12.11"
+ "@eslint/eslintrc" "^0.3.0"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ enquirer "^2.3.5"
+ eslint-scope "^5.1.1"
+ eslint-utils "^2.1.0"
+ eslint-visitor-keys "^2.0.0"
+ espree "^7.3.1"
+ esquery "^1.4.0"
+ esutils "^2.0.2"
+ file-entry-cache "^6.0.0"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.0.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^3.13.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash "^4.17.20"
+ minimatch "^3.0.4"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ progress "^2.0.0"
+ regexpp "^3.1.0"
+ semver "^7.2.1"
+ strip-ansi "^6.0.0"
+ strip-json-comments "^3.1.0"
+ table "^6.0.4"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^7.3.0, espree@^7.3.1:
+ version "7.3.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
+ integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
+ dependencies:
+ acorn "^7.4.0"
+ acorn-jsx "^5.3.1"
+ eslint-visitor-keys "^1.3.0"
+
esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -5921,7 +6363,14 @@ esprima@~1.0.4:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"
integrity sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=
-esrecurse@^4.1.0:
+esquery@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+ integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.1.0, esrecurse@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
@@ -5933,7 +6382,7 @@ estraverse@^4.1.1, estraverse@^4.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-estraverse@^5.2.0:
+estraverse@^5.1.0, estraverse@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
@@ -6257,7 +6706,7 @@ fast-json-stable-stringify@2.1.0, fast-json-stable-stringify@2.x, fast-json-stab
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-fast-levenshtein@~2.0.6:
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
@@ -6267,11 +6716,6 @@ fastest-levenshtein@^1.0.12:
resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
-fastparse@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
- integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
-
fastq@^1.6.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
@@ -6319,6 +6763,13 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
+file-entry-cache@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+ dependencies:
+ flat-cache "^3.0.4"
+
file-loader@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f"
@@ -6428,6 +6879,13 @@ find-up@5.0.0:
locate-path "^6.0.0"
path-exists "^4.0.0"
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -6467,6 +6925,14 @@ flat-cache@^2.0.1:
rimraf "2.6.3"
write "1.0.3"
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+ dependencies:
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
+
flat@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
@@ -6477,6 +6943,11 @@ flatted@^2.0.0, flatted@^2.0.1, flatted@^2.0.2:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
+flatted@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
+ integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
+
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -6679,6 +7150,11 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
genfun@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537"
@@ -6699,11 +7175,25 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+ integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+
get-package-type@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-stdin@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
+ integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
+
get-stdin@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
@@ -6788,7 +7278,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0:
+glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
@@ -6871,6 +7361,13 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+globals@^12.1.0:
+ version "12.4.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
+ integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
+ dependencies:
+ type-fest "^0.8.1"
+
globby@11.0.1, globby@^11.0.1:
version "11.0.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
@@ -7447,6 +7944,11 @@ ignore@^3.3.5:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
ignore@^5.1.4, ignore@^5.1.8:
version "5.1.8"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
@@ -7484,6 +7986,14 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
+import-fresh@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
import-fresh@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
@@ -7750,6 +8260,11 @@ is-callable@^1.1.4, is-callable@^1.2.0:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.1.tgz#4d1e21a4f437509d25ce55f8184350771421c96d"
integrity sha512-wliAfSzx6V+6WfMOmus1xy0XvSgf/dlStkvTfq7F0g4bOIW0PSUbnyse3NhDwdyYS1ozfUtAAySqTws3z9Eqgg==
+is-callable@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
+ integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
+
is-ci@2.0.0, is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
@@ -7769,7 +8284,7 @@ is-color-stop@^1.0.0:
rgb-regex "^1.0.1"
rgba-regex "^1.0.0"
-is-core-module@^2.1.0:
+is-core-module@^2.1.0, is-core-module@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
@@ -7907,6 +8422,11 @@ is-negative-zero@^2.0.0:
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461"
integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=
+is-negative-zero@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
+ integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
+
is-npm@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
@@ -8035,6 +8555,11 @@ is-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+is-string@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
+ integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+
is-svg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
@@ -8622,6 +9147,11 @@ jsbn@~0.1.0:
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+jsdoctypeparser@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz#8c97e2fb69315eb274b0f01377eaa5c940bd7b26"
+ integrity sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==
+
jsdom@^16.2.0, jsdom@^16.4.0:
version "16.4.0"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb"
@@ -8689,11 +9219,21 @@ json-schema-traverse@^0.4.1:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -8704,7 +9244,7 @@ json3@^3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
-json5@2.x, json5@^2.1.0, json5@^2.1.2:
+json5@2.1.3, json5@2.x, json5@^2.1.0, json5@^2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
@@ -8962,6 +9502,14 @@ levenary@^1.1.1:
dependencies:
leven "^3.1.0"
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -9016,6 +9564,16 @@ live-server@^1.2.1:
send latest
serve-index "^1.9.1"
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -9058,6 +9616,14 @@ localtunnel@^2.0.0:
openurl "1.1.1"
yargs "13.3.0"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -10071,6 +10637,11 @@ object-inspect@^1.6.0, object-inspect@^1.7.0, object-inspect@^1.8.0:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
+object-inspect@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
+ integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
+
object-is@^1.0.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6"
@@ -10111,6 +10682,16 @@ object.assign@^4.1.0:
has-symbols "^1.0.1"
object-keys "^1.1.1"
+object.assign@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+ integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
+
object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
@@ -10136,6 +10717,16 @@ object.values@^1.1.0:
function-bind "^1.1.1"
has "^1.0.3"
+object.values@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731"
+ integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.1"
+ has "^1.0.3"
+
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
@@ -10223,6 +10814,18 @@ optionator@^0.8.1:
type-check "~0.3.2"
word-wrap "~1.2.3"
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
ora@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-5.0.0.tgz#4f0b34f2994877b49b452a707245ab1e9f6afccb"
@@ -10322,6 +10925,13 @@ p-finally@^2.0.0:
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -10336,6 +10946,13 @@ p-limit@^3.0.1, p-limit@^3.0.2:
dependencies:
p-try "^2.0.0"
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -10376,6 +10993,11 @@ p-retry@^3.0.1:
dependencies:
retry "^0.12.0"
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -10486,6 +11108,13 @@ parse-json@5.1.0, parse-json@^5.0.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ dependencies:
+ error-ex "^1.2.0"
+
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -10635,6 +11264,13 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
+ dependencies:
+ pify "^2.0.0"
+
path-type@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
@@ -10730,6 +11366,13 @@ pirates@^4.0.1:
dependencies:
node-modules-regexp "^1.0.0"
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
+ dependencies:
+ find-up "^2.1.0"
+
pkg-dir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
@@ -11219,6 +11862,11 @@ postcss@^8.1.6, postcss@^8.2.3:
nanoid "^3.1.20"
source-map "^0.6.1"
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -11259,6 +11907,11 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+progress@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -11542,6 +12195,14 @@ read-package-tree@5.3.1:
readdir-scoped-modules "^1.0.0"
util-promisify "^2.1.0"
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
read-pkg-up@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8"
@@ -11559,6 +12220,15 @@ read-pkg-up@^7.0.1:
read-pkg "^5.2.0"
type-fest "^0.8.1"
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
read-pkg@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237"
@@ -11701,6 +12371,11 @@ regexp.prototype.flags@^1.2.0:
define-properties "^1.1.3"
es-abstract "^1.17.0-next.1"
+regexpp@^3.0.0, regexpp@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
+ integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
+
regexpu-core@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
@@ -11713,6 +12388,11 @@ regexpu-core@^4.7.0:
unicode-match-property-ecmascript "^1.0.4"
unicode-match-property-value-ecmascript "^1.2.0"
+regextras@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.7.1.tgz#be95719d5f43f9ef0b9fa07ad89b7c606995a3b2"
+ integrity sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==
+
registry-auth-token@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da"
@@ -11891,6 +12571,11 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@@ -11992,6 +12677,14 @@ resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0
dependencies:
path-parse "^1.0.6"
+resolve@^1.13.1:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+ integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+ dependencies:
+ is-core-module "^2.2.0"
+ path-parse "^1.0.6"
+
resolve@^1.18.1:
version "1.19.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
@@ -12177,7 +12870,7 @@ rxjs@^5.5.6:
dependencies:
symbol-observable "1.0.1"
-rxjs@^6.5.0, rxjs@^6.5.2, rxjs@^6.5.3, rxjs@^6.5.5, rxjs@^6.6.0:
+rxjs@^6.5.0, rxjs@^6.5.2, rxjs@^6.5.5, rxjs@^6.6.0:
version "6.6.3"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
@@ -12306,13 +12999,6 @@ semver-diff@^3.1.1:
dependencies:
semver "^6.3.0"
-semver-dsl@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0"
- integrity sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=
- dependencies:
- semver "^5.3.0"
-
semver-extra@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/semver-extra/-/semver-extra-3.0.0.tgz#98230dd8517b702c0715aea6c269a96fceaccebc"
@@ -12342,7 +13028,7 @@ semver@7.3.2, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-semver@7.x:
+semver@7.x, semver@^7.2.1, semver@^7.3.4:
version "7.3.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
@@ -12787,7 +13473,7 @@ source-map@0.7.3, source-map@^0.7.3:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7:
+source-map@^0.5.0, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -12822,7 +13508,7 @@ spdx-exceptions@^2.1.0:
resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
-spdx-expression-parse@^3.0.0:
+spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
@@ -12891,11 +13577,6 @@ split@0.3:
dependencies:
through "2"
-sprintf-js@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
- integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -13110,6 +13791,14 @@ string.prototype.trimend@^1.0.1:
define-properties "^1.1.3"
es-abstract "^1.17.5"
+string.prototype.trimend@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b"
+ integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+
string.prototype.trimstart@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
@@ -13118,6 +13807,14 @@ string.prototype.trimstart@^1.0.1:
define-properties "^1.1.3"
es-abstract "^1.17.5"
+string.prototype.trimstart@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa"
+ integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+
string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
@@ -13162,6 +13859,11 @@ strip-ansi@^6.0.0:
dependencies:
ansi-regex "^5.0.0"
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
strip-bom@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
@@ -13184,6 +13886,11 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
+strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -13408,6 +14115,16 @@ table@^6.0.1:
slice-ansi "^4.0.0"
string-width "^4.2.0"
+table@^6.0.4:
+ version "6.0.7"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34"
+ integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==
+ dependencies:
+ ajv "^7.0.2"
+ lodash "^4.17.20"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.0"
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -13522,6 +14239,11 @@ text-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
tfunk@^3.0.1:
version "3.1.0"
resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b"
@@ -13551,7 +14273,7 @@ through2@^3.0.0, through2@^3.0.1:
inherits "^2.0.4"
readable-stream "2 || 3"
-through@2, "through@>=2.2.7 <3", through@X.X.X, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4:
+through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
@@ -13796,6 +14518,16 @@ ts-simple-ast@12.4.0:
tslib "^1.9.0"
typescript "2.9.1"
+tsconfig-paths@^3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
+ integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+
tslib@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e"
@@ -13811,7 +14543,23 @@ tslib@^2.0.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.0.tgz#18d13fc2dce04051e20f074cc8387fd8089ce4f3"
integrity sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==
-tslint@~6.1.0:
+tslint-to-eslint-config@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/tslint-to-eslint-config/-/tslint-to-eslint-config-2.0.1.tgz#c814513ed47cce47ebf89588806b7c607d06b59e"
+ integrity sha512-RURU/zcBQpW9jKS7H2J6of4+64npTb0nrH7ND8tNhagMwryVjVnUDcucsl8DQuD7tO9RgjFO9bmJfDhyP0yV1w==
+ dependencies:
+ chalk "4.1.0"
+ commander "6.2.0"
+ cson-parser "4.0.7"
+ eslint-config-prettier "6.15.0"
+ glob "7.1.6"
+ json5 "2.1.3"
+ lodash "4.17.20"
+ minimatch "3.0.4"
+ tslint "6.1.3"
+ typescript "4.1.2"
+
+tslint@6.1.3:
version "6.1.3"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904"
integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==
@@ -13837,6 +14585,13 @@ tsutils@^2.29.0:
dependencies:
tslib "^1.8.1"
+tsutils@^3.0.0, tsutils@^3.17.1:
+ version "3.20.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698"
+ integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==
+ dependencies:
+ tslib "^1.8.1"
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -13854,6 +14609,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
@@ -13926,6 +14688,11 @@ typescript@4.0.2, typescript@~4.0.2:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2"
integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==
+typescript@4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.2.tgz#6369ef22516fe5e10304aae5a5c4862db55380e9"
+ integrity sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==
+
typescript@^2.4.2:
version "2.9.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c"
@@ -14305,6 +15072,11 @@ uuid@^8.3.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+v8-compile-cache@^2.0.3:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132"
+ integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
+
v8-compile-cache@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
@@ -14679,7 +15451,7 @@ windows-release@^4.0.0:
dependencies:
execa "^4.0.2"
-word-wrap@~1.2.3:
+word-wrap@^1.2.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==