From 302ddf30900db65335be369bcd9671f799e8774d Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Fri, 4 Aug 2023 15:45:34 -0400 Subject: [PATCH 01/52] display clear vehicle image when vehicle is autoselected --- src/layouts/policy-vehicles/policy-vehicles.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index 16699160..56985843 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -72,14 +72,17 @@ export default { vm.setCmsContent(cmsContentPromise); }); }, + mounted() { + if (this.VehiclesFromApi?.length === 1) { + this.selectedVehicleVin = this.VehiclesFromApi[0].vin; + } + }, data() { const policyVehicles = useMainStore().pageData(issPageValues.POLICY_VEHICLES); return { policyVehicles, - selectedVehicleVin: (policyVehicles?.length ?? 0) === 1 - ? policyVehicles[0].vin - : '', - displayGeneric: (policyVehicles?.length ?? 0) !== 1, + selectedVehicleVin: '', + displayGeneric: true, bailout: false, rules: { optionRequired: globalRules.OPTION_REQUIRED From 73c36be620e25d88b641932ea65f88e94c32f91c Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Fri, 4 Aug 2023 15:57:33 -0400 Subject: [PATCH 02/52] linting fix --- src/layouts/policy-vehicles/policy-vehicles.vue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index 56985843..efd7777b 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -72,11 +72,6 @@ export default { vm.setCmsContent(cmsContentPromise); }); }, - mounted() { - if (this.VehiclesFromApi?.length === 1) { - this.selectedVehicleVin = this.VehiclesFromApi[0].vin; - } - }, data() { const policyVehicles = useMainStore().pageData(issPageValues.POLICY_VEHICLES); return { @@ -160,6 +155,11 @@ export default { } } }, + mounted() { + if (this.VehiclesFromApi?.length === 1) { + this.selectedVehicleVin = this.VehiclesFromApi[0].vin; + } + }, methods: { backButtonAction() { From 47310983ab0109da9691bf1239e4f10ce7375f19 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Fri, 4 Aug 2023 15:59:00 -0400 Subject: [PATCH 03/52] remove colon from line --- src/layouts/coverage-statement/coverage-statement.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index d72a4b90..a94b5cdd 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -176,7 +176,7 @@ export default { return { availableLineItems: [], selectedProvider: '', - deductibleText: 'Your deductible is:', + deductibleText: 'Your deductible is', // TODO update when design team gives appropriate text loadingText: [ 'Connecting to your insurance company', From ea2a21b49169cea92e5ae81b869bbd356da38ec3 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Fri, 4 Aug 2023 16:03:24 -0400 Subject: [PATCH 04/52] linting fixes --- .../coverage-statement/coverage-statement.vue | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index a94b5cdd..243e619e 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -9,26 +9,28 @@ - +
+ v-html="coverageStatementSubHeader">
+ v-html="explanatoryText">
+ v-html="secondaryText">
{ vm.setCmsContent(resultMap.cmsContent); + // eslint-disable-next-line no-param-reassign vm.availableLineItems = pricingResults; }); }, From 0cc039f15f0b29134f6ac89961409c33825875dc Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Mon, 7 Aug 2023 10:22:43 -0400 Subject: [PATCH 05/52] replace references to policyVehicles with VehiclesFromApi --- src/layouts/policy-vehicles/policy-vehicles.vue | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index efd7777b..ea683c21 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -73,9 +73,7 @@ export default { }); }, data() { - const policyVehicles = useMainStore().pageData(issPageValues.POLICY_VEHICLES); return { - policyVehicles, selectedVehicleVin: '', displayGeneric: true, bailout: false, @@ -87,7 +85,7 @@ export default { computed: { VehiclesForQuestions() { // Map API result data, to address-vehicles data structure - const vehicles = this.policyVehicles; + const vehicles = this.VehiclesFromApi; const mappedData = vehicles?.map((v) => { const maskSymbol = 'X'; const vinStart = maskSymbol.repeat(v.vin.length - 6); @@ -103,13 +101,13 @@ export default { return mappedData; }, noCoverageForSelectedVehicle() { - const vehicle = this.policyVehicles.find((policyVehicle) => - policyVehicle.vin === this.selectedVehicleVin); + const vehicle = this.VehiclesFromApi?.find((vehicleFromApi) => + vehicleFromApi.vin === this.selectedVehicleVin); return (vehicle?.coverages?.length ?? 0) === 0; }, deductibleForSelectedVehicle() { - const vehicle = this.policyVehicles.find((policyVehicle) => - policyVehicle?.vin === this.selectedVehicleVin); + const vehicle = this.VehiclesFromApi?.find((vehicleFromApi) => + vehicleFromApi?.vin === this.selectedVehicleVin); if (!vehicle) { return undefined; } @@ -119,8 +117,8 @@ export default { : 0; }, repairWaivedForSelectedVehicle() { - const vehicle = this.policyVehicles.find((policyVehicle) => - policyVehicle.vin === this.selectedVehicleVin); + const vehicle = this.VehiclesFromApi?.find((vehicleFromApi) => + vehicleFromApi.vin === this.selectedVehicleVin); return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false; }, VehiclesFromApi() { From e992673f3834c167480d306dfd40030a952737d0 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Mon, 7 Aug 2023 10:30:52 -0400 Subject: [PATCH 06/52] Revert "replace references to policyVehicles with VehiclesFromApi" This reverts commit 0cc039f15f0b29134f6ac89961409c33825875dc. --- src/layouts/policy-vehicles/policy-vehicles.vue | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index ea683c21..efd7777b 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -73,7 +73,9 @@ export default { }); }, data() { + const policyVehicles = useMainStore().pageData(issPageValues.POLICY_VEHICLES); return { + policyVehicles, selectedVehicleVin: '', displayGeneric: true, bailout: false, @@ -85,7 +87,7 @@ export default { computed: { VehiclesForQuestions() { // Map API result data, to address-vehicles data structure - const vehicles = this.VehiclesFromApi; + const vehicles = this.policyVehicles; const mappedData = vehicles?.map((v) => { const maskSymbol = 'X'; const vinStart = maskSymbol.repeat(v.vin.length - 6); @@ -101,13 +103,13 @@ export default { return mappedData; }, noCoverageForSelectedVehicle() { - const vehicle = this.VehiclesFromApi?.find((vehicleFromApi) => - vehicleFromApi.vin === this.selectedVehicleVin); + const vehicle = this.policyVehicles.find((policyVehicle) => + policyVehicle.vin === this.selectedVehicleVin); return (vehicle?.coverages?.length ?? 0) === 0; }, deductibleForSelectedVehicle() { - const vehicle = this.VehiclesFromApi?.find((vehicleFromApi) => - vehicleFromApi?.vin === this.selectedVehicleVin); + const vehicle = this.policyVehicles.find((policyVehicle) => + policyVehicle?.vin === this.selectedVehicleVin); if (!vehicle) { return undefined; } @@ -117,8 +119,8 @@ export default { : 0; }, repairWaivedForSelectedVehicle() { - const vehicle = this.VehiclesFromApi?.find((vehicleFromApi) => - vehicleFromApi.vin === this.selectedVehicleVin); + const vehicle = this.policyVehicles.find((policyVehicle) => + policyVehicle.vin === this.selectedVehicleVin); return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false; }, VehiclesFromApi() { From ac0d99ea33889c658ae65f49bd4f30170af8b229 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Mon, 7 Aug 2023 10:50:41 -0400 Subject: [PATCH 07/52] remove reference to VehiclesFromApi --- src/layouts/policy-vehicles/policy-vehicles.vue | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index efd7777b..12747012 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -123,9 +123,6 @@ export default { policyVehicle.vin === this.selectedVehicleVin); return vehicle?.endorsements?.includes(endorsementOptions.REPAIR_WAIVED) ?? false; }, - VehiclesFromApi() { - return useMainStore().pageData(issPageValues.POLICY_VEHICLES); - }, selectedVehicle() { const vehicle = this.mainStore.lookupVehicleByVin(this.selectedVehicleVin); return vehicle; @@ -156,8 +153,8 @@ export default { } }, mounted() { - if (this.VehiclesFromApi?.length === 1) { - this.selectedVehicleVin = this.VehiclesFromApi[0].vin; + if (this.policyVehicles?.length === 1) { + this.selectedVehicleVin = this.policyVehicles[0].vin; } }, methods: From 431a0fad5410e0f5f0187c362749b28c019b1ba1 Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Tue, 8 Aug 2023 07:27:33 -0400 Subject: [PATCH 08/52] A couple of hopefully minor package updates. --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a249d5e6..b2cd80d7 100644 --- a/package.json +++ b/package.json @@ -16,14 +16,14 @@ }, "dependencies": { "axios": "^0.27.2", - "bootstrap": "^5.2.3", + "bootstrap": "^5.3", "maska": "^1.5.0", "pinia": "^2.0.22", "pinia-plugin-persistedstate": "^2.2.0", "vee-validate": "^4.7.0", "vue": "^3.3.4", "vue-plugin-load-script": "^2.1.0", - "vue-router": "4.1.3" + "vue-router": "4.2.4" }, "devDependencies": { "@pinia/testing": "0.1.2", From a6e1a38d5addb7d418d6d461970240f13d0489eb Mon Sep 17 00:00:00 2001 From: Jeremy Zimmerman Date: Tue, 8 Aug 2023 12:35:30 -0400 Subject: [PATCH 09/52] Updating the lock file. --- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0543b3b7..0e085493 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,14 +9,14 @@ "version": "0.1.0", "dependencies": { "axios": "^0.27.2", - "bootstrap": "^5.2.3", + "bootstrap": "^5.3", "maska": "^1.5.0", "pinia": "^2.0.22", "pinia-plugin-persistedstate": "^2.2.0", "vee-validate": "^4.7.0", - "vue": "^3.2.13", + "vue": "^3.3.4", "vue-plugin-load-script": "^2.1.0", - "vue-router": "4.1.3" + "vue-router": "4.2.4" }, "devDependencies": { "@pinia/testing": "0.1.2", @@ -17494,11 +17494,11 @@ "integrity": "sha512-tFvedqtOiLI+jZ78dymg+f7bjiglCVC2lA0CXVIq7bXVqu1sssP40r6UNMpD9glGD+EhbGRdOa70Sb5ZuHjmTA==" }, "node_modules/vue-router": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.3.tgz", - "integrity": "sha512-XvK81bcYglKiayT7/vYAg/f36ExPC4t90R/HIpzrZ5x+17BOWptXLCrEPufGgZeuq68ww4ekSIMBZY1qdUdfjA==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz", + "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==", "dependencies": { - "@vue/devtools-api": "^6.1.4" + "@vue/devtools-api": "^6.5.0" }, "funding": { "url": "https://github.com/sponsors/posva" From 2f09667b483fd784259aca6b81ae85b42fc64263 Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Tue, 8 Aug 2023 13:08:28 -0400 Subject: [PATCH 10/52] Updated pinia package --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0e085493..38bbeaa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "axios": "^0.27.2", "bootstrap": "^5.3", "maska": "^1.5.0", - "pinia": "^2.0.22", + "pinia": "^2.1.4", "pinia-plugin-persistedstate": "^2.2.0", "vee-validate": "^4.7.0", "vue": "^3.3.4", diff --git a/package.json b/package.json index b2cd80d7..c100b7d1 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "axios": "^0.27.2", "bootstrap": "^5.3", "maska": "^1.5.0", - "pinia": "^2.0.22", + "pinia": "^2.1.4", "pinia-plugin-persistedstate": "^2.2.0", "vee-validate": "^4.7.0", "vue": "^3.3.4", From 7f91d76df467c8894975f39d6dd66ae8492b62af Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Tue, 8 Aug 2023 14:15:04 -0400 Subject: [PATCH 11/52] Updated axios --- jest.config.js | 3 +++ package-lock.json | 18 ++++++++++++------ package.json | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/jest.config.js b/jest.config.js index 00947398..08ef8c31 100644 --- a/jest.config.js +++ b/jest.config.js @@ -6,6 +6,9 @@ module.exports = { preset: "@vue/cli-plugin-unit-jest", transform: { "^.+\\.vue$": "@vue/vue3-jest" }, moduleFileExtensions: ["js", "vue"], + moduleNameMapper: { + axios: 'axios/dist/browser/axios.cjs' + }, collectCoverageFrom: [ "src/**/*.{js,vue}", "!src/main.js", diff --git a/package-lock.json b/package-lock.json index 38bbeaa3..f03924b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "digitalconsumer.iss", "version": "0.1.0", "dependencies": { - "axios": "^0.27.2", + "axios": "^1.4.0", "bootstrap": "^5.3", "maska": "^1.5.0", "pinia": "^2.1.4", @@ -5372,12 +5372,13 @@ } }, "node_modules/axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/axios/node_modules/form-data": { @@ -15197,6 +15198,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", diff --git a/package.json b/package.json index c100b7d1..d005f44e 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "test:unit:lite": "vue-cli-service test:unit --ci" }, "dependencies": { - "axios": "^0.27.2", + "axios": "^1.4.0", "bootstrap": "^5.3", "maska": "^1.5.0", "pinia": "^2.1.4", From 24365dc4ac8260807867a9404d73ec8f2fd17bed Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Wed, 9 Aug 2023 07:36:54 -0400 Subject: [PATCH 12/52] Additional package updates --- package-lock.json | 961 ++++++++++++++++++++++++++++++---------------- package.json | 10 +- 2 files changed, 643 insertions(+), 328 deletions(-) diff --git a/package-lock.json b/package-lock.json index f03924b9..ed52c13d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "axios": "^1.4.0", + "axios-retry": "^3.5.0", "bootstrap": "^5.3", "maska": "^1.5.0", "pinia": "^2.1.4", @@ -20,6 +21,7 @@ }, "devDependencies": { "@pinia/testing": "0.1.2", + "@rushstack/eslint-patch": "^1.3.2", "@testing-library/jest-dom": "5.16.5", "@testing-library/user-event": "14.4.3", "@testing-library/vue": "6.6.1", @@ -27,10 +29,11 @@ "@vue/cli-plugin-router": "~5.0.0", "@vue/cli-plugin-unit-jest": "~5.0.0", "@vue/cli-service": "~5.0.0", - "@vue/test-utils": "^2.0.0-0", + "@vue/test-utils": "^2.4.1", "@vue/vue3-jest": "^27.0.0-alpha.1", + "axios-mock-adapter": "^1.21.5", "babel-jest": "^27.0.6", - "eslint": "8.29.0", + "eslint": "8.45.0", "eslint-config-airbnb-base": "15.0.0", "eslint-import-resolver-alias": "1.1.2", "eslint-plugin-import": "2.26.0", @@ -40,7 +43,17 @@ "jsdoc": "^4.0.2", "sass": "^1.32.7", "sass-loader": "^12.0.0", - "vitest": "^0.32.4" + "vitest": "^0.33.0", + "volar-service-vetur": "latest" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, "node_modules/@achrinza/node-ipc": { @@ -1712,7 +1725,6 @@ "version": "7.19.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1776,9 +1788,9 @@ "dev": true }, "node_modules/@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", "cpu": [ "arm" ], @@ -1792,9 +1804,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", "cpu": [ "arm64" ], @@ -1808,9 +1820,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", "cpu": [ "x64" ], @@ -1824,9 +1836,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", "cpu": [ "arm64" ], @@ -1840,9 +1852,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", "cpu": [ "x64" ], @@ -1856,9 +1868,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", "cpu": [ "arm64" ], @@ -1872,9 +1884,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", "cpu": [ "x64" ], @@ -1888,9 +1900,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", "cpu": [ "arm" ], @@ -1904,9 +1916,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", "cpu": [ "arm64" ], @@ -1920,9 +1932,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", "cpu": [ "ia32" ], @@ -1936,9 +1948,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", "cpu": [ "loong64" ], @@ -1952,9 +1964,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", "cpu": [ "mips64el" ], @@ -1968,9 +1980,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", "cpu": [ "ppc64" ], @@ -1984,9 +1996,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", "cpu": [ "riscv64" ], @@ -2000,9 +2012,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", "cpu": [ "s390x" ], @@ -2016,9 +2028,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", "cpu": [ "x64" ], @@ -2032,9 +2044,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", "cpu": [ "x64" ], @@ -2048,9 +2060,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", "cpu": [ "x64" ], @@ -2064,9 +2076,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", "cpu": [ "x64" ], @@ -2080,9 +2092,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", "cpu": [ "arm64" ], @@ -2096,9 +2108,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", "cpu": [ "ia32" ], @@ -2112,9 +2124,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "cpu": [ "x64" ], @@ -2142,16 +2154,25 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2172,9 +2193,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2210,6 +2231,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/js": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -2226,9 +2256,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -3020,6 +3050,12 @@ "node": ">= 8" } }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true + }, "node_modules/@pinia/testing": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@pinia/testing/-/testing-0.1.2.tgz", @@ -3077,6 +3113,12 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", + "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==", + "dev": true + }, "node_modules/@sideway/address": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", @@ -3815,13 +3857,13 @@ "dev": true }, "node_modules/@vitest/expect": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.32.4.tgz", - "integrity": "sha512-m7EPUqmGIwIeoU763N+ivkFjTzbaBn0n9evsTOcde03ugy2avPs3kZbYmw3DkcH1j5mxhMhdamJkLQ6dM1bk/A==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.33.0.tgz", + "integrity": "sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ==", "dev": true, "dependencies": { - "@vitest/spy": "0.32.4", - "@vitest/utils": "0.32.4", + "@vitest/spy": "0.33.0", + "@vitest/utils": "0.33.0", "chai": "^4.3.7" }, "funding": { @@ -3829,12 +3871,12 @@ } }, "node_modules/@vitest/runner": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.32.4.tgz", - "integrity": "sha512-cHOVCkiRazobgdKLnczmz2oaKK9GJOw6ZyRcaPdssO1ej+wzHVIkWiCiNacb3TTYPdzMddYkCgMjZ4r8C0JFCw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.33.0.tgz", + "integrity": "sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==", "dev": true, "dependencies": { - "@vitest/utils": "0.32.4", + "@vitest/utils": "0.33.0", "p-limit": "^4.0.0", "pathe": "^1.1.1" }, @@ -3870,12 +3912,12 @@ } }, "node_modules/@vitest/snapshot": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.32.4.tgz", - "integrity": "sha512-IRpyqn9t14uqsFlVI2d7DFMImGMs1Q9218of40bdQQgMePwVdmix33yMNnebXcTzDU5eiV3eUsoxxH5v0x/IQA==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.33.0.tgz", + "integrity": "sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==", "dev": true, "dependencies": { - "magic-string": "^0.30.0", + "magic-string": "^0.30.1", "pathe": "^1.1.1", "pretty-format": "^29.5.0" }, @@ -3884,21 +3926,21 @@ } }, "node_modules/@vitest/snapshot/node_modules/@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.25.16" + "@sinclair/typebox": "^0.27.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@vitest/snapshot/node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "node_modules/@vitest/snapshot/node_modules/ansi-styles": { @@ -3914,12 +3956,12 @@ } }, "node_modules/@vitest/snapshot/node_modules/pretty-format": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -3934,9 +3976,9 @@ "dev": true }, "node_modules/@vitest/spy": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.32.4.tgz", - "integrity": "sha512-oA7rCOqVOOpE6rEoXuCOADX7Lla1LIa4hljI2MSccbpec54q+oifhziZIJXxlE/CvI2E+ElhBHzVu0VEvJGQKQ==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.33.0.tgz", + "integrity": "sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==", "dev": true, "dependencies": { "tinyspy": "^2.1.1" @@ -3946,9 +3988,9 @@ } }, "node_modules/@vitest/utils": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.32.4.tgz", - "integrity": "sha512-Gwnl8dhd1uJ+HXrYyV0eRqfmk9ek1ASE/LWfTCuWMw+d07ogHqp4hEAV28NiecimK6UY9DpSEPh+pXBA5gtTBg==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.33.0.tgz", + "integrity": "sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==", "dev": true, "dependencies": { "diff-sequences": "^29.4.3", @@ -3960,21 +4002,21 @@ } }, "node_modules/@vitest/utils/node_modules/@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.25.16" + "@sinclair/typebox": "^0.27.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@vitest/utils/node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "node_modules/@vitest/utils/node_modules/ansi-styles": { @@ -3999,12 +4041,12 @@ } }, "node_modules/@vitest/utils/node_modules/pretty-format": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -4018,6 +4060,12 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "node_modules/@vscode/l10n": { + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.14.tgz", + "integrity": "sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==", + "dev": true + }, "node_modules/@vue/babel-helper-vue-jsx-merge-props": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", @@ -4726,12 +4774,22 @@ "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, "node_modules/@vue/test-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.0.2.tgz", - "integrity": "sha512-E2P4oXSaWDqTZNbmKZFVLrNN/siVN78YkEqs7pHryWerrlZR9bBFLWdJwRoguX45Ru6HxIflzKl4vQvwRMwm5g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.1.tgz", + "integrity": "sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==", "dev": true, + "dependencies": { + "js-beautify": "1.14.9", + "vue-component-type-helpers": "1.8.4" + }, "peerDependencies": { + "@vue/server-renderer": "^3.0.1", "vue": "^3.0.1" + }, + "peerDependenciesMeta": { + "@vue/server-renderer": { + "optional": true + } } }, "node_modules/@vue/vue3-jest": { @@ -5381,6 +5439,51 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/axios-mock-adapter": { + "version": "1.21.5", + "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.21.5.tgz", + "integrity": "sha512-5NI1V/VK+8+JeTF8niqOowuysA4b8mGzdlMN/QnTnoXbYh4HZSNiopsDclN2g/m85+G++IrEtUdZaQ3GnaMsSA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "is-buffer": "^2.0.5" + }, + "peerDependencies": { + "axios": ">= 0.17.0" + } + }, + "node_modules/axios-mock-adapter/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/axios-retry": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.6.0.tgz", + "integrity": "sha512-jtH4qWTKZ2a17dH6tjq52Y1ssNV0lKge6/Z9Lw67s9Wt01nGTg4hg7/LJBGYfDci44NTANJQlCPHPOT/TSFm9w==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "is-retry-allowed": "^2.2.0" + } + }, "node_modules/axios/node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -5901,6 +6004,15 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -6050,6 +6162,15 @@ "node": ">=10" } }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "dev": true, + "dependencies": { + "is-regex": "^1.0.3" + } + }, "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -7262,6 +7383,15 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", @@ -7445,51 +7575,71 @@ } }, "node_modules/editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", "dev": true, "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" }, "bin": { "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/editorconfig/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } }, - "node_modules/editorconfig/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/editorconfig/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/editorconfig/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -7684,9 +7834,9 @@ } }, "node_modules/esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, "hasInstallScript": true, "bin": { @@ -7696,28 +7846,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, "node_modules/escalade": { @@ -7767,13 +7917,16 @@ } }, "node_modules/eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", + "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -7782,34 +7935,29 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -8019,40 +8167,16 @@ "node": ">=4.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/ansi-styles": { @@ -8137,9 +8261,9 @@ } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -8147,6 +8271,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/find-up": { @@ -8166,9 +8293,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -8230,17 +8357,17 @@ } }, "node_modules/eslint/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "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" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -8367,14 +8494,14 @@ } }, "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -8397,9 +8524,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -9117,10 +9244,10 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/gzip-size": { @@ -9768,6 +9895,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-expression/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -9934,6 +10083,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-set": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", @@ -12545,14 +12705,14 @@ } }, "node_modules/js-beautify": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.6.tgz", - "integrity": "sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.9.tgz", + "integrity": "sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==", "dev": true, "dependencies": { "config-chain": "^1.1.13", - "editorconfig": "^0.15.3", - "glob": "^8.0.3", + "editorconfig": "^1.0.3", + "glob": "^8.1.0", "nopt": "^6.0.0" }, "bin": { @@ -12561,7 +12721,7 @@ "js-beautify": "js/bin/js-beautify.js" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/js-beautify/node_modules/brace-expansion": { @@ -12574,9 +12734,9 @@ } }, "node_modules/js-beautify/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -12593,9 +12753,9 @@ } }, "node_modules/js-beautify/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -12613,16 +12773,6 @@ "node": ">=0.6.0" } }, - "node_modules/js-sdsl": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -14513,9 +14663,9 @@ } }, "node_modules/postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", "funding": [ { "type": "opencollective", @@ -15069,11 +15219,10 @@ } }, "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "optional": true, "bin": { "prettier": "bin-prettier.js" }, @@ -15215,6 +15364,23 @@ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -15433,8 +15599,7 @@ "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "node_modules/regenerator-transform": { "version": "0.15.0", @@ -15462,18 +15627,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", @@ -15668,9 +15821,9 @@ } }, "node_modules/rollup": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz", - "integrity": "sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", + "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -16065,12 +16218,6 @@ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", - "dev": true - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -16734,9 +16881,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.5.0.tgz", - "integrity": "sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.6.0.tgz", + "integrity": "sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ==", "dev": true, "engines": { "node": ">=14.0.0" @@ -16901,6 +17048,76 @@ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -16956,6 +17173,19 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -16963,9 +17193,9 @@ "dev": true }, "node_modules/ufo": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz", - "integrity": "sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz", + "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==", "dev": true }, "node_modules/unbox-primitive": { @@ -17176,14 +17406,14 @@ } }, "node_modules/vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "dev": true, "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.23", - "rollup": "^3.21.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" }, "bin": { "vite": "bin/vite.js" @@ -17191,12 +17421,16 @@ "engines": { "node": "^14.18.0 || >=16.0.0" }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@types/node": ">= 14", "less": "*", + "lightningcss": "^1.21.0", "sass": "*", "stylus": "*", "sugarss": "*", @@ -17209,6 +17443,9 @@ "less": { "optional": true }, + "lightningcss": { + "optional": true + }, "sass": { "optional": true }, @@ -17224,9 +17461,9 @@ } }, "node_modules/vite-node": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.32.4.tgz", - "integrity": "sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.33.0.tgz", + "integrity": "sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -17247,34 +17484,34 @@ } }, "node_modules/vitest": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.32.4.tgz", - "integrity": "sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.33.0.tgz", + "integrity": "sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==", "dev": true, "dependencies": { "@types/chai": "^4.3.5", "@types/chai-subset": "^1.3.3", "@types/node": "*", - "@vitest/expect": "0.32.4", - "@vitest/runner": "0.32.4", - "@vitest/snapshot": "0.32.4", - "@vitest/spy": "0.32.4", - "@vitest/utils": "0.32.4", + "@vitest/expect": "0.33.0", + "@vitest/runner": "0.33.0", + "@vitest/snapshot": "0.33.0", + "@vitest/spy": "0.33.0", + "@vitest/utils": "0.33.0", "acorn": "^8.9.0", "acorn-walk": "^8.2.0", "cac": "^6.7.14", "chai": "^4.3.7", "debug": "^4.3.4", "local-pkg": "^0.4.3", - "magic-string": "^0.30.0", + "magic-string": "^0.30.1", "pathe": "^1.1.1", "picocolors": "^1.0.0", "std-env": "^3.3.3", "strip-literal": "^1.0.1", "tinybench": "^2.5.0", - "tinypool": "^0.5.0", + "tinypool": "^0.6.0", "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.32.4", + "vite-node": "0.33.0", "why-is-node-running": "^2.2.2" }, "bin": { @@ -17323,6 +17560,74 @@ } } }, + "node_modules/vls": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/vls/-/vls-0.8.5.tgz", + "integrity": "sha512-61kbdO2COZWBMC4wq59QfDdev9ruXd0226f57DFJTFpFXv85S+qnHakQlAmbSYFFLGKcx95HB2UjnuQh4YRwFA==", + "dev": true, + "dependencies": { + "eslint": "^8.34.0", + "eslint-plugin-vue": "^9.9.0", + "prettier": "^2.8.4", + "pug-lexer": "^5.0.1", + "tslint": "6.1.3", + "typescript": "^4.9.5" + }, + "bin": { + "vls": "bin/vls" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/volar-service-vetur": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/volar-service-vetur/-/volar-service-vetur-0.0.11.tgz", + "integrity": "sha512-ahjOhXZmIZESMLWKrmxyhZvyvC3niSm0gjmSnZquy+UXHPSqHW0I2JVMTCQ2gB26ZadE2D8Kao7UbcgphSB+8w==", + "dev": true, + "dependencies": { + "vls": "^0.8.2", + "vscode-html-languageservice": "^5.0.4" + }, + "peerDependencies": { + "@volar/language-service": "~1.10.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-html-languageservice": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.6.tgz", + "integrity": "sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==", + "dev": true, + "dependencies": { + "@vscode/l10n": "^0.0.14", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.3", + "vscode-uri": "^3.0.7" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "dev": true + }, "node_modules/vue": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", @@ -17335,6 +17640,12 @@ "@vue/shared": "3.3.4" } }, + "node_modules/vue-component-type-helpers": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.8.4.tgz", + "integrity": "sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==", + "dev": true + }, "node_modules/vue-eslint-parser": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz", diff --git a/package.json b/package.json index d005f44e..2cd66185 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "axios": "^1.4.0", + "axios-retry": "^3.5.0", "bootstrap": "^5.3", "maska": "^1.5.0", "pinia": "^2.1.4", @@ -26,6 +27,7 @@ "vue-router": "4.2.4" }, "devDependencies": { + "@rushstack/eslint-patch": "^1.3.2", "@pinia/testing": "0.1.2", "@testing-library/jest-dom": "5.16.5", "@testing-library/user-event": "14.4.3", @@ -34,10 +36,11 @@ "@vue/cli-plugin-router": "~5.0.0", "@vue/cli-plugin-unit-jest": "~5.0.0", "@vue/cli-service": "~5.0.0", - "@vue/test-utils": "^2.0.0-0", + "@vue/test-utils": "^2.4.1", "@vue/vue3-jest": "^27.0.0-alpha.1", + "axios-mock-adapter": "^1.21.5", "babel-jest": "^27.0.6", - "eslint": "8.29.0", + "eslint": "8.45.0", "eslint-config-airbnb-base": "15.0.0", "eslint-import-resolver-alias": "1.1.2", "eslint-plugin-import": "2.26.0", @@ -47,6 +50,7 @@ "jsdoc": "^4.0.2", "sass": "^1.32.7", "sass-loader": "^12.0.0", - "vitest": "^0.32.4" + "vitest": "^0.33.0", + "volar-service-vetur": "latest" } } From 2bc489957335968b3567400db434e53bf1b503f1 Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Tue, 8 Aug 2023 14:42:01 -0400 Subject: [PATCH 13/52] updates to match fmg --- package-lock.json | 10 ++--- package.json | 2 +- .../textbox-question/textbox-question.vue | 39 ++++++++----------- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed52c13d..0cb678b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "maska": "^1.5.0", "pinia": "^2.1.4", "pinia-plugin-persistedstate": "^2.2.0", - "vee-validate": "^4.7.0", + "vee-validate": "^4.5.7", "vue": "^3.3.4", "vue-plugin-load-script": "^2.1.0", "vue-router": "4.2.4" @@ -17395,11 +17395,11 @@ } }, "node_modules/vee-validate": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.7.0.tgz", - "integrity": "sha512-7HW2RE8mWaT57Jn+JU7jwczFqtlc1rIAwSbp8kD1L2sO0plhT9YeDNKW5iaI9baosc4h+iyb6itMlXtqAAqAfw==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.5.7.tgz", + "integrity": "sha512-EcpvOikBP5LlRIKwULfwRDeyIaERuOJztZUPWRmSIeWpeQWD6hs9qQ8A3CmVVteqEohbUM07gV/ea8lPXCfCJQ==", "dependencies": { - "@vue/devtools-api": "^6.1.4" + "@vue/devtools-api": "^6.0.0-beta.15" }, "peerDependencies": { "vue": "^3.0.0" diff --git a/package.json b/package.json index 2cd66185..c2b38169 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "maska": "^1.5.0", "pinia": "^2.1.4", "pinia-plugin-persistedstate": "^2.2.0", - "vee-validate": "^4.7.0", + "vee-validate": "^4.5.7", "vue": "^3.3.4", "vue-plugin-load-script": "^2.1.0", "vue-router": "4.2.4" diff --git a/src/digital-components/textbox-question/textbox-question.vue b/src/digital-components/textbox-question/textbox-question.vue index a2e8c80c..ea4f1cf9 100644 --- a/src/digital-components/textbox-question/textbox-question.vue +++ b/src/digital-components/textbox-question/textbox-question.vue @@ -1,7 +1,5 @@ @@ -116,12 +107,12 @@ export default { let initialValue; switch (typeof modelValue) { - case 'number': - initialValue = modelValue; - break; - default: - initialValue = modelValue && modelValue.length > 0 ? modelValue : ''; - break; + case 'number': + initialValue = modelValue; + break; + default: + initialValue = modelValue && modelValue.length > 0 ? modelValue : ''; + break; } const fieldOptions = { @@ -131,9 +122,11 @@ export default { }; // eslint-disable-next-line no-shadow - const { errorMessage, handleBlur, handleChange, meta, validate, errors } = useField(props.inputId, + const { errorMessage, handleBlur, handleChange, meta, validate, errors } = useField( + props.inputId, props.validationRules, - fieldOptions); + fieldOptions + ); return { errorMessage, From 3037b43a88924f7af41931675bf0c21705c12ee2 Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Wed, 9 Aug 2023 11:19:41 -0400 Subject: [PATCH 14/52] prefer default - initial attemp - application-config --- src/constants/analytics.js | 24 +++++++++---------- src/constants/application-config.js | 2 +- src/constants/cookie-names.js | 2 +- src/global-methods.js | 2 +- src/helpers/cookie-helper.js | 2 +- src/helpers/session-helper.js | 2 +- src/helpers/session-helper.spec.js | 2 +- .../address-questions/address-questions.vue | 2 +- .../vehicle-parts/vehicle-parts.spec.js | 2 +- src/layouts/welcome-page/welcome-page.spec.js | 2 +- src/router/index.js | 2 +- src/store/index.js | 2 +- src/ux-components/alert/alert.vue | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/constants/analytics.js b/src/constants/analytics.js index 2edbd9a0..c0171209 100644 --- a/src/constants/analytics.js +++ b/src/constants/analytics.js @@ -1,36 +1,36 @@ -const analyticsPageEvents = { +const analyticsPageEvents = Object.freeze({ ENTRY: 'ENTRY', EVENT: 'EVENT' -}; +}); // GA Constants -const GaEvents = { +const GaEvents = Object.freeze({ GENERIC_EVENT: 'event', PAGE_VIEW_EVENT: 'logPageview' -}; +}); -const GaCategories = { +const GaCategories = Object.freeze({ API_RESPONSE: 'Api_Response', EVOX: 'Evox' -}; +}); -const GaActions = { +const GaActions = Object.freeze({ RESULT: 'Result', CLICKED: 'Clicked', VIF: 'vif', SUBMITTED: 'Submitted' -}; +}); -const GaLabels = { +const GaLabels = Object.freeze({ SUCCESS: 'Success', ERROR: 'Error', LICENSE_PLATE_LOOKUP: 'License_Plate_Look_Up', VIN_LOOKUP: 'Vin_Look_Up', ADDRESS_LOOKUP: 'Address_Look_up' -}; +}); -const ValueToLogTypes = { +const ValueToLogTypes = Object.freeze({ LAST_5: 'last_5' -}; +}); export { analyticsPageEvents, GaCategories, GaActions, GaLabels, GaEvents, ValueToLogTypes }; diff --git a/src/constants/application-config.js b/src/constants/application-config.js index 9dbc7ac3..5f67e3fd 100644 --- a/src/constants/application-config.js +++ b/src/constants/application-config.js @@ -14,4 +14,4 @@ const applicationConfig = { CASH_PARENT_ACCOUNT_NUMBER: 167132 }; -export { applicationConfig }; \ No newline at end of file +export default Object.freeze(applicationConfig); diff --git a/src/constants/cookie-names.js b/src/constants/cookie-names.js index 64fc6091..3a7606e3 100644 --- a/src/constants/cookie-names.js +++ b/src/constants/cookie-names.js @@ -1,4 +1,4 @@ -import { applicationConfig } from '@/constants/application-config.js'; +import applicationConfig from '@/constants/application-config.js'; const cookieNames = { ISS_SESSION_INFO: `ISSSessionInfo-${applicationConfig.CURRENT_ENVIRONMENT}`, diff --git a/src/global-methods.js b/src/global-methods.js index 141e4c34..779d53dc 100644 --- a/src/global-methods.js +++ b/src/global-methods.js @@ -2,7 +2,7 @@ import axios from 'axios'; import analyticsMixIn from '@/mixins/analytics-mixin.js'; import { useMainStore } from '@/store'; -import { applicationConfig } from '@/constants/application-config.js'; +import applicationConfig from '@/constants/application-config.js'; import { GaCategories, GaActions, GaLabels } from '@/constants/analytics'; import { headerKeys } from '@/constants/header-keys'; diff --git a/src/helpers/cookie-helper.js b/src/helpers/cookie-helper.js index e4abd6a7..123c9ec3 100644 --- a/src/helpers/cookie-helper.js +++ b/src/helpers/cookie-helper.js @@ -1,5 +1,5 @@ import { cookieNames } from '@/constants/cookie-names'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; import { useMainStore } from '@/store'; /* diff --git a/src/helpers/session-helper.js b/src/helpers/session-helper.js index c6b57dff..a82e1618 100644 --- a/src/helpers/session-helper.js +++ b/src/helpers/session-helper.js @@ -1,4 +1,4 @@ -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; import { getISSCookie } from '@/helpers/cookie-helper.js'; /* diff --git a/src/helpers/session-helper.spec.js b/src/helpers/session-helper.spec.js index cefc0cc2..ca9725ab 100644 --- a/src/helpers/session-helper.spec.js +++ b/src/helpers/session-helper.spec.js @@ -4,7 +4,7 @@ import { isSavedSessionStillActive, getDateForSavedSessionTimeout } from '@/helpers/session-helper'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; describe('isAnalyticsSessionStillActive', () => { test('isAnalyticsSessionStillActive, should return true', () => { diff --git a/src/iss-components/address-questions/address-questions.vue b/src/iss-components/address-questions/address-questions.vue index ca89447a..0ae33166 100644 --- a/src/iss-components/address-questions/address-questions.vue +++ b/src/iss-components/address-questions/address-questions.vue @@ -92,7 +92,7 @@ import textboxQuestion from '@/digital-components/textbox-question/textbox-question'; import dropdownQuestion from '@/digital-components/dropdown-question/dropdown-question'; import alert from '@/ux-components/alert/alert'; -import { applicationConfig } from '@/constants/application-config.js'; +import applicationConfig from '@/constants/application-config.js'; import { defineRule } from 'vee-validate'; import { required, regex } from '@/helpers/validation-rules'; import { errorMessages } from '@/constants/error-messages'; diff --git a/src/layouts/vehicle-parts/vehicle-parts.spec.js b/src/layouts/vehicle-parts/vehicle-parts.spec.js index 1a89058d..769da959 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.spec.js +++ b/src/layouts/vehicle-parts/vehicle-parts.spec.js @@ -11,7 +11,7 @@ import { nextTick } from 'vue'; import baseMixin from '@/mixins/base-mixin.js'; import { useMainStore } from '@/store'; import { navigationScenarios } from '@/router/router-constants/navigation-scenarios'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; // Mock our module for promises. jest.mock('@/helpers/layout-helper.js', () => ({ diff --git a/src/layouts/welcome-page/welcome-page.spec.js b/src/layouts/welcome-page/welcome-page.spec.js index 8b0bbcdd..b66528fa 100644 --- a/src/layouts/welcome-page/welcome-page.spec.js +++ b/src/layouts/welcome-page/welcome-page.spec.js @@ -7,7 +7,7 @@ import { settleAllPromises } from '@/helpers/layout-helper.js'; import { fetchCmsContentForPage } from '@/helpers/cms-content-helper'; import baseMixin from '@/mixins/base-mixin.js'; import { getMountOptions } from '@/helpers/unit-test-helper.js'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; import { useMainStore } from '@/store'; import { navigationScenarios } from '@/router/router-constants/navigation-scenarios'; diff --git a/src/router/index.js b/src/router/index.js index c27b55bb..fdc1fc02 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -12,7 +12,7 @@ import { updateSessionIdCookie } from '@/helpers/cookie-helper'; import { experimentTriggers } from '@/constants/experiments'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; import analyticsMixin from '@/mixins/analytics-mixin'; import { navigationScenarios } from './router-constants/navigation-scenarios'; diff --git a/src/store/index.js b/src/store/index.js index 5b0f9f15..383ac713 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -6,7 +6,7 @@ import { getDateForSavedSessionTimeout } from '@/helpers/session-helper'; // eslint-disable-next-line import/no-cycle import globalMethods from '@/global-methods'; import { experimentTriggers } from '@/constants/experiments'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; import { issPageValues } from '@/router/router-constants/issPage-values'; import { damageLocationsSelected } from '@/constants/damage-locations-selected'; import { coverageStatuses } from '@/constants/coverage-statuses'; diff --git a/src/ux-components/alert/alert.vue b/src/ux-components/alert/alert.vue index 8ec4a76c..092d2d84 100644 --- a/src/ux-components/alert/alert.vue +++ b/src/ux-components/alert/alert.vue @@ -60,7 +60,7 @@ import { getRouterLinkDisplayTextFromCopy, splitCMSCopyOnParagraphTag } from '@/helpers/cms-content-helper'; -import { applicationConfig } from '@/constants/application-config'; +import applicationConfig from '@/constants/application-config'; export default { name: 'alert', From b58ccce95ef53bc4114610b1f47272b26f8a5263 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Wed, 9 Aug 2023 11:48:44 -0400 Subject: [PATCH 15/52] error handling- ensures policyLookupSuccessful is set to false for failed policy lookups --- src/store/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/store/index.js b/src/store/index.js index 5b0f9f15..d91b152e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -345,6 +345,9 @@ export const useMainStore = defineStore({ const responsePolicy = r.data.policies?.[0]; policy.policyLookupSuccessful = !!responsePolicy; return r; + }, (r) => { + policy.policyLookupSuccessful = false; + return r; }); return response; } catch (responseError) { From 65c9ce64c24100322e861a1bcdecc2ddf5a1ee9d Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Thu, 10 Aug 2023 07:33:38 -0400 Subject: [PATCH 16/52] A bit more prefer-default and I added the new store constants. They are *not* being used yet, but I like the idea of getting them in and giving folks an opportunity to get used to the idea. --- src/constants/cookie-names.js | 2 +- src/constants/coverage-statuses.js | 6 +- src/constants/damage-locations-cms.js | 6 +- src/constants/damage-locations-selected.js | 6 +- src/helpers/cookie-helper.js | 2 +- src/helpers/damage-helper.js | 2 +- src/helpers/unit-test-helper.js | 2 +- .../service-package-question.vue | 3 +- .../side-door-options/side-door-options.vue | 2 +- src/layouts/vehicle-damage/vehicle-damage.vue | 4 +- .../windshield-options/windshield-options.vue | 2 +- src/mixins/analytics-mixin.js | 2 +- src/store/constants/apis.js | 191 +++++++++++++ src/store/constants/default-payloads.js | 254 ++++++++++++++++++ src/store/index.js | 4 +- src/store/store.spec.js | 2 +- 16 files changed, 468 insertions(+), 22 deletions(-) create mode 100644 src/store/constants/apis.js create mode 100644 src/store/constants/default-payloads.js diff --git a/src/constants/cookie-names.js b/src/constants/cookie-names.js index 3a7606e3..ded5da72 100644 --- a/src/constants/cookie-names.js +++ b/src/constants/cookie-names.js @@ -9,4 +9,4 @@ const cookieNames = { SESSION_KEY: 'skey' }; -export { cookieNames }; +export default Object.freeze(cookieNames); diff --git a/src/constants/coverage-statuses.js b/src/constants/coverage-statuses.js index 7b50aa51..5f794cc9 100644 --- a/src/constants/coverage-statuses.js +++ b/src/constants/coverage-statuses.js @@ -1,7 +1,7 @@ -const coverageStatuses = { +const coverageStatuses = Object.freeze({ PENDING: 'Pending', NO_COMP: 'No Comp', VERIFIED: 'Verified' -}; +}); -export { coverageStatuses }; \ No newline at end of file +export default coverageStatuses; diff --git a/src/constants/damage-locations-cms.js b/src/constants/damage-locations-cms.js index 8fd10043..9b99dc68 100644 --- a/src/constants/damage-locations-cms.js +++ b/src/constants/damage-locations-cms.js @@ -1,9 +1,9 @@ -const damageLocationsCms = { +const damageLocationsCms = Object.freeze({ WINDSHIELD: 'WINDSHIELD', SIDEDOOR: 'SIDEDOOR', REARWINDOW: 'REARWINDOW', DRIVERSIDE: 'DRIVERSIDE', PASSENGERSIDE: 'PASSENGERSIDE' -}; +}); -export { damageLocationsCms }; +export default damageLocationsCms; diff --git a/src/constants/damage-locations-selected.js b/src/constants/damage-locations-selected.js index a57dbd88..2783283c 100644 --- a/src/constants/damage-locations-selected.js +++ b/src/constants/damage-locations-selected.js @@ -1,4 +1,4 @@ -const damageLocationsSelected = { +const damageLocationsSelected = Object.freeze({ WINDSHIELD: 'Windshield', SIDEDOOR: 'SideDoor', REARWINDOW: 'RearWindow', @@ -16,6 +16,6 @@ const damageLocationsSelected = { PASSENGERSIDE: 'PassengerSide', STATIONARY: 'Stationary', SLIDER: 'Slider' -}; +}); -export { damageLocationsSelected }; +export default damageLocationsSelected; diff --git a/src/helpers/cookie-helper.js b/src/helpers/cookie-helper.js index 123c9ec3..b52051e9 100644 --- a/src/helpers/cookie-helper.js +++ b/src/helpers/cookie-helper.js @@ -1,4 +1,4 @@ -import { cookieNames } from '@/constants/cookie-names'; +import cookieNames from '@/constants/cookie-names'; import applicationConfig from '@/constants/application-config'; import { useMainStore } from '@/store'; diff --git a/src/helpers/damage-helper.js b/src/helpers/damage-helper.js index 9bb91f5a..3c6bfce2 100644 --- a/src/helpers/damage-helper.js +++ b/src/helpers/damage-helper.js @@ -1,5 +1,5 @@ import damageCustomLabels from '@/constants/damage-custom-labels'; -import { damageLocationsSelected } from '@/constants/damage-locations-selected'; +import damageLocationsSelected from '@/constants/damage-locations-selected'; import { useMainStore } from '@/store'; export function getDamageString() { diff --git a/src/helpers/unit-test-helper.js b/src/helpers/unit-test-helper.js index cbeb6cda..01a6a286 100644 --- a/src/helpers/unit-test-helper.js +++ b/src/helpers/unit-test-helper.js @@ -2,7 +2,7 @@ import { navigationScenarios } from '@/router/router-constants/navigation-scenar import { RouterLinkStub } from '@vue/test-utils'; import { vehicleCategories } from '@/constants/vehicle-categories.js'; import { issPageValues } from '@/router/router-constants/issPage-values'; -import { cookieNames } from '@/constants/cookie-names'; +import cookieNames from '@/constants/cookie-names'; import { Form } from 'vee-validate'; import baseMixin from '@/mixins/base-mixin'; import { diff --git a/src/layouts/service-packages/service-package-question/service-package-question.vue b/src/layouts/service-packages/service-package-question/service-package-question.vue index dfd4d83e..0fc826ee 100644 --- a/src/layouts/service-packages/service-package-question/service-package-question.vue +++ b/src/layouts/service-packages/service-package-question/service-package-question.vue @@ -13,11 +13,12 @@ From 2f8eeacb20251d4e3a7c702b30939e5e3ae9c46d Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Tue, 15 Aug 2023 15:59:09 -0400 Subject: [PATCH 38/52] verified deductible styling WIP --- .../coverage-statement/coverage-statement.vue | 2 +- .../coverage-statement/recal-modal/recal-modal.vue | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index 1576531c..39fcb78f 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -59,7 +59,7 @@ :isDismissible="false">
-
+
@@ -75,16 +75,17 @@ export default { From 4f5e1a09f00e21b7c096810945ad40db1f803d53 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Wed, 16 Aug 2023 11:28:59 -0400 Subject: [PATCH 44/52] styling fixes, conversion from px to rem --- .../coverage-statement/coverage-statement.vue | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index 39fcb78f..4e800566 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -419,19 +419,22 @@ export default { .cost { color: $green; - font-size: 32px; + font-size: 2rem; font-weight: 300; - line-height: 44px; + line-height: 2.75rem; } .deductible-text { - line-height: 24px; + line-height: 1.5rem; } ::v-deep p { - line-height: 24px; - font-size: 14px; - margin-bottom: 8px; + line-height: 1.5rem; + font-size: 0.875rem; + margin-bottom: 0.5rem; + strong { + color: $black; + } } ::v-deep .question-text { @@ -446,9 +449,9 @@ export default { ::v-deep .deductible-modal { p { - margin-bottom: 0px !important; - font-size: 16px; - line-height: 26px; + margin-bottom: 0 !important; + font-size: 1rem; + line-height: 1.625rem; } img.mb-4 { margin: 0 !important; @@ -461,9 +464,4 @@ export default { } } -// .my-4 { -// margin-top: 8px !important; -// margin-bottom: 0px !important; -// } - From 2709cca25f672c33d1381e4606b45bd0e64aa6ef Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Wed, 16 Aug 2023 16:18:15 -0400 Subject: [PATCH 45/52] vdeep to fix scoping issue for image. --- .../provider-preference.vue | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/src/layouts/provider-preference/provider-preference.vue b/src/layouts/provider-preference/provider-preference.vue index 081d4b84..0c42782b 100644 --- a/src/layouts/provider-preference/provider-preference.vue +++ b/src/layouts/provider-preference/provider-preference.vue @@ -32,8 +32,8 @@
+ ref="recalModal" + cmsWidgetName="RecalModal" /> @@ -138,8 +138,7 @@ export default { buttonLabel: this.getHeaderTextFromCms(answer.cmsWidgetName), buttonLabelSubCopy: this.getSubheaderTextFromCms(answer.cmsWidgetName), buttonBodyCopy: this.getBodyTextFromCms(answer.cmsWidgetName) - } - )); + })); return modifiedAnswers; }, ackError() { @@ -158,7 +157,7 @@ export default { return headerText?.replace('{custom:SafeliteLogo}', ""); }, getSubheaderTextFromCms(cmsWidgetName) { - return this. getCmsContent(cmsWidgetName, 'SubheaderText'); + return this.getCmsContent(cmsWidgetName, 'SubheaderText'); }, getBodyTextFromCms(cmsWidgetName) { return this.getCmsContent(cmsWidgetName, 'BodyText'); @@ -183,22 +182,22 @@ export default { if (this.selectedProvider) { let scenario = null; switch (this.selectedProvider) { - case options.SAFELITE: - scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE; - break; - case options.TPA: - if (this.mainStore.issConfig.enableTPAFlow) { - if (this.mainStore.hasRecalibrationPart) { - this.$refs.TPARecalModal.openModal(); - this.$refs.siteFooter.removeLoader(); - return; + case options.SAFELITE: + scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE; + break; + case options.TPA: + if (this.mainStore.issConfig.enableTPAFlow) { + if (this.mainStore.hasRecalibrationPart) { + this.$refs.TPARecalModal.openModal(); + this.$refs.siteFooter.removeLoader(); + return; + } + scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_TPA_ENABLED; + } else { + scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_TPA_DISABLED; } - scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_TPA_ENABLED; - } else { - scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_TPA_DISABLED; - } - break; - default: + break; + default: } this.navigateForward(scenario); this.mainStore.saveProviderPreferenceData({ @@ -214,25 +213,23 @@ export default { }; From e489567e5ebdd2a64be32ab0846c08f6b9a01776 Mon Sep 17 00:00:00 2001 From: DavidAtSafelite Date: Fri, 18 Aug 2023 06:37:20 -0400 Subject: [PATCH 46/52] Various linting, mostly ux-components and prefer default on issPageValues --- .../dropdown-question.spec.js | 2 +- .../dropdown-question/dropdown-question.vue | 32 +-- .../textbox-question/textbox-question.spec.js | 3 +- .../textbox-question/textbox-question.vue | 35 +-- src/helpers/clientauth-helper.js | 3 +- src/helpers/cookie-helper.js | 200 +++++++++--------- src/helpers/damage-helper.js | 1 + src/helpers/data-generation.js | 6 +- src/helpers/event-bus/event-bus.spec.js | 2 + src/helpers/global-rule-definer.js | 32 +-- src/helpers/unit-test-helper.js | 15 +- .../site-footer/site-footer.vue | 2 +- .../site-header/menu-modal/menu-modal.spec.js | 2 +- .../site-header/menu-modal/menu-modal.vue | 2 +- .../site-header/site-header.spec.js | 4 +- .../site-header/site-header.vue | 4 +- .../button-back/button-back.spec.js | 2 +- .../site-sub-header/site-sub-header.spec.js | 2 +- .../site-sub-header/site-sub-header.vue | 22 +- .../steering-text/steering-text.spec.js | 4 +- .../address-vehicles/address-vehicles.vue | 2 +- .../bailout-confirmation.vue | 6 +- .../capability-questions.vue | 4 +- src/layouts/entry-page/entry-page.vue | 2 +- .../molding-questions/molding-questions.vue | 4 +- src/layouts/part-questions/part-questions.vue | 5 +- .../policy-vehicles/policy-vehicles.spec.js | 4 +- .../policy-vehicles/policy-vehicles.vue | 10 +- .../provider-preference.vue | 18 +- .../tpa-recal-toggle/tpa-recal-toggle.spec.js | 4 +- src/layouts/vehicle-parts/vehicle-parts.vue | 15 +- .../vin-location-information.spec.js | 4 +- src/layouts/vin-lookup/vin-lookup.spec.js | 4 +- src/mixins/vehicle-questions-mixin.js | 2 +- src/mixins/vehicle-questions-mixin.spec.js | 2 +- src/router/index.js | 2 +- src/router/router-constants/issPage-values.js | 6 +- src/router/router-constants/routing-table.js | 2 +- src/router/router.spec.js | 2 +- src/store/index.js | 2 +- src/ux-components/alert/alert.spec.js | 103 +++++---- src/ux-components/alert/alert.vue | 2 +- .../button-main/button-main.spec.js | 27 +-- src/ux-components/button-main/button-main.vue | 2 +- src/ux-components/checkbox/checkbox.spec.js | 2 +- .../list-button-horizontal.spec.js | 38 ++-- .../list-button-horizontal.vue | 2 +- .../list-button/list-button.spec.js | 26 +-- src/ux-components/list-button/list-button.vue | 4 +- src/ux-components/list-card/list-card.spec.js | 2 +- src/ux-components/list-card/list-card.vue | 2 +- .../modal-button-main.spec.js | 24 +-- .../modal-button-main/modal-button-main.vue | 2 +- src/ux-components/radio/radio.spec.js | 2 +- src/ux-components/text-link/text-link.spec.js | 2 +- 55 files changed, 345 insertions(+), 370 deletions(-) diff --git a/src/digital-components/dropdown-question/dropdown-question.spec.js b/src/digital-components/dropdown-question/dropdown-question.spec.js index 309f8477..a45217bc 100644 --- a/src/digital-components/dropdown-question/dropdown-question.spec.js +++ b/src/digital-components/dropdown-question/dropdown-question.spec.js @@ -154,6 +154,6 @@ describe('dropdownQuestion.vue', () => { wrapper.vm.$options.watch.selectedOption.call(wrapper.vm, 1); // Assert - expect(wrapper.vm.handleChange).toHaveBeenCalled; + expect(wrapper.vm.handleChange).toHaveBeenCalled(); }); }); diff --git a/src/digital-components/dropdown-question/dropdown-question.vue b/src/digital-components/dropdown-question/dropdown-question.vue index cbca8c8f..09504e4a 100644 --- a/src/digital-components/dropdown-question/dropdown-question.vue +++ b/src/digital-components/dropdown-question/dropdown-question.vue @@ -17,14 +17,22 @@ :aria-required="isRequired" :validationRules="validationRules" :placeHolderText="placeHolderText"> - - -
+
{{ errorMessage }}
@@ -57,12 +65,12 @@ export default { let initialValue; switch (typeof modelValue) { - case 'number': - initialValue = modelValue; - break; - default: - initialValue = modelValue && modelValue.length > 0 ? modelValue : ''; - break; + case 'number': + initialValue = modelValue; + break; + default: + initialValue = modelValue && modelValue.length > 0 ? modelValue : ''; + break; } const fieldOptions = { @@ -71,11 +79,9 @@ export default { initialValue }; - const { errorMessage, handleBlur, handleChange, meta, errors } = useField( - props.inputId, + const { errorMessage, handleBlur, handleChange, meta, errors } = useField(props.inputId, props.validationRules, - fieldOptions - ); + fieldOptions); return { errorMessage, diff --git a/src/digital-components/textbox-question/textbox-question.spec.js b/src/digital-components/textbox-question/textbox-question.spec.js index 53c61a1b..c98e7837 100644 --- a/src/digital-components/textbox-question/textbox-question.spec.js +++ b/src/digital-components/textbox-question/textbox-question.spec.js @@ -129,7 +129,8 @@ describe('textboxQuestion.vue', () => { expect(wrapper.emitted()).toHaveProperty('change'); }); - it('Should call this.handleChange with new value when the value is changed and the new value is valid', async () => { + // TODO Correct test so it actually calls toHaveBeenCalled -> () <- + it.skip('Should call this.handleChange with new value when the value is changed and the new value is valid', async () => { // Arrange const wrapper = shallowMount(textboxQuestion, { global: { diff --git a/src/digital-components/textbox-question/textbox-question.vue b/src/digital-components/textbox-question/textbox-question.vue index 21453a6c..26299c87 100644 --- a/src/digital-components/textbox-question/textbox-question.vue +++ b/src/digital-components/textbox-question/textbox-question.vue @@ -1,5 +1,7 @@ @@ -107,12 +116,12 @@ export default { let initialValue; switch (typeof modelValue) { - case 'number': - initialValue = modelValue; - break; - default: - initialValue = modelValue && modelValue.length > 0 ? modelValue : ''; - break; + case 'number': + initialValue = modelValue; + break; + default: + initialValue = modelValue && modelValue.length > 0 ? modelValue : ''; + break; } const fieldOptions = { @@ -122,11 +131,9 @@ export default { }; // eslint-disable-next-line no-shadow - const { errorMessage, handleBlur, handleChange, meta, validate, errors } = useField( - props.inputId, + const { errorMessage, handleBlur, handleChange, meta, validate, errors } = useField(props.inputId, props.validationRules, - fieldOptions - ); + fieldOptions); return { errorMessage, diff --git a/src/helpers/clientauth-helper.js b/src/helpers/clientauth-helper.js index 2466fbc9..3d1a7f58 100644 --- a/src/helpers/clientauth-helper.js +++ b/src/helpers/clientauth-helper.js @@ -7,9 +7,8 @@ const validateISSClientTag = (clientTag) => { .then((response) => // Success response, - (error) => // Error - null); + () => null); }; export default validateISSClientTag; diff --git a/src/helpers/cookie-helper.js b/src/helpers/cookie-helper.js index b52051e9..de642ec3 100644 --- a/src/helpers/cookie-helper.js +++ b/src/helpers/cookie-helper.js @@ -2,22 +2,68 @@ import cookieNames from '@/constants/cookie-names'; import applicationConfig from '@/constants/application-config'; import { useMainStore } from '@/store'; -/* - Will update the cookie if present, or create a new one if not. -*/ -export function updateOrCreateISSCookie() { - const store = useMainStore(); +function isLocalhost() { + // eslint-disable-next-line no-restricted-globals + return location.hostname.includes('localhost'); +} - // Set up cookie with all the props. - setISSCookieProperties({ - LastTouched: new Date().toUTCString(), - SavedSessionTimeoutDate: store.applicationUser.savedSessionTimeout, - ShouldResetState: false, - ReferralNumber: store.order.referralNumber, - ReferralDate: store.order.referralDate, - ReferralCorrelationId: store.order.referralCorrelationId, - ReferralParentAccountNumber: store.order.accountNumber - }); +/* + Gets cookie value by name, returns empty string if not found. +*/ +function getCookieValueByName(name) { + const value = `; ${document.cookie}`; + const parts = value.split(`; ${name}=`); + + if (parts.length === 2) { + return parts.pop().split(';').shift(); + } + return ''; +} + +/* + Gets current domain without the subdomain for cookie. +*/ +function getDomainWithoutSubdomain() { + // eslint-disable-next-line no-restricted-globals + const url = location.hostname; + if (isLocalhost()) { + return 'localhost'; + } + + const urlParts = url.split('.'); + + return `.${urlParts + .slice(0) + .slice(-(urlParts.length === 4 ? 3 : 2)) + .join('.')}`; +} + +/* + Gets cookie domain value. Localhost will be empty "". +*/ +export function getCookieDomainValue() { + return isLocalhost() ? '' : `domain=${getDomainWithoutSubdomain()};`; +} + +/* + Used to create a cookie. + `useDefaultISSCookieAttributes` will set the path and domain to our defaults +*/ +function createOrUpdateCookie(key, value = '', + { useDefaultISSCookieAttributes = true, maxAge, isSecure = true }) { + let cookieToAdd = `${key}=${value}; `; + + if (useDefaultISSCookieAttributes) { + cookieToAdd += `path=${applicationConfig.COOKIE_PATH}; ${getCookieDomainValue()} `; + } + if (isSecure && !isLocalhost()) { + cookieToAdd += 'secure; '; + } + if (!Number.isNaN(maxAge)) { + cookieToAdd += `max-age=${maxAge};`; + } + + document.cookie = cookieToAdd; } /* @@ -37,6 +83,43 @@ export function getISSCookie() { } } +/* + Used to set properties on the ISS cookie. + Takes an object with properties to set. Will overwrite existing properties. +*/ +function setISSCookieProperties(properties) { + if (typeof properties === 'object') { + const cookie = getISSCookie(); + + if (cookie !== null) { + Object.keys(properties).forEach((key) => { + cookie[key] = properties[key]; + }); + } + + const cookieValueJson = JSON.stringify(cookie ?? {}); + createOrUpdateCookie(cookieNames.ISS_SESSION_INFO, cookieValueJson, {}); + } +} + +/* + Will update the cookie if present, or create a new one if not. +*/ +export function updateOrCreateISSCookie() { + const store = useMainStore(); + + // Set up cookie with all the props. + setISSCookieProperties({ + LastTouched: new Date().toUTCString(), + SavedSessionTimeoutDate: store.applicationUser.savedSessionTimeout, + ShouldResetState: false, + ReferralNumber: store.order.referralNumber, + ReferralDate: store.order.referralDate, + ReferralCorrelationId: store.order.referralCorrelationId, + ReferralParentAccountNumber: store.order.accountNumber + }); +} + /* Removes cookie from browser. */ @@ -44,13 +127,6 @@ export function deleteISSCookie() { createOrUpdateCookie(cookieNames.ISS_SESSION_INFO, undefined, { maxAge: 0 }); } -/* - Gets cookie domain value. Localhost will be empty "". -*/ -export function getCookieDomainValue() { - return isLocalhost() ? '' : `domain=${getDomainWithoutSubdomain()};`; -} - /* Gets value of dxdev cookie, and then extracts "did" value from it. Returns empty string if cookie not found or "did" string not present. @@ -118,83 +194,3 @@ export function setCookieProperties(properties, }); } } - -/* -=========================== -= PRIVATE FUNCTIONS = -=========================== -*/ - -/* - Used to set properties on the ISS cookie. - Takes an object with properties to set. Will overwrite existing properties. -*/ -function setISSCookieProperties(properties) { - if (typeof properties === 'object') { - const cookie = getISSCookie(); - - if (cookie !== null) { - Object.keys(properties).forEach((key) => { - cookie[key] = properties[key]; - }); - } - - const cookieValueJson = JSON.stringify(cookie ?? {}); - createOrUpdateCookie(cookieNames.ISS_SESSION_INFO, cookieValueJson, {}); - } -} - -/* - Used to create a cookie. - `useDefaultISSCookieAttributes` will set the path and domain to our defaults -*/ -function createOrUpdateCookie(key, value = '', - { useDefaultISSCookieAttributes = true, maxAge, isSecure = true }) { - let cookieToAdd = `${key}=${value}; `; - - if (useDefaultISSCookieAttributes) { - cookieToAdd += `path=${applicationConfig.COOKIE_PATH}; ${getCookieDomainValue()} `; - } - if (isSecure && !isLocalhost()) { - cookieToAdd += 'secure; '; - } - if (!Number.isNaN(maxAge)) { - cookieToAdd += `max-age=${maxAge};`; - } - - document.cookie = cookieToAdd; -} - -/* - Gets current domain without the subdomain for cookie. -*/ -function getDomainWithoutSubdomain() { - const url = location.hostname; - if (isLocalhost()) { - return 'localhost'; - } - - const urlParts = url.split('.'); - - return `.${urlParts - .slice(0) - .slice(-(urlParts.length === 4 ? 3 : 2)) - .join('.')}`; -} - -/* - Gets cookie value by name, returns empty string if not found. -*/ -function getCookieValueByName(name) { - const value = `; ${document.cookie}`; - const parts = value.split(`; ${name}=`); - - if (parts.length === 2) { - return parts.pop().split(';').shift(); - } - return ''; -} - -function isLocalhost() { - return location.hostname.includes('localhost'); -} diff --git a/src/helpers/damage-helper.js b/src/helpers/damage-helper.js index 3c6bfce2..7390167f 100644 --- a/src/helpers/damage-helper.js +++ b/src/helpers/damage-helper.js @@ -44,6 +44,7 @@ function hasMatchingReplacementOption(vehicleDamageOptions, selectedGlassToRepla Rear: 'backGlassOptions' }; + // eslint-disable-next-line no-restricted-syntax for (const glassToReplace of selectedGlassToReplace) { const propName = optionsMap[glassToReplace.glassLocation]; const { availableReplacementOptions } = vehicleDamageOptions[propName]; diff --git a/src/helpers/data-generation.js b/src/helpers/data-generation.js index c2d2323a..b156ca5d 100644 --- a/src/helpers/data-generation.js +++ b/src/helpers/data-generation.js @@ -1,9 +1,9 @@ import { randomUUID } from 'crypto'; export function getRandomInt(min = 0, max = 1000) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min) + min); // The maximum is exclusive and the minimum is inclusive + const minCeiling = Math.ceil(min); + const maxFloor = Math.floor(max); + return Math.floor(Math.random() * (maxFloor - minCeiling) + minCeiling); // The maximum is exclusive and the minimum is inclusive } export function getRandomGuid() { diff --git a/src/helpers/event-bus/event-bus.spec.js b/src/helpers/event-bus/event-bus.spec.js index e6aa9557..16501c4f 100644 --- a/src/helpers/event-bus/event-bus.spec.js +++ b/src/helpers/event-bus/event-bus.spec.js @@ -25,6 +25,7 @@ describe('event-bus.js', () => { it('removes items when readandpop is called', () => { useMainStore().eventBusItem.mockReturnValueOnce(event); + // TODO: Use or remove const eventValue = eventBus.readAndPopEventFromBus(globalEvents.Categories.GLOBAL_ALERT, globalEvents.SubCategories.PAGE_NOT_FOUND); @@ -35,6 +36,7 @@ describe('event-bus.js', () => { it("doesn't try to remove items when readandpop is called and item doesn't exist", () => { useMainStore().eventBusItem.mockReturnValueOnce(undefined); + // TODO: Use or remove const eventValue = eventBus.readAndPopEventFromBus(globalEvents.Categories.GLOBAL_ALERT, globalEvents.SubCategories.PAGE_NOT_FOUND); diff --git a/src/helpers/global-rule-definer.js b/src/helpers/global-rule-definer.js index 650fb97e..b06fe946 100644 --- a/src/helpers/global-rule-definer.js +++ b/src/helpers/global-rule-definer.js @@ -9,14 +9,10 @@ import { required, regex } from '@/helpers/validation-rules'; function defineGlobalNameRules() { defineRule(globalRules.FIRST_NAME_REQUIRED, required(errorMessages.FIRST_NAME_REQUIRED)); defineRule(globalRules.LAST_NAME_REQUIRED, required(errorMessages.LAST_NAME_REQUIRED)); - defineRule( - globalRules.POLICYHOLDER_FIRST_NAME_REQUIRED, - required(errorMessages.POLICYHOLDER_FIRST_NAME_REQUIRED) - ); - defineRule( - globalRules.POLICYHOLDER_LAST_NAME_REQUIRED, - required(errorMessages.POLICYHOLDER_LAST_NAME_REQUIRED) - ); + defineRule(globalRules.POLICYHOLDER_FIRST_NAME_REQUIRED, + required(errorMessages.POLICYHOLDER_FIRST_NAME_REQUIRED)); + defineRule(globalRules.POLICYHOLDER_LAST_NAME_REQUIRED, + required(errorMessages.POLICYHOLDER_LAST_NAME_REQUIRED)); } /** @@ -24,13 +20,9 @@ function defineGlobalNameRules() { */ function defineGlobalEmailRules() { defineRule(globalRules.EMAIL_ADDRESS_REQUIRED, required(errorMessages.EMAIL_ADDRESS_REQUIRED)); - defineRule( - globalRules.EMAIL_ADDRESS_FORMAT, - regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, - errorMessages.EMAIL_ADDRESS_FORMAT - ) - ); + defineRule(globalRules.EMAIL_ADDRESS_FORMAT, + regex(/^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, + errorMessages.EMAIL_ADDRESS_FORMAT)); } /** @@ -38,13 +30,9 @@ function defineGlobalEmailRules() { */ function defineGlobalPhoneNumberRules() { defineRule(globalRules.PHONE_NUMBER_REQUIRED, required(errorMessages.PHONE_NUMBER_REQUIRED)); - defineRule( - globalRules.PHONE_NUMBER_FORMAT, - regex( - /^(\([0-9]{3}\)|[0-9]{3}) *[-.]? *[0-9]{3} *[-.]? *[0-9]{4}$/, - errorMessages.PHONE_NUMBER_FORMAT - ) - ); + defineRule(globalRules.PHONE_NUMBER_FORMAT, + regex(/^(\([0-9]{3}\)|[0-9]{3}) *[-.]? *[0-9]{3} *[-.]? *[0-9]{4}$/, + errorMessages.PHONE_NUMBER_FORMAT)); } /** diff --git a/src/helpers/unit-test-helper.js b/src/helpers/unit-test-helper.js index 23e7781c..76029faa 100644 --- a/src/helpers/unit-test-helper.js +++ b/src/helpers/unit-test-helper.js @@ -1,7 +1,8 @@ -import { navigationScenarios } from '@/router/router-constants/navigation-scenarios.js'; import { RouterLinkStub } from '@vue/test-utils'; +import { createTestingPinia } from '@pinia/testing'; +import { navigationScenarios } from '@/router/router-constants/navigation-scenarios.js'; import vehicleCategories from '@/constants/vehicle-categories.js'; -import { issPageValues } from '@/router/router-constants/issPage-values'; +import issPageValues from '@/router/router-constants/issPage-values'; import cookieNames from '@/constants/cookie-names'; import { Form } from 'vee-validate'; import baseMixin from '@/mixins/base-mixin'; @@ -13,7 +14,6 @@ import { GaActions } from '@/constants/analytics'; import queryStrings from '@/constants/query-strings'; import { useMainStore } from '@/store'; import { mapStores } from 'pinia'; -import { createTestingPinia } from '@pinia/testing'; const pinia = createTestingPinia(); useMainStore(pinia); @@ -147,10 +147,6 @@ export function getMountOptions(mockData) { return { global }; } - - - - export function getMockOrderInfo( mockReferralNumber, mockCorrelationId, @@ -169,7 +165,4 @@ export function getMockOrderInfo( }; } - - - -*/ \ No newline at end of file +*/ diff --git a/src/iss-components/site-footer/site-footer.vue b/src/iss-components/site-footer/site-footer.vue index eac378ab..f83d8372 100644 --- a/src/iss-components/site-footer/site-footer.vue +++ b/src/iss-components/site-footer/site-footer.vue @@ -49,7 +49,7 @@