From 1ac3a4ff07aad87be5f988050303030000527bc4 Mon Sep 17 00:00:00 2001 From: Mike Rourke Date: Mon, 15 Jan 2024 14:00:07 -0800 Subject: [PATCH 1/6] chore: upgrade dependencies and fix breaking changes --- index.html | 2 +- package.json | 75 +- pnpm-lock.yaml | 3134 ++++++++--------- postcss.config.cjs | 2 +- prettier.config.cjs | 7 +- src/api/linkEntitiesByIdByMapping.ts | 2 +- src/redux/allEntities/allEntitiesSelectors.ts | 40 +- src/redux/app/appSelectors.ts | 7 +- src/redux/clients/clientsSelectors.ts | 13 +- src/redux/credentials/credentialsSelectors.ts | 28 +- src/redux/projects/projectsSelectors.ts | 14 +- src/redux/reduxTools.ts | 14 +- src/redux/tags/tagsSelectors.ts | 12 +- src/redux/tasks/tasksSelectors.ts | 12 +- .../sagas/togglTimeEntriesSagas.ts | 8 +- src/redux/timeEntries/timeEntriesSelectors.ts | 6 +- src/redux/users/usersSelectors.ts | 6 +- src/redux/workspaces/workspacesSelectors.ts | 28 +- .../enterApiKeysStep/EnterApiKeysStep.svelte | 1 + .../ConfirmToolActionDialog.svelte | 1 + .../PerformToolActionStep.svelte | 1 + .../PickToolActionStep.svelte | 1 + .../HelpForToolAction.svelte | 1 + .../TimeEntriesInclusionsTable.svelte | 4 +- .../TimeEntryComparisonDisclaimer.svelte | 1 + .../DuplicateTargetsDialog.svelte | 1 + .../NoWorkspacesDialog.svelte | 1 + .../SelectWorkspacesStep.svelte | 1 + vite.config.mjs | 5 - vitest.setup.ts | 2 +- 30 files changed, 1692 insertions(+), 1738 deletions(-) diff --git a/index.html b/index.html index ab973bc5..b7b45229 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + diff --git a/package.json b/package.json index ddad953e..74ef8fe5 100644 --- a/package.json +++ b/package.json @@ -17,57 +17,56 @@ "lint:eslint": "eslint --cache --ext .js,.mjs,.ts,.svelte scripts src", "lint:stylelint": "stylelint --cache src", "lint": "concurrently -n \"eslint,stylelint\" -c \"cyan,yellow\" \"pnpm lint:eslint\" \"pnpm lint:stylelint\"", - "prettier": "prettier --cache --write --ignore-unknown --no-error-on-unmatched-pattern src scripts public", + "prettier": "prettier --cache --write \"{src,scripts}/**/**.{css,html,json,cjs,js,mjs,ts,svelte}\" index.html", "start:server": "node scripts/run.mjs serve", "start:web": "vite --port 8080", "vitest": "vitest" }, "dependencies": { - "@reduxjs/toolkit": "^1.9.5", - "clsx": "^1.2.1", - "date-fns": "^2.30.0", - "ramda": "^0.29.0", - "redux-saga": "^1.2.3" + "@reduxjs/toolkit": "^2.0.1", + "clsx": "^2.1.0", + "date-fns": "^3.2.0", + "ramda": "^0.29.1", + "redux-saga": "^1.3.0" }, "devDependencies": { "@redux-saga/is": "^1.1.3", "@redux-saga/symbols": "^1.1.3", - "@ronilaukkarinen/stylelint-a11y": "^1.2.7", - "@sveltejs/vite-plugin-svelte": "^2.4.2", - "@testing-library/jest-dom": "^5.16.5", - "@types/ramda": "^0.29.3", - "@types/testing-library__jest-dom": "^5.14.6", - "@typescript-eslint/eslint-plugin": "^5.61.0", - "@typescript-eslint/parser": "^5.61.0", - "@vitest/coverage-istanbul": "^0.32.4", + "@ronilaukkarinen/stylelint-a11y": "^1.2.9", + "@sveltejs/vite-plugin-svelte": "^3.0.1", + "@types/ramda": "^0.29.9", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", + "@vitest/coverage-istanbul": "^1.2.0", "body-parser": "^1.20.2", - "concurrently": "^8.2.0", - "csstype": "^3.1.2", - "eslint": "^8.44.0", - "eslint-import-resolver-typescript": "^3.5.5", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-svelte": "^2.32.2", - "eslint-plugin-unicorn": "^47.0.0", + "concurrently": "^8.2.2", + "csstype": "^3.1.3", + "eslint": "^8.56.0", + "eslint-import-resolver-typescript": "^3.6.1", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-svelte": "^2.35.1", + "eslint-plugin-unicorn": "^50.0.1", "express": "^4.18.2", - "jsdom": "^22.1.0", - "listr2": "^6.6.0", + "jsdom": "^23.2.0", + "listr2": "^8.0.1", "morgan": "^1.10.0", - "postcss": "^8.4.24", - "postcss-html": "^1.5.0", - "postcss-nesting": "^12.0.0", - "prettier": "^2.8.8", - "prettier-plugin-svelte": "^2.10.1", + "postcss": "^8.4.33", + "postcss-html": "^1.6.0", + "postcss-nesting": "^12.0.2", + "prettier": "^3.2.2", + "prettier-plugin-svelte": "^3.1.2", "redux-saga-test-plan": "^4.0.6", - "rimraf": "^5.0.1", - "stylelint": "^15.10.0", - "stylelint-config-standard": "^34.0.0", - "svelte": "^4.0.4", - "svelte-check": "^3.4.4", - "svelte-preprocess": "^5.0.4", - "typescript": "^5.1.6", - "vite": "^4.3.9", - "vite-tsconfig-paths": "^4.2.0", - "vitest": "^0.32.4", + "rimraf": "^5.0.5", + "stylelint": "15.11.0", + "stylelint-config-standard": "34.0.0", + "svelte": "^4.2.8", + "svelte-check": "^3.6.3", + "svelte-preprocess": "^5.1.3", + "typescript": "^5.3.3", + "vite": "^5.0.11", + "vite-tsconfig-paths": "^4.2.3", + "vitest": "^1.2.0", + "vitest-dom": "^0.1.1", "yargs": "^17.7.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5113d7ee..03e59312 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,20 +6,20 @@ settings: dependencies: '@reduxjs/toolkit': - specifier: ^1.9.5 - version: 1.9.5 + specifier: ^2.0.1 + version: 2.0.1 clsx: - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^2.1.0 + version: 2.1.0 date-fns: - specifier: ^2.30.0 - version: 2.30.0 + specifier: ^3.2.0 + version: 3.2.0 ramda: - specifier: ^0.29.0 - version: 0.29.0 + specifier: ^0.29.1 + version: 0.29.1 redux-saga: - specifier: ^1.2.3 - version: 1.2.3 + specifier: ^1.3.0 + version: 1.3.0 devDependencies: '@redux-saga/is': @@ -29,113 +29,110 @@ devDependencies: specifier: ^1.1.3 version: 1.1.3 '@ronilaukkarinen/stylelint-a11y': - specifier: ^1.2.7 - version: 1.2.7(stylelint@15.10.0) + specifier: ^1.2.9 + version: 1.2.9(stylelint@15.11.0) '@sveltejs/vite-plugin-svelte': - specifier: ^2.4.2 - version: 2.4.2(svelte@4.0.4)(vite@4.3.9) - '@testing-library/jest-dom': - specifier: ^5.16.5 - version: 5.16.5 + specifier: ^3.0.1 + version: 3.0.1(svelte@4.2.8)(vite@5.0.11) '@types/ramda': - specifier: ^0.29.3 - version: 0.29.3 - '@types/testing-library__jest-dom': - specifier: ^5.14.6 - version: 5.14.6 + specifier: ^0.29.9 + version: 0.29.9 '@typescript-eslint/eslint-plugin': - specifier: ^5.61.0 - version: 5.61.0(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)(typescript@5.1.6) + specifier: ^6.19.0 + version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^5.61.0 - version: 5.61.0(eslint@8.44.0)(typescript@5.1.6) + specifier: ^6.19.0 + version: 6.19.0(eslint@8.56.0)(typescript@5.3.3) '@vitest/coverage-istanbul': - specifier: ^0.32.4 - version: 0.32.4(vitest@0.32.4) + specifier: ^1.2.0 + version: 1.2.0(vitest@1.2.0) body-parser: specifier: ^1.20.2 version: 1.20.2 concurrently: - specifier: ^8.2.0 - version: 8.2.0 + specifier: ^8.2.2 + version: 8.2.2 csstype: - specifier: ^3.1.2 - version: 3.1.2 + specifier: ^3.1.3 + version: 3.1.3 eslint: - specifier: ^8.44.0 - version: 8.44.0 + specifier: ^8.56.0 + version: 8.56.0 eslint-import-resolver-typescript: - specifier: ^3.5.5 - version: 3.5.5(@typescript-eslint/parser@5.61.0)(eslint-plugin-import@2.27.5)(eslint@8.44.0) + specifier: ^3.6.1 + version: 3.6.1(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-plugin-import: - specifier: ^2.27.5 - version: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + specifier: ^2.29.1 + version: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-svelte: - specifier: ^2.32.2 - version: 2.32.2(eslint@8.44.0)(svelte@4.0.4) + specifier: ^2.35.1 + version: 2.35.1(eslint@8.56.0)(svelte@4.2.8) eslint-plugin-unicorn: - specifier: ^47.0.0 - version: 47.0.0(eslint@8.44.0) + specifier: ^50.0.1 + version: 50.0.1(eslint@8.56.0) express: specifier: ^4.18.2 version: 4.18.2 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.2.0 + version: 23.2.0 listr2: - specifier: ^6.6.0 - version: 6.6.0 + specifier: ^8.0.1 + version: 8.0.1 morgan: specifier: ^1.10.0 version: 1.10.0 postcss: - specifier: ^8.4.24 - version: 8.4.24 + specifier: ^8.4.33 + version: 8.4.33 postcss-html: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.6.0 + version: 1.6.0 postcss-nesting: - specifier: ^12.0.0 - version: 12.0.0(postcss@8.4.24) + specifier: ^12.0.2 + version: 12.0.2(postcss@8.4.33) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.2.2 + version: 3.2.2 prettier-plugin-svelte: - specifier: ^2.10.1 - version: 2.10.1(prettier@2.8.8)(svelte@4.0.4) + specifier: ^3.1.2 + version: 3.1.2(prettier@3.2.2)(svelte@4.2.8) redux-saga-test-plan: specifier: ^4.0.6 - version: 4.0.6(@redux-saga/is@1.1.3)(@redux-saga/symbols@1.1.3)(redux-saga@1.2.3) + version: 4.0.6(@redux-saga/is@1.1.3)(@redux-saga/symbols@1.1.3)(redux-saga@1.3.0) rimraf: - specifier: ^5.0.1 - version: 5.0.1 + specifier: ^5.0.5 + version: 5.0.5 stylelint: - specifier: ^15.10.0 - version: 15.10.0 + specifier: 15.11.0 + version: 15.11.0(typescript@5.3.3) stylelint-config-standard: - specifier: ^34.0.0 - version: 34.0.0(stylelint@15.10.0) + specifier: 34.0.0 + version: 34.0.0(stylelint@15.11.0) svelte: - specifier: ^4.0.4 - version: 4.0.4 + specifier: ^4.2.8 + version: 4.2.8 svelte-check: - specifier: ^3.4.4 - version: 3.4.4(@babel/core@7.22.6)(postcss@8.4.24)(svelte@4.0.4) + specifier: ^3.6.3 + version: 3.6.3(@babel/core@7.23.7)(postcss@8.4.33)(svelte@4.2.8) svelte-preprocess: - specifier: ^5.0.4 - version: 5.0.4(@babel/core@7.22.6)(postcss@8.4.24)(svelte@4.0.4)(typescript@5.1.6) + specifier: ^5.1.3 + version: 5.1.3(@babel/core@7.23.7)(postcss@8.4.33)(svelte@4.2.8)(typescript@5.3.3) typescript: - specifier: ^5.1.6 - version: 5.1.6 + specifier: ^5.3.3 + version: 5.3.3 vite: - specifier: ^4.3.9 - version: 4.3.9(@types/node@20.3.3) + specifier: ^5.0.11 + version: 5.0.11 vite-tsconfig-paths: - specifier: ^4.2.0 - version: 4.2.0(typescript@5.1.6)(vite@4.3.9) + specifier: ^4.2.3 + version: 4.2.3(typescript@5.3.3)(vite@5.0.11) vitest: - specifier: ^0.32.4 - version: 0.32.4(jsdom@22.1.0) + specifier: ^1.2.0 + version: 1.2.0(jsdom@23.2.0) + vitest-dom: + specifier: ^0.1.1 + version: 0.1.1(vitest@1.2.0) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -147,255 +144,264 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@adobe/css-tools@4.2.0: - resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} - dev: true - /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.21 + dev: true + + /@asamuzakjp/dom-selector@2.0.2: + resolution: {integrity: sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ==} + dependencies: + bidi-js: 1.0.3 + css-tree: 2.3.1 + is-potential-custom-element-name: 1.0.1 dev: true - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.23.4 + chalk: 2.4.2 dev: true - /@babel/compat-data@7.22.6: - resolution: {integrity: sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.22.6: - resolution: {integrity: sha512-HPIyDa6n+HKw5dEuway3vVAhBboYCtREBMp+IWeseZy6TFtzn6MHkCH2KKYUOC/vKKwgSMHQW4htBOrmuRPXfw==} + /@babel/core@7.23.7: + resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-compilation-targets': 7.22.6(@babel/core@7.22.6) - '@babel/helper-module-transforms': 7.22.5 - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.6 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.6 - '@babel/types': 7.22.5 - '@nicolo-ribaudo/semver-v6': 6.3.3 - convert-source-map: 1.9.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/generator@7.22.5: - resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.21 jsesc: 2.5.2 dev: true - /@babel/helper-compilation-targets@7.22.6(@babel/core@7.22.6): - resolution: {integrity: sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==} + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.22.6 - '@babel/core': 7.22.6 - '@babel/helper-validator-option': 7.22.5 - '@nicolo-ribaudo/semver-v6': 6.3.3 - browserslist: 4.21.9 + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 lru-cache: 5.1.1 + semver: 6.3.1 dev: true - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: true - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: true - /@babel/helper-module-transforms@7.22.5: - resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.6 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-validator-identifier': 7.22.20 dev: true /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: true - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + /@babel/helpers@7.23.8: + resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.6 - '@babel/types': 7.22.5 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 dev: true - /@babel/parser@7.22.6: - resolution: {integrity: sha512-EIQu22vNkceq3LbjAq7knDf/UmtI2qbcNI8GRBlijez6TpQLvSodJPYfydQmNA5buwkxxxa/PVI44jjYZ+/cLw==} + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.6 dev: true - /@babel/runtime@7.22.6: - resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + /@babel/runtime@7.23.8: + resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.1 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.6 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 dev: true - /@babel/traverse@7.22.6: - resolution: {integrity: sha512-53CijMvKlLIDlOTrdWiHileRddlIiwUIyCKqYa7lYnnPldXCG5dUSN38uT0cA6i7rHWNKJLH0VU/Kxdr1GzB3w==} + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.6 - '@babel/types': 7.22.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: true - /@csstools/css-parser-algorithms@2.3.0(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==} + /@csstools/css-parser-algorithms@2.5.0(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.1.1 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-tokenizer': 2.1.1 + '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-tokenizer@2.1.1: - resolution: {integrity: sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==} + /@csstools/css-tokenizer@2.2.3: + resolution: {integrity: sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==} engines: {node: ^14 || ^16 || >=18} dev: true - /@csstools/media-query-list-parser@2.1.2(@csstools/css-parser-algorithms@2.3.0)(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==} + /@csstools/media-query-list-parser@2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-lHPKJDkPUECsyAvD60joYfDmp8UERYxHGkFfyLJFTVK/ERJe0sVlIFLXU5XFxdjNDTerp5L4KeaKG+Z5S94qxQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.0 - '@csstools/css-tokenizer': ^2.1.1 + '@csstools/css-parser-algorithms': ^2.5.0 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-parser-algorithms': 2.3.0(@csstools/css-tokenizer@2.1.1) - '@csstools/css-tokenizer': 2.1.1 + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13): - resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==} + /@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.15): + resolution: {integrity: sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.13 dependencies: - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 + dev: true + + /@esbuild/aix-ppc64@0.19.11: + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true dev: true + optional: true - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + /@esbuild/android-arm64@0.19.11: + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -403,8 +409,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + /@esbuild/android-arm@0.19.11: + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -412,8 +418,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + /@esbuild/android-x64@0.19.11: + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -421,8 +427,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + /@esbuild/darwin-arm64@0.19.11: + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -430,8 +436,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + /@esbuild/darwin-x64@0.19.11: + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -439,8 +445,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + /@esbuild/freebsd-arm64@0.19.11: + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -448,8 +454,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + /@esbuild/freebsd-x64@0.19.11: + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -457,8 +463,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + /@esbuild/linux-arm64@0.19.11: + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -466,8 +472,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + /@esbuild/linux-arm@0.19.11: + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -475,8 +481,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + /@esbuild/linux-ia32@0.19.11: + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -484,8 +490,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + /@esbuild/linux-loong64@0.19.11: + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -493,8 +499,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + /@esbuild/linux-mips64el@0.19.11: + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -502,8 +508,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + /@esbuild/linux-ppc64@0.19.11: + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -511,8 +517,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + /@esbuild/linux-riscv64@0.19.11: + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -520,8 +526,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + /@esbuild/linux-s390x@0.19.11: + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -529,8 +535,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + /@esbuild/linux-x64@0.19.11: + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -538,8 +544,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + /@esbuild/netbsd-x64@0.19.11: + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -547,8 +553,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + /@esbuild/openbsd-x64@0.19.11: + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -556,8 +562,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + /@esbuild/sunos-x64@0.19.11: + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -565,8 +571,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + /@esbuild/win32-arm64@0.19.11: + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -574,8 +580,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + /@esbuild/win32-ia32@0.19.11: + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -583,8 +589,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + /@esbuild/win32-x64@0.19.11: + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -592,30 +598,30 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.44.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.44.0 - eslint-visitor-keys: 3.4.1 + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.0: - resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.0 - globals: 13.20.0 - ignore: 5.2.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -624,16 +630,16 @@ packages: - supports-color dev: true - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -645,8 +651,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@isaacs/cliui@8.0.2: @@ -666,43 +672,24 @@ packages: engines: {node: '>=8'} dev: true - /@jest/expect-utils@29.6.0: - resolution: {integrity: sha512-LLSQQN7oypMSETKoPWpsWYVKJd9LQWmSDDAc4hUQ4JocVC7LAMy9R3ZMhlnLwbcFvQORZnZR7HM893Px6cJhvA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true - /@jest/types@29.6.0: - resolution: {integrity: sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.3.3 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.21 dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} dev: true @@ -711,24 +698,15 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.21: + resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@nicolo-ribaudo/semver-v6@6.3.3: - resolution: {integrity: sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==} - hasBin: true + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@nodelib/fs.scandir@2.1.5: @@ -749,7 +727,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.16.0 dev: true /@pkgjs/parseargs@0.11.0: @@ -759,28 +737,15 @@ packages: dev: true optional: true - /@pkgr/utils@2.4.1: - resolution: {integrity: sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + /@redux-saga/core@1.3.0: + resolution: {integrity: sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==} dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.3.0 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.6.0 - dev: true - - /@redux-saga/core@1.2.3: - resolution: {integrity: sha512-U1JO6ncFBAklFTwoQ3mjAeQZ6QGutsJzwNBjgVLSWDpZTRhobUzuVDS1qH3SKGJD8fvqoaYOjp6XJ3gCmeZWgA==} - dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.23.8 '@redux-saga/deferred': 1.2.1 '@redux-saga/delay-p': 1.2.1 '@redux-saga/is': 1.1.3 '@redux-saga/symbols': 1.1.3 '@redux-saga/types': 1.2.1 - redux: 4.2.1 typescript-tuple: 2.2.1 /@redux-saga/deferred@1.2.1: @@ -803,369 +768,402 @@ packages: /@redux-saga/types@1.2.1: resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==} - /@reduxjs/toolkit@1.9.5: - resolution: {integrity: sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==} + /@reduxjs/toolkit@2.0.1: + resolution: {integrity: sha512-fxIjrR9934cmS8YXIGd9e7s1XRsEU++aFc9DVNMFMRTM5Vtsg2DCRMj21eslGtDt43IUf9bJL3h5bwUlZleibA==} peerDependencies: react: ^16.9.0 || ^17.0.0 || ^18 - react-redux: ^7.2.1 || ^8.0.2 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 peerDependenciesMeta: react: optional: true react-redux: optional: true dependencies: - immer: 9.0.21 - redux: 4.2.1 - redux-thunk: 2.4.2(redux@4.2.1) - reselect: 4.1.8 + immer: 10.0.3 + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.1.0 dev: false - /@ronilaukkarinen/stylelint-a11y@1.2.7(stylelint@15.10.0): - resolution: {integrity: sha512-ba+60zLjtwqJ0630HJlpqODQ4OzXYTE2NVkmG1fIART1ja52JzwDGDODPBmoYz8pBNfPLE/VsEOvw/mAD/CcyQ==} - engines: {node: '>=8.7.0'} - peerDependencies: - stylelint: 10 - 15 - dependencies: - stylelint: 15.10.0 + /@rollup/rollup-android-arm-eabi@4.9.5: + resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==} + cpu: [arm] + os: [android] + requiresBuild: true dev: true + optional: true - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + /@rollup/rollup-android-arm64@4.9.5: + resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==} + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.0.4)(vite@4.3.9): - resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} - engines: {node: ^14.18.0 || >= 16} - peerDependencies: - '@sveltejs/vite-plugin-svelte': ^2.2.0 - svelte: ^3.54.0 || ^4.0.0 - vite: ^4.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@4.0.4)(vite@4.3.9) - debug: 4.3.4 - svelte: 4.0.4 - vite: 4.3.9(@types/node@20.3.3) - transitivePeerDependencies: - - supports-color + /@rollup/rollup-darwin-arm64@4.9.5: + resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@sveltejs/vite-plugin-svelte@2.4.2(svelte@4.0.4)(vite@4.3.9): - resolution: {integrity: sha512-ePfcC48ftMKhkT0OFGdOyycYKnnkT6i/buzey+vHRTR/JpQvuPzzhf1PtKqCDQfJRgoPSN2vscXs6gLigx/zGw==} - engines: {node: ^14.18.0 || >= 16} - peerDependencies: - svelte: ^3.54.0 || ^4.0.0 - vite: ^4.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.0.4)(vite@4.3.9) - debug: 4.3.4 - deepmerge: 4.3.1 - kleur: 4.1.5 - magic-string: 0.30.1 - svelte: 4.0.4 - svelte-hmr: 0.15.2(svelte@4.0.4) - vite: 4.3.9(@types/node@20.3.3) - vitefu: 0.2.4(vite@4.3.9) - transitivePeerDependencies: - - supports-color + /@rollup/rollup-darwin-x64@4.9.5: + resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==} + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@testing-library/jest-dom@5.16.5: - resolution: {integrity: sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==} - engines: {node: '>=8', npm: '>=6', yarn: '>=1'} - dependencies: - '@adobe/css-tools': 4.2.0 - '@babel/runtime': 7.22.6 - '@types/testing-library__jest-dom': 5.14.6 - aria-query: 5.3.0 - chalk: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.5.16 - lodash: 4.17.21 - redent: 3.0.0 + /@rollup/rollup-linux-arm-gnueabihf@4.9.5: + resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==} + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} + /@rollup/rollup-linux-arm64-gnu@4.9.5: + resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/chai-subset@1.3.3: - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} - dependencies: - '@types/chai': 4.3.5 + /@rollup/rollup-linux-arm64-musl@4.9.5: + resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/chai@4.3.5: - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} + /@rollup/rollup-linux-riscv64-gnu@4.9.5: + resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + /@rollup/rollup-linux-x64-gnu@4.9.5: + resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@rollup/rollup-linux-x64-musl@4.9.5: + resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + /@rollup/rollup-win32-arm64-msvc@4.9.5: + resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 + /@rollup/rollup-win32-ia32-msvc@4.9.5: + resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true - /@types/jest@29.5.2: - resolution: {integrity: sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==} - dependencies: - expect: 29.6.0 - pretty-format: 29.6.0 + /@rollup/rollup-win32-x64-msvc@4.9.5: + resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@ronilaukkarinen/stylelint-a11y@1.2.9(stylelint@15.11.0): + resolution: {integrity: sha512-8w0mWEO6B16J4PSc9lMkNUsVsD+lbmgsQiYOY0Xq/FTUzHF0/DM4eR/PLXBFgcz9hENTnLzGBM7zEVOsC1vCIg==} + engines: {node: '>=8.7.0'} + peerDependencies: + stylelint: 10 - 15 + dependencies: + stylelint: 15.11.0(typescript@5.3.3) dev: true - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11): + resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==} + engines: {node: ^18.0.0 || >=20} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^3.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.11) + debug: 4.3.4 + svelte: 4.2.8 + vite: 5.0.11 + transitivePeerDependencies: + - supports-color dev: true - /@types/node@20.3.3: - resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} + /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.8)(vite@5.0.11): + resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} + engines: {node: ^18.0.0 || >=20} + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11) + debug: 4.3.4 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.5 + svelte: 4.2.8 + svelte-hmr: 0.15.3(svelte@4.2.8) + vite: 5.0.11 + vitefu: 0.2.5(vite@5.0.11) + transitivePeerDependencies: + - supports-color dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@types/pug@2.0.6: - resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true - /@types/ramda@0.29.3: - resolution: {integrity: sha512-Yh/RHkjN0ru6LVhSQtTkCRo6HXkfL9trot/2elzM/yXLJmbLm2v6kJc8yftTnwv1zvUob6TEtqI2cYjdqG3U0Q==} - dependencies: - types-ramda: 0.29.4 + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true - /@types/testing-library__jest-dom@5.14.6: - resolution: {integrity: sha512-FkHXCb+ikSoUP4Y4rOslzTdX5sqYwMxfefKh1GmZ8ce1GOkEHntSp6b5cGadmNfp5e4BMEWOMx+WSKd5/MqlDA==} - dependencies: - '@types/jest': 29.5.2 + /@types/pug@2.0.10: + resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} dev: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/ramda@0.29.9: + resolution: {integrity: sha512-X3yEG6tQCWBcUAql+RPC/O1Hm9BSU+MXu2wJnCETuAgUlrEDwTA1kIOdEEE4YXDtf0zfQLHa9CCE7WYp9kqPIQ==} + dependencies: + types-ramda: 0.29.6 dev: true - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true - /@typescript-eslint/eslint-plugin@5.61.0(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-A5l/eUAug103qtkwccSCxn8ZRwT+7RXWkFECdA4Cvl1dOlDUgTpAOfSEElZn2uSUxhdDpnCdetrf0jvU4qrL+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/type-utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0 + '@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0 debug: 4.3.4 - eslint: 8.44.0 + eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.5.3 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.61.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.19.0 + '@typescript-eslint/types': 6.19.0 + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0 debug: 4.3.4 - eslint: 8.44.0 - typescript: 5.1.6 + eslint: 8.56.0 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.61.0: - resolution: {integrity: sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@6.19.0: + resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/visitor-keys': 5.61.0 + '@typescript-eslint/types': 6.19.0 + '@typescript-eslint/visitor-keys': 6.19.0 dev: true - /@typescript-eslint/type-utils@5.61.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-kk8u//r+oVK2Aj3ph/26XdH0pbAkC2RiSjUYhKD+PExemG4XSjpGFeyZ/QM8lBOa7O8aGOU+/yEbMJgQv/DnCg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@6.19.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) - '@typescript-eslint/utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.44.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + eslint: 8.56.0 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.61.0: - resolution: {integrity: sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@6.19.0: + resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.61.0(typescript@5.1.6): - resolution: {integrity: sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3): + resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/visitor-keys': 5.61.0 + '@typescript-eslint/types': 6.19.0 + '@typescript-eslint/visitor-keys': 6.19.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.3 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.61.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-mV6O+6VgQmVE6+xzlA91xifndPW9ElFW8vbSF0xCT/czPXVhwDewKila1jOyRwa9AE19zKnrr7Cg5S3pJVrTWQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) - eslint: 8.44.0 - eslint-scope: 5.1.1 - semver: 7.5.3 + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.19.0 + '@typescript-eslint/types': 6.19.0 + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + eslint: 8.56.0 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.61.0: - resolution: {integrity: sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@6.19.0: + resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.61.0 - eslint-visitor-keys: 3.4.1 + '@typescript-eslint/types': 6.19.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitest/coverage-istanbul@0.32.4(vitest@0.32.4): - resolution: {integrity: sha512-nnOPaDXygSUsOQNxDp9KbyAg1TNTgP+VYuhtY7vV+XY1vcrUoYIEqRpTxa0d/kVnkBmFi6mE12k5jfwrOkY/pg==} + /@vitest/coverage-istanbul@1.2.0(vitest@1.2.0): + resolution: {integrity: sha512-hNN/pUR5la6P/L78+YcRl05Lpf6APXlH9ujkmCxxjVWtVG6WuKuqUMhHgYQBYfiOORBwDZ1MBgSUGCMPh4kpmQ==} peerDependencies: - vitest: '>=0.32.0 <1' + vitest: ^1.0.0 dependencies: - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.1 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 + istanbul-reports: 3.1.6 + magicast: 0.3.3 + picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 0.32.4(jsdom@22.1.0) + vitest: 1.2.0(jsdom@23.2.0) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@0.32.4: - resolution: {integrity: sha512-m7EPUqmGIwIeoU763N+ivkFjTzbaBn0n9evsTOcde03ugy2avPs3kZbYmw3DkcH1j5mxhMhdamJkLQ6dM1bk/A==} + /@vitest/expect@1.2.0: + resolution: {integrity: sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw==} dependencies: - '@vitest/spy': 0.32.4 - '@vitest/utils': 0.32.4 - chai: 4.3.7 + '@vitest/spy': 1.2.0 + '@vitest/utils': 1.2.0 + chai: 4.4.1 dev: true - /@vitest/runner@0.32.4: - resolution: {integrity: sha512-cHOVCkiRazobgdKLnczmz2oaKK9GJOw6ZyRcaPdssO1ej+wzHVIkWiCiNacb3TTYPdzMddYkCgMjZ4r8C0JFCw==} + /@vitest/runner@1.2.0: + resolution: {integrity: sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA==} dependencies: - '@vitest/utils': 0.32.4 - p-limit: 4.0.0 - pathe: 1.1.1 + '@vitest/utils': 1.2.0 + p-limit: 5.0.0 + pathe: 1.1.2 dev: true - /@vitest/snapshot@0.32.4: - resolution: {integrity: sha512-IRpyqn9t14uqsFlVI2d7DFMImGMs1Q9218of40bdQQgMePwVdmix33yMNnebXcTzDU5eiV3eUsoxxH5v0x/IQA==} + /@vitest/snapshot@1.2.0: + resolution: {integrity: sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw==} dependencies: - magic-string: 0.30.1 - pathe: 1.1.1 - pretty-format: 29.6.0 + magic-string: 0.30.5 + pathe: 1.1.2 + pretty-format: 29.7.0 dev: true - /@vitest/spy@0.32.4: - resolution: {integrity: sha512-oA7rCOqVOOpE6rEoXuCOADX7Lla1LIa4hljI2MSccbpec54q+oifhziZIJXxlE/CvI2E+ElhBHzVu0VEvJGQKQ==} + /@vitest/spy@1.2.0: + resolution: {integrity: sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q==} dependencies: - tinyspy: 2.1.1 + tinyspy: 2.2.0 dev: true - /@vitest/utils@0.32.4: - resolution: {integrity: sha512-Gwnl8dhd1uJ+HXrYyV0eRqfmk9ek1ASE/LWfTCuWMw+d07ogHqp4hEAV28NiecimK6UY9DpSEPh+pXBA5gtTBg==} + /@vitest/utils@1.2.0: + resolution: {integrity: sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g==} dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.0 - dev: true - - /abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 dev: true /accepts@1.3.8: @@ -1176,28 +1174,28 @@ packages: negotiator: 0.6.3 dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} dependencies: debug: 4.3.4 transitivePeerDependencies: @@ -1222,11 +1220,11 @@ packages: uri-js: 4.4.1 dev: true - /ansi-escapes@5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} + /ansi-escapes@6.2.0: + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: - type-fest: 1.4.0 + type-fest: 3.13.1 dev: true /ansi-regex@5.0.1: @@ -1284,7 +1282,7 @@ packages: /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 is-array-buffer: 3.0.2 dev: true @@ -1292,14 +1290,14 @@ packages: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 is-string: 1.0.7 dev: true @@ -1308,24 +1306,48 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 dev: true - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 dev: true /arrify@1.0.1: @@ -1372,9 +1394,10 @@ packages: safe-buffer: 5.1.2 dev: true - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} + /bidi-js@1.0.3: + resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} + dependencies: + require-from-string: 2.0.2 dev: true /binary-extensions@2.2.0: @@ -1422,13 +1445,6 @@ packages: - supports-color dev: true - /bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: true - /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -1449,15 +1465,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist@4.21.9: - resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001512 - electron-to-chromium: 1.4.450 - node-releases: 2.0.12 - update-browserslist-db: 1.0.11(browserslist@4.21.9) + caniuse-lite: 1.0.30001576 + electron-to-chromium: 1.4.630 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true /buffer-crc32@0.2.13: @@ -1469,13 +1485,6 @@ packages: engines: {node: '>=6'} dev: true - /bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: true - /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -1486,11 +1495,12 @@ packages: engines: {node: '>=8'} dev: true - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.2.0 dev: true /callsites@3.1.0: @@ -1498,33 +1508,34 @@ packages: engines: {node: '>=6'} dev: true - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + /camelcase-keys@7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} dependencies: - camelcase: 5.3.1 + camelcase: 6.3.0 map-obj: 4.3.0 - quick-lru: 4.0.1 + quick-lru: 5.1.1 + type-fest: 1.4.0 dev: true - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001512: - resolution: {integrity: sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==} + /caniuse-lite@1.0.30001576: + resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==} dev: true - /chai@4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 - check-error: 1.0.2 + check-error: 1.0.3 deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 + get-func-name: 2.0.2 + loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -1538,14 +1549,6 @@ packages: supports-color: 5.5.0 dev: true - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1554,8 +1557,15 @@ packages: supports-color: 7.2.0 dev: true - /check-error@1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 dev: true /chokidar@3.5.3: @@ -1570,11 +1580,11 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} dev: true @@ -1592,12 +1602,12 @@ packages: restore-cursor: 4.0.0 dev: true - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 - string-width: 5.1.2 + string-width: 7.0.0 dev: true /cliui@8.0.1: @@ -1609,17 +1619,17 @@ packages: wrap-ansi: 7.0.0 dev: true - /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + /clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} dev: false - /code-red@1.0.3: - resolution: {integrity: sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==} + /code-red@1.0.4: + resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - '@types/estree': 1.0.1 - acorn: 8.10.0 + '@types/estree': 1.0.5 + acorn: 8.11.3 estree-walker: 3.0.3 periscopic: 3.1.0 dev: true @@ -1664,8 +1674,8 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /concurrently@8.2.0: - resolution: {integrity: sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA==} + /concurrently@8.2.2: + resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} engines: {node: ^14.13.0 || >=16.0.0} hasBin: true dependencies: @@ -1692,8 +1702,8 @@ packages: engines: {node: '>= 0.6'} dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true /cookie-signature@1.0.6: @@ -1705,14 +1715,26 @@ packages: engines: {node: '>= 0.6'} dev: true - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + /core-js-compat@3.35.0: + resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} + dependencies: + browserslist: 4.22.2 + dev: true + + /cosmiconfig@8.3.6(typescript@5.3.3): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + typescript: 5.3.3 dev: true /cross-spawn@7.0.3: @@ -1724,9 +1746,9 @@ packages: which: 2.0.2 dev: true - /css-functions-list@3.1.0: - resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==} - engines: {node: '>=12.22'} + /css-functions-list@3.2.1: + resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==} + engines: {node: '>=12 || >=16'} dev: true /css-tree@2.3.1: @@ -1747,31 +1769,35 @@ packages: hasBin: true dev: true - /cssstyle@3.0.0: - resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} - engines: {node: '>=14'} + /cssstyle@4.0.1: + resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + engines: {node: '>=18'} dependencies: rrweb-cssom: 0.6.0 dev: true - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /data-urls@4.0.0: - resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} - engines: {node: '>=14'} + /data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 dev: true /date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.23.8 + dev: true + + /date-fns@3.2.0: + resolution: {integrity: sha512-E4KWKavANzeuusPi0jUjpuI22SURAznGkx7eZV+4i6x2A+IZxAMcajgkvuDAU1bg40+xuhW1zRdVIIM/4khuIg==} + dev: false /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} @@ -1820,6 +1846,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /decamelize@5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + dev: true + /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true @@ -1840,34 +1871,21 @@ packages: engines: {node: '>=0.10.0'} dev: true - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: true - - /default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.1.1 - titleize: 3.0.0 - dev: true - - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 dev: true - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - has-property-descriptors: 1.0.0 + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 object-keys: 1.1.1 dev: true @@ -1896,8 +1914,8 @@ packages: engines: {node: '>=8'} dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -1922,8 +1940,8 @@ packages: esutils: 2.0.3 dev: true - /dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + /dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} dev: true /dom-serializer@2.0.0: @@ -1938,13 +1956,6 @@ packages: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true - /domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - dependencies: - webidl-conversions: 7.0.0 - dev: true - /domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} @@ -1968,8 +1979,12 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.450: - resolution: {integrity: sha512-BLG5HxSELlrMx7dJ2s+8SFlsCtJp37Zpk2VAxyC6CZtbc+9AJeZHfYHbrlSgdXp6saQ8StMqOTEDaBKgA7u1sw==} + /electron-to-chromium@1.4.630: + resolution: {integrity: sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==} + dev: true + + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true /emoji-regex@8.0.0: @@ -2004,59 +2019,64 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.21.2: - resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + hasown: 2.0.0 + internal-slot: 1.0.6 is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.2 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + which-typed-array: 1.1.13 dev: true - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 + get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 + hasown: 2.0.0 dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - has: 1.0.3 + hasown: 2.0.0 dev: true /es-to-primitive@1.2.1: @@ -2072,34 +2092,35 @@ packages: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + /esbuild@0.19.11: + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} engines: {node: '>=12'} hasBin: true requiresBuild: true 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/aix-ppc64': 0.19.11 + '@esbuild/android-arm': 0.19.11 + '@esbuild/android-arm64': 0.19.11 + '@esbuild/android-x64': 0.19.11 + '@esbuild/darwin-arm64': 0.19.11 + '@esbuild/darwin-x64': 0.19.11 + '@esbuild/freebsd-arm64': 0.19.11 + '@esbuild/freebsd-x64': 0.19.11 + '@esbuild/linux-arm': 0.19.11 + '@esbuild/linux-arm64': 0.19.11 + '@esbuild/linux-ia32': 0.19.11 + '@esbuild/linux-loong64': 0.19.11 + '@esbuild/linux-mips64el': 0.19.11 + '@esbuild/linux-ppc64': 0.19.11 + '@esbuild/linux-riscv64': 0.19.11 + '@esbuild/linux-s390x': 0.19.11 + '@esbuild/linux-x64': 0.19.11 + '@esbuild/netbsd-x64': 0.19.11 + '@esbuild/openbsd-x64': 0.19.11 + '@esbuild/sunos-x64': 0.19.11 + '@esbuild/win32-arm64': 0.19.11 + '@esbuild/win32-ia32': 0.19.11 + '@esbuild/win32-x64': 0.19.11 dev: true /escalade@3.1.1: @@ -2116,28 +2137,32 @@ packages: engines: {node: '>=0.8.0'} dev: true - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} dev: true - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + /eslint-compat-utils@0.1.2(eslint@8.56.0): + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.56.0 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.12.1 - resolve: 1.22.2 + is-core-module: 2.13.1 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.61.0)(eslint-plugin-import@2.27.5)(eslint@8.44.0): - resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -2145,14 +2170,13 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.44.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) - get-tsconfig: 4.6.2 - globby: 13.2.1 - is-core-module: 2.12.1 + eslint: 8.56.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.2 + is-core-module: 2.13.1 is-glob: 4.0.3 - synckit: 0.8.5 transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node @@ -2160,7 +2184,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2181,17 +2205,17 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7 - eslint: 8.44.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.61.0)(eslint-plugin-import@2.27.5)(eslint@8.44.0) + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2200,31 +2224,33 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 + '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.44.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) - has: 1.0.3 - is-core-module: 2.12.1 + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.0 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.2 - semver: 6.3.0 - tsconfig-paths: 3.14.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-svelte@2.32.2(eslint@8.44.0)(svelte@4.0.4): - resolution: {integrity: sha512-Jgbop2fNZsoxxkklZAIbDNhwAPynvnCtUXLsEC6O2qax7N/pfe2cNqT0ZoBbubXKJitQQDEyVDQ1rZs4ZWcrTA==} + /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.8): + resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 @@ -2233,101 +2259,96 @@ packages: svelte: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@jridgewell/sourcemap-codec': 1.4.15 debug: 4.3.4 - eslint: 8.44.0 + eslint: 8.56.0 + eslint-compat-utils: 0.1.2(eslint@8.56.0) esutils: 2.0.3 - known-css-properties: 0.27.0 - postcss: 8.4.24 - postcss-load-config: 3.1.4(postcss@8.4.24) - postcss-safe-parser: 6.0.0(postcss@8.4.24) - postcss-selector-parser: 6.0.13 - semver: 7.5.3 - svelte: 4.0.4 - svelte-eslint-parser: 0.32.0(svelte@4.0.4) + known-css-properties: 0.29.0 + postcss: 8.4.33 + postcss-load-config: 3.1.4(postcss@8.4.33) + postcss-safe-parser: 6.0.0(postcss@8.4.33) + postcss-selector-parser: 6.0.15 + semver: 7.5.4 + svelte: 4.2.8 + svelte-eslint-parser: 0.33.1(svelte@4.2.8) transitivePeerDependencies: - supports-color - ts-node dev: true - /eslint-plugin-unicorn@47.0.0(eslint@8.44.0): - resolution: {integrity: sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==} + /eslint-plugin-unicorn@50.0.1(eslint@8.56.0): + resolution: {integrity: sha512-KxenCZxqSYW0GWHH18okDlOQcpezcitm5aOSz6EnobyJ6BIByiPDviQRjJIUAjG/tMN11958MxaQ+qCoU6lfDA==} engines: {node: '>=16'} peerDependencies: - eslint: '>=8.38.0' + eslint: '>=8.56.0' dependencies: - '@babel/helper-validator-identifier': 7.22.5 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) - ci-info: 3.8.0 + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint/eslintrc': 2.1.4 + ci-info: 4.0.0 clean-regexp: 1.0.0 - eslint: 8.44.0 + core-js-compat: 3.35.0 + eslint: 8.56.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 - lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - safe-regex: 2.1.1 - semver: 7.5.3 + semver: 7.5.4 strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.44.0: - resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.1.0 - '@eslint/js': 8.44.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 - import-fresh: 3.3.0 + ignore: 5.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2339,19 +2360,18 @@ packages: natural-compare: 1.4.0 optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree@9.6.0: - resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.1 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 dev: true /esquery@1.5.0: @@ -2368,11 +2388,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2381,7 +2396,7 @@ packages: /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.5 dev: true /esutils@2.0.3: @@ -2398,48 +2413,21 @@ packages: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} dev: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /execa@7.1.1: - resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 + get-stream: 8.0.1 + human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.2.0 onetime: 6.0.0 - signal-exit: 3.0.7 + signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: true - /expect@29.6.0: - resolution: {integrity: sha512-AV+HaBtnDJ2YEUhPPo25HyUHBLaetM+y/Dq6pEC8VPQyt1dK+k8MfGkMy46djy2bddcqESc1kl4/K1uLWSfk9g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.0 - '@types/node': 20.3.3 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.0 - jest-message-util: 29.6.0 - jest-util: 29.6.0 - dev: true - /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -2483,8 +2471,8 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-glob@3.3.0: - resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2507,8 +2495,8 @@ packages: engines: {node: '>= 4.9.1'} dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} dependencies: reusify: 1.0.4 dev: true @@ -2517,7 +2505,14 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.2.0 + dev: true + + /file-entry-cache@7.0.2: + resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} + engines: {node: '>=12.0.0'} + dependencies: + flat-cache: 3.2.0 dev: true /fill-range@7.0.1: @@ -2558,16 +2553,17 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /for-each@0.3.3: @@ -2581,7 +2577,7 @@ packages: engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.2 + signal-exit: 4.1.0 dev: true /form-data@4.0.0: @@ -2607,8 +2603,8 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -2619,17 +2615,17 @@ packages: resolution: {integrity: sha512-hg47CNYdIGJ5m9WSKh617LHRdvJo4PiF0VkncFLwPVxKvBEQfSPd1qx/xLV/eSusewEu0C8eUFrsLsWlBgIcOg==} dev: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 functions-have-names: 1.2.3 dev: true @@ -2647,34 +2643,39 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: - function-bind: 1.1.1 - has: 1.0.3 + function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 + hasown: 2.0.0 dev: true - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 dev: true - /get-tsconfig@4.6.2: - resolution: {integrity: sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==} + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 dev: true @@ -2693,16 +2694,16 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.3.1: - resolution: {integrity: sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==} + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.2.1 - minimatch: 9.0.2 - minipass: 6.0.2 - path-scurry: 1.10.0 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 dev: true /glob@7.2.3: @@ -2737,8 +2738,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -2748,7 +2749,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 dev: true /globby@11.1.0: @@ -2757,23 +2758,12 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.0 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 dev: true - /globby@13.2.1: - resolution: {integrity: sha512-DPCBxctI7dN4EeIqjW2KGqgdcUMbrhJ9AzON+PlxCtvppWhubTLD4+a0GFxiym14ZvacUydTPjLPc2DlKz7EIg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.0 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 - dev: true - /globjoin@0.1.4: resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} dev: true @@ -2785,7 +2775,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 dev: true /graceful-fs@4.2.11: @@ -2815,10 +2805,10 @@ packages: engines: {node: '>=8'} dev: true - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 dev: true /has-proto@1.0.1: @@ -2838,11 +2828,11 @@ packages: has-symbols: 1.0.3 dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 dev: true /hosted-git-info@2.8.9: @@ -2856,11 +2846,11 @@ packages: lru-cache: 6.0.0 dev: true - /html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} + /html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} dependencies: - whatwg-encoding: 2.0.0 + whatwg-encoding: 3.1.1 dev: true /html-escaper@2.0.2: @@ -2892,35 +2882,29 @@ packages: toidentifier: 1.0.1 dev: true - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + /http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 + agent-base: 7.1.0 debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + /https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} dependencies: - agent-base: 6.0.2 + agent-base: 7.1.0 debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /iconv-lite@0.4.24: @@ -2937,13 +2921,13 @@ packages: safer-buffer: 2.1.2 dev: true - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} dev: true - /immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + /immer@10.0.3: + resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} dev: false /import-fresh@3.3.0: @@ -2969,6 +2953,11 @@ packages: engines: {node: '>=8'} dev: true + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -2984,12 +2973,12 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 + get-intrinsic: 1.2.2 + hasown: 2.0.0 side-channel: 1.0.4 dev: true @@ -3001,9 +2990,9 @@ packages: /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.10 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 dev: true /is-arrayish@0.2.1: @@ -3027,7 +3016,7 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 dev: true @@ -3043,10 +3032,10 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - has: 1.0.3 + hasown: 2.0.0 dev: true /is-date-object@1.0.5: @@ -3056,18 +3045,6 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3083,6 +3060,13 @@ packages: engines: {node: '>=12'} dev: true + /is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + dependencies: + get-east-asian-width: 1.2.0 + dev: true + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3090,14 +3074,6 @@ packages: is-extglob: 2.1.1 dev: true - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: true - /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -3134,29 +3110,24 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-reference@3.0.1: - resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==} + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.5 dev: true /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 dev: true /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.2 - dev: true - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + call-bind: 1.0.5 dev: true /is-stream@3.0.0: @@ -3178,58 +3149,51 @@ packages: has-symbols: 1.0.3 dev: true - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + which-typed-array: 1.1.13 dev: true /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 dev: true - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} dev: true - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + /istanbul-lib-instrument@6.0.1: + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.6 - '@babel/parser': 7.22.6 + '@babel/core': 7.23.7 + '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + istanbul-lib-coverage: 3.2.2 + semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 supports-color: 7.2.0 dev: true @@ -3238,22 +3202,22 @@ packages: engines: {node: '>=10'} dependencies: debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + /istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 dev: true - /jackspeak@2.2.1: - resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -3261,64 +3225,12 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jest-diff@29.6.0: - resolution: {integrity: sha512-ZRm7cd2m9YyZ0N3iMyuo1iUiprxQ/MFpYWXzEEj7hjzL3WnDffKW8192XBDcrAI8j7hnrM1wed3bL/oEnYF/8w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.0 - dev: true - - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-matcher-utils@29.6.0: - resolution: {integrity: sha512-oSlqfGN+sbkB2Q5um/zL7z80w84FEAcLKzXBZIPyRk2F2Srg1ubhrHVKW68JCvb2+xKzAeGw35b+6gciS24PHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.6.0 - jest-get-type: 29.4.3 - pretty-format: 29.6.0 - dev: true - - /jest-message-util@29.6.0: - resolution: {integrity: sha512-mkCp56cETbpoNtsaeWVy6SKzk228mMi9FPHSObaRIhbR2Ujw9PqjW/yqVHD2tN1bHbC8ol6h3UEo7dOPmIYwIA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.6.0 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.0 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - - /jest-util@29.6.0: - resolution: {integrity: sha512-S0USx9YwcvEm4pQ5suisVm/RVxBmi0GFR7ocJhIeaCuW5AXnAnffXbaVKvIFodyZNOc9ygzVtTxmBf40HsHXaA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.0 - '@types/node': 20.3.3 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-tokens@8.0.1: - resolution: {integrity: sha512-3AGrZT6tuMm1ZWWn9mLXh7XMfi2YtiLNPALCVxBCiUVq0LD1OQMxV/AdS/s7rLJU5o9i/jBZw/N4vXXL5dm29A==} + /js-tokens@8.0.2: + resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} dev: true /js-yaml@4.1.0: @@ -3328,38 +3240,36 @@ packages: argparse: 2.0.1 dev: true - /jsdom@22.1.0: - resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} - engines: {node: '>=16'} + /jsdom@23.2.0: + resolution: {integrity: sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==} + engines: {node: '>=18'} peerDependencies: - canvas: ^2.5.0 + canvas: ^2.11.2 peerDependenciesMeta: canvas: optional: true dependencies: - abab: 2.0.6 - cssstyle: 3.0.0 - data-urls: 4.0.0 + '@asamuzakjp/dom-selector': 2.0.2 + cssstyle: 4.0.1 + data-urls: 5.0.0 decimal.js: 10.4.3 - domexception: 4.0.0 form-data: 4.0.0 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.6 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 4.1.3 - w3c-xmlserializer: 4.0.0 + w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 - ws: 8.13.0 - xml-name-validator: 4.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + ws: 8.16.0 + xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color @@ -3383,6 +3293,10 @@ packages: hasBin: true dev: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -3416,6 +3330,12 @@ packages: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -3426,8 +3346,8 @@ packages: engines: {node: '>=6'} dev: true - /known-css-properties@0.27.0: - resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} + /known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} dev: true /levn@0.4.1: @@ -3447,26 +3367,24 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /listr2@6.6.0: - resolution: {integrity: sha512-qkLg7IeYcZGkxo5sZzl676xHwQzNZ8qAQLQSDMA88sLM1SDcabwyXD1mXHi/PGQHyt/mu81adJdkqsCSUSuQzQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + /listr2@8.0.1: + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + engines: {node: '>=18.0.0'} dependencies: - cli-truncate: 3.1.0 + cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 5.0.1 + log-update: 6.0.0 rfdc: 1.3.0 - wrap-ansi: 8.1.0 + wrap-ansi: 9.0.0 dev: true - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + dependencies: + mlly: 1.5.0 + pkg-types: 1.0.3 dev: true /locate-character@3.0.0: @@ -3487,6 +3405,10 @@ packages: p-locate: 5.0.0 dev: true + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} dev: true @@ -3507,25 +3429,25 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true - /log-update@5.0.1: - resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: - ansi-escapes: 5.0.0 + ansi-escapes: 6.2.0 cli-cursor: 4.0.0 - slice-ansi: 5.0.0 + slice-ansi: 7.1.0 strip-ansi: 7.1.0 - wrap-ansi: 8.1.0 + wrap-ansi: 9.0.0 dev: true - /loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: - get-func-name: 2.0.0 + get-func-name: 2.0.2 dev: true - /lru-cache@10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache@10.1.0: + resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} dev: true @@ -3542,25 +3464,26 @@ packages: yallist: 4.0.0 dev: true - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.1: - resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} - engines: {node: '>=12'} + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + source-map-js: 1.0.2 dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: - semver: 6.3.0 + semver: 7.5.4 dev: true /map-obj@1.0.1: @@ -3586,21 +3509,21 @@ packages: engines: {node: '>= 0.6'} dev: true - /meow@9.0.0: - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} - engines: {node: '>=10'} + /meow@10.1.5: + resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize: 1.2.0 + '@types/minimist': 1.2.5 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 minimist-options: 4.1.0 normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 1.4.0 yargs-parser: 20.2.9 dev: true @@ -3669,8 +3592,8 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch@9.0.2: - resolution: {integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==} + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -3689,8 +3612,8 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /minipass@6.0.2: - resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} dev: true @@ -3701,13 +3624,13 @@ packages: minimist: 1.2.8 dev: true - /mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} + /mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} dependencies: - acorn: 8.10.0 - pathe: 1.1.1 + acorn: 8.11.3 + pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.1.2 + ufo: 1.3.2 dev: true /morgan@1.10.0: @@ -3740,16 +3663,12 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -3759,16 +3678,16 @@ packages: engines: {node: '>= 0.6'} dev: true - /node-releases@2.0.12: - resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.1 + resolve: 1.22.8 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -3777,8 +3696,8 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.12.1 - semver: 7.5.3 + is-core-module: 2.13.1 + semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -3787,26 +3706,15 @@ packages: engines: {node: '>=0.10.0'} dev: true - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: true - /nwsapi@2.2.6: - resolution: {integrity: sha512-vSZ4miHQ4FojLjmz2+ux4B0/XA16jfwt/LBzIUftDpRd8tujHFkXjMyLwjS08fIZCzesj2z7gJukOKJwqebJAQ==} - dev: true - - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true /object-keys@1.1.1: @@ -3814,23 +3722,41 @@ packages: engines: {node: '>= 0.4'} dev: true - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true /on-finished@2.3.0: @@ -3872,16 +3798,6 @@ packages: mimic-fn: 4.0.0 dev: true - /open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - dev: true - /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -3908,9 +3824,9 @@ packages: yocto-queue: 0.1.0 dev: true - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true @@ -3945,7 +3861,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -3986,12 +3902,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.10.0: - resolution: {integrity: sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==} + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 - minipass: 6.0.2 + lru-cache: 10.1.0 + minipass: 7.0.4 dev: true /path-to-regexp@0.1.7: @@ -4003,8 +3919,8 @@ packages: engines: {node: '>=8'} dev: true - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true /pathval@1.1.1: @@ -4014,9 +3930,9 @@ packages: /periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.5 estree-walker: 3.0.3 - is-reference: 3.0.1 + is-reference: 3.0.2 dev: true /picocolors@1.0.0: @@ -4032,8 +3948,8 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.0 - pathe: 1.1.1 + mlly: 1.5.0 + pathe: 1.1.2 dev: true /pluralize@8.0.0: @@ -4041,17 +3957,17 @@ packages: engines: {node: '>=4'} dev: true - /postcss-html@1.5.0: - resolution: {integrity: sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==} + /postcss-html@1.6.0: + resolution: {integrity: sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w==} engines: {node: ^12 || >=14} dependencies: htmlparser2: 8.0.2 - js-tokens: 8.0.1 - postcss: 8.4.24 - postcss-safe-parser: 6.0.0(postcss@8.4.24) + js-tokens: 8.0.2 + postcss: 8.4.33 + postcss-safe-parser: 6.0.0(postcss@8.4.33) dev: true - /postcss-load-config@3.1.4(postcss@8.4.24): + /postcss-load-config@3.1.4(postcss@8.4.33): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -4064,45 +3980,45 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.24 + postcss: 8.4.33 yaml: 1.10.2 dev: true - /postcss-nesting@12.0.0(postcss@8.4.24): - resolution: {integrity: sha512-knqwW65kxssmyIFadRSimaiRyLVRd0MdwfabesKw6XvGLwSOCJ+4zfvNQQCOOYij5obwpZzDpODuGRv2PCyiUw==} + /postcss-nesting@12.0.2(postcss@8.4.33): + resolution: {integrity: sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) - postcss: 8.4.24 - postcss-selector-parser: 6.0.13 + '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true /postcss-resolve-nested-selector@0.1.1: resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.24): + /postcss-safe-parser@6.0.0(postcss@8.4.33): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.24 + postcss: 8.4.33 dev: true - /postcss-scss@4.0.6(postcss@8.4.24): - resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} + /postcss-scss@4.0.9(postcss@8.4.33): + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} engines: {node: '>=12.0'} peerDependencies: - postcss: ^8.4.19 + postcss: ^8.4.29 dependencies: - postcss: 8.4.24 + postcss: 8.4.33 dev: true - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -4113,11 +4029,11 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true @@ -4127,27 +4043,27 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.0.4): - resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} + /prettier-plugin-svelte@3.1.2(prettier@3.2.2)(svelte@4.2.8): + resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==} peerDependencies: - prettier: ^1.16.4 || ^2.0.0 - svelte: ^3.2.0 || ^4.0.0-next.0 + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 dependencies: - prettier: 2.8.8 - svelte: 4.0.4 + prettier: 3.2.2 + svelte: 4.2.8 dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + /prettier@3.2.2: + resolution: {integrity: sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==} + engines: {node: '>=14'} hasBin: true dev: true - /pretty-format@29.6.0: - resolution: {integrity: sha512-XH+D4n7Ey0iSR6PdAnBs99cWMZdGsdKrR33iUHQNr79w1szKTCIZDVdXuccAsHVwDBp0XeWPfNEoaxP9EZgRmQ==} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -4164,8 +4080,8 @@ packages: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true @@ -4184,13 +4100,13 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} dev: true - /ramda@0.29.0: - resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} + /ramda@0.29.1: + resolution: {integrity: sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==} dev: false /range-parser@1.2.1: @@ -4231,16 +4147,35 @@ packages: type-fest: 0.8.1 dev: true + /read-pkg-up@8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} + dependencies: + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 + dev: true + /read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 dev: true + /read-pkg@6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 1.4.0 + dev: true + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -4248,15 +4183,15 @@ packages: picomatch: 2.3.1 dev: true - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + /redent@4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 + indent-string: 5.0.0 + strip-indent: 4.0.0 dev: true - /redux-saga-test-plan@4.0.6(@redux-saga/is@1.1.3)(@redux-saga/symbols@1.1.3)(redux-saga@1.2.3): + /redux-saga-test-plan@4.0.6(@redux-saga/is@1.1.3)(@redux-saga/symbols@1.1.3)(redux-saga@1.3.0): resolution: {integrity: sha512-ESdbFoDWCeJ/EiFdUNSCGtA2CC9tnuvHDm6k06gVFa98EIeR2hpzFkGk9kJ1/hpMUnYFp+OOEEITIrZeDYBfFg==} peerDependencies: '@redux-saga/is': ^1.0.1 @@ -4268,42 +4203,41 @@ packages: fsm-iterator: 1.1.0 lodash.isequal: 4.5.0 lodash.ismatch: 4.4.0 - redux-saga: 1.2.3 + redux-saga: 1.3.0 dev: true - /redux-saga@1.2.3: - resolution: {integrity: sha512-HDe0wTR5nhd8Xr5xjGzoyTbdAw6rjy1GDplFt3JKtKN8/MnkQSRqK/n6aQQhpw5NI4ekDVOaW+w4sdxPBaCoTQ==} + /redux-saga@1.3.0: + resolution: {integrity: sha512-J9RvCeAZXSTAibFY0kGw6Iy4EdyDNW7k6Q+liwX+bsck7QVsU78zz8vpBRweEfANxnnlG/xGGeOvf6r8UXzNJQ==} dependencies: - '@redux-saga/core': 1.2.3 + '@redux-saga/core': 1.3.0 - /redux-thunk@2.4.2(redux@4.2.1): - resolution: {integrity: sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==} + /redux-thunk@3.1.0(redux@5.0.1): + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} peerDependencies: - redux: ^4 + redux: ^5.0.0 dependencies: - redux: 4.2.1 + redux: 5.0.1 dev: false - /redux@4.2.1: - resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} - dependencies: - '@babel/runtime': 7.22.6 + /redux@5.0.1: + resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} + dev: false - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true dev: true - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 dev: true /regjsparser@0.10.0: @@ -4327,8 +4261,8 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true - /reselect@4.1.8: - resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} + /reselect@5.1.0: + resolution: {integrity: sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==} dev: false /resolve-from@4.0.0: @@ -4345,11 +4279,11 @@ packages: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -4385,33 +4319,41 @@ packages: glob: 7.2.3 dev: true - /rimraf@5.0.1: - resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==} + /rimraf@5.0.5: + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} engines: {node: '>=14'} hasBin: true dependencies: - glob: 10.3.1 + glob: 10.3.10 dev: true - /rollup@3.26.1: - resolution: {integrity: sha512-I5gJCSpSMr3U9wv4D5YA8g7w7cj3eaSDeo7t+JcaFQOmoOUBgu4K9iMp8k3EZnwbJrjQxUMSKxMyB8qEQzzaSg==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + /rollup@4.9.5: + resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + dependencies: + '@types/estree': 1.0.5 optionalDependencies: - fsevents: 2.3.2 + '@rollup/rollup-android-arm-eabi': 4.9.5 + '@rollup/rollup-android-arm64': 4.9.5 + '@rollup/rollup-darwin-arm64': 4.9.5 + '@rollup/rollup-darwin-x64': 4.9.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.5 + '@rollup/rollup-linux-arm64-gnu': 4.9.5 + '@rollup/rollup-linux-arm64-musl': 4.9.5 + '@rollup/rollup-linux-riscv64-gnu': 4.9.5 + '@rollup/rollup-linux-x64-gnu': 4.9.5 + '@rollup/rollup-linux-x64-musl': 4.9.5 + '@rollup/rollup-win32-arm64-msvc': 4.9.5 + '@rollup/rollup-win32-ia32-msvc': 4.9.5 + '@rollup/rollup-win32-x64-msvc': 4.9.5 + fsevents: 2.3.3 dev: true /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: true - /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -4421,7 +4363,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.6.0 + tslib: 2.6.2 dev: true /sade@1.8.1: @@ -4431,6 +4373,16 @@ packages: mri: 1.2.0 dev: true + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -4439,20 +4391,15 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.2: + resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-regex: 1.1.4 dev: true - /safe-regex@2.1.1: - resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} - dependencies: - regexp-tree: 0.1.27 - dev: true - /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true @@ -4473,18 +4420,18 @@ packages: xmlchars: 2.2.0 dev: true - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true - /semver@7.5.3: - resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -4524,6 +4471,26 @@ packages: - supports-color dev: true + /set-function-length@1.2.0: + resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true @@ -4547,9 +4514,9 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 dev: true /siginfo@2.0.0: @@ -4560,8 +4527,8 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} dev: true @@ -4570,11 +4537,6 @@ packages: engines: {node: '>=8'} dev: true - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true - /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -4592,6 +4554,14 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true + /slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + dev: true + /sorcery@0.11.0: resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} hasBin: true @@ -4620,7 +4590,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true /spdx-exceptions@2.3.0: @@ -4631,18 +4601,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - dev: true - - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true /stackback@0.0.2: @@ -4654,8 +4617,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true /string-width@4.2.3: @@ -4676,29 +4639,38 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + /string-width@7.0.0: + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true /strip-ansi@6.0.1: @@ -4720,11 +4692,6 @@ packages: engines: {node: '>=4'} dev: true - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -4737,76 +4704,83 @@ packages: min-indent: 1.0.1 dev: true + /strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + dependencies: + min-indent: 1.0.1 + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} dev: true - /strip-literal@1.0.1: - resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.10.0 + acorn: 8.11.3 dev: true /style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} dev: true - /stylelint-config-recommended@13.0.0(stylelint@15.10.0): + /stylelint-config-recommended@13.0.0(stylelint@15.11.0): resolution: {integrity: sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==} engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: stylelint: ^15.10.0 dependencies: - stylelint: 15.10.0 + stylelint: 15.11.0(typescript@5.3.3) dev: true - /stylelint-config-standard@34.0.0(stylelint@15.10.0): + /stylelint-config-standard@34.0.0(stylelint@15.11.0): resolution: {integrity: sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==} engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: stylelint: ^15.10.0 dependencies: - stylelint: 15.10.0 - stylelint-config-recommended: 13.0.0(stylelint@15.10.0) + stylelint: 15.11.0(typescript@5.3.3) + stylelint-config-recommended: 13.0.0(stylelint@15.11.0) dev: true - /stylelint@15.10.0: - resolution: {integrity: sha512-uDCwoZA+C2Ee29wEFi8irICpH+wie1Ku/57QrWKqtKh+ZE1LuVDkUQUg9Zp3WlWMu8IABXxFaFj3/szy+SRc0Q==} + /stylelint@15.11.0(typescript@5.3.3): + resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: - '@csstools/css-parser-algorithms': 2.3.0(@csstools/css-tokenizer@2.1.1) - '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.1.2(@csstools/css-parser-algorithms@2.3.0)(@csstools/css-tokenizer@2.1.1) - '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + '@csstools/media-query-list-parser': 2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 8.2.0 - css-functions-list: 3.1.0 + cosmiconfig: 8.3.6(typescript@5.3.3) + css-functions-list: 3.2.1 css-tree: 2.3.1 debug: 4.3.4 - fast-glob: 3.3.0 + fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 - file-entry-cache: 6.0.1 + file-entry-cache: 7.0.2 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 html-tags: 3.3.1 - ignore: 5.2.4 + ignore: 5.3.0 import-lazy: 4.0.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.27.0 + known-css-properties: 0.29.0 mathml-tag-names: 2.1.3 - meow: 9.0.0 + meow: 10.1.5 micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.24 + postcss: 8.4.33 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 6.0.0(postcss@8.4.24) - postcss-selector-parser: 6.0.13 + postcss-safe-parser: 6.0.0(postcss@8.4.33) + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 string-width: 4.2.3 @@ -4818,6 +4792,7 @@ packages: write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color + - typescript dev: true /supports-color@5.5.0: @@ -4854,21 +4829,21 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check@3.4.4(@babel/core@7.22.6)(postcss@8.4.24)(svelte@4.0.4): - resolution: {integrity: sha512-Uys9+R65cj8TmP8f5UpS7B2xKpNLYNxEWJsA5ZoKcWq/uwvABFF7xS6iPQGLoa7hxz0DS6xU60YFpmq06E4JxA==} + /svelte-check@3.6.3(@babel/core@7.23.7)(postcss@8.4.33)(svelte@4.2.8): + resolution: {integrity: sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==} hasBin: true peerDependencies: - svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 + svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.21 chokidar: 3.5.3 - fast-glob: 3.3.0 + fast-glob: 3.3.2 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 4.0.4 - svelte-preprocess: 5.0.4(@babel/core@7.22.6)(postcss@8.4.24)(svelte@4.0.4)(typescript@5.1.6) - typescript: 5.1.6 + svelte: 4.2.8 + svelte-preprocess: 5.1.3(@babel/core@7.23.7)(postcss@8.4.33)(svelte@4.2.8)(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -4881,8 +4856,8 @@ packages: - sugarss dev: true - /svelte-eslint-parser@0.32.0(svelte@4.0.4): - resolution: {integrity: sha512-Q8Nh3GHHoWZMv3Ej4zw+3+gyWPR8I5pPTJXEOvW+JOgwhGXqGKh7mOKNlVcEPtk+PCGiK9TPaRtvRkKoJR327A==} + /svelte-eslint-parser@0.33.1(svelte@4.2.8): + resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 @@ -4890,38 +4865,38 @@ packages: svelte: optional: true dependencies: - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 - postcss: 8.4.24 - postcss-scss: 4.0.6(postcss@8.4.24) - svelte: 4.0.4 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + postcss: 8.4.33 + postcss-scss: 4.0.9(postcss@8.4.33) + svelte: 4.2.8 dev: true - /svelte-hmr@0.15.2(svelte@4.0.4): - resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} + /svelte-hmr@0.15.3(svelte@4.2.8): + resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: - svelte: ^3.19.0 || ^4.0.0-next.0 + svelte: ^3.19.0 || ^4.0.0 dependencies: - svelte: 4.0.4 + svelte: 4.2.8 dev: true - /svelte-preprocess@5.0.4(@babel/core@7.22.6)(postcss@8.4.24)(svelte@4.0.4)(typescript@5.1.6): - resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} - engines: {node: '>= 14.10.0'} + /svelte-preprocess@5.1.3(@babel/core@7.23.7)(postcss@8.4.33)(svelte@4.2.8)(typescript@5.3.3): + resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==} + engines: {node: '>= 16.0.0', pnpm: ^8.0.0} requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 coffeescript: ^2.5.1 less: ^3.11.3 || ^4.0.0 postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 pug: ^3.0.0 sass: ^1.26.8 stylus: ^0.55.0 sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 + svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' peerDependenciesMeta: '@babel/core': @@ -4945,33 +4920,33 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.22.6 - '@types/pug': 2.0.6 + '@babel/core': 7.23.7 + '@types/pug': 2.0.10 detect-indent: 6.1.0 - magic-string: 0.27.0 - postcss: 8.4.24 + magic-string: 0.30.5 + postcss: 8.4.33 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 4.0.4 - typescript: 5.1.6 + svelte: 4.2.8 + typescript: 5.3.3 dev: true - /svelte@4.0.4: - resolution: {integrity: sha512-DDJavyX1mpNFLZ7jU9FwBKouemh6CJHZXwePBa5GXSaW5GuHZ361L2/1uznBqOCxu2UsUoWu8wRsB2iB8QG5sQ==} + /svelte@4.2.8: + resolution: {integrity: sha512-hU6dh1MPl8gh6klQZwK/n73GiAHiR95IkFsesLPbMeEZi36ydaXL/ZAb4g9sayT0MXzpxyZjR28yderJHxcmYA==} engines: {node: '>=16'} dependencies: '@ampproject/remapping': 2.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - acorn: 8.10.0 + '@jridgewell/trace-mapping': 0.3.21 + acorn: 8.11.3 aria-query: 5.3.0 axobject-query: 3.2.1 - code-red: 1.0.3 + code-red: 1.0.4 css-tree: 2.3.1 estree-walker: 3.0.3 - is-reference: 3.0.1 + is-reference: 3.0.2 locate-character: 3.0.0 - magic-string: 0.30.1 + magic-string: 0.30.5 periscopic: 3.1.0 dev: true @@ -4983,14 +4958,6 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/utils': 2.4.1 - tslib: 2.6.0 - dev: true - /table@6.8.1: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} engines: {node: '>=10.0.0'} @@ -5020,25 +4987,20 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.5.0: - resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} + /tinypool@0.8.1: + resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} engines: {node: '>=14.0.0'} dev: true - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - dev: true - /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -5061,16 +5023,16 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true - /tr46@4.1.1: - resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} - engines: {node: '>=14'} + /tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /tree-kill@1.2.2: @@ -5078,17 +5040,26 @@ packages: hasBin: true dev: true - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} + /trim-newlines@4.1.1: + resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + engines: {node: '>=12'} + dev: true + + /ts-api-utils@1.0.3(typescript@5.3.3): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 dev: true /ts-toolbelt@9.6.0: resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} dev: true - /tsconfck@2.1.1(typescript@5.1.6): - resolution: {integrity: sha512-ZPCkJBKASZBmBUNqGHmRhdhM8pJYDdOXp4nRgj/O0JwUwsMq50lCDRQP/M5GBNAA0elPrq4gAeu4dkaVCuKWww==} + /tsconfck@2.1.2(typescript@5.3.3): + resolution: {integrity: sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==} engines: {node: ^14.13.1 || ^16 || >=18} hasBin: true peerDependencies: @@ -5097,11 +5068,11 @@ packages: typescript: optional: true dependencies: - typescript: 5.1.6 + typescript: 5.3.3 dev: true - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -5109,22 +5080,8 @@ packages: strip-bom: 3.0.0 dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib@2.6.0: - resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} - dev: true - - /tsutils@3.21.0(typescript@5.1.6): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.1.6 + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true /type-check@0.4.0: @@ -5139,11 +5096,6 @@ packages: engines: {node: '>=4'} dev: true - /type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true - /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -5164,6 +5116,11 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -5172,16 +5129,46 @@ packages: mime-types: 2.1.35 dev: true + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 dev: true - /types-ramda@0.29.4: - resolution: {integrity: sha512-XO/820iRsCDwqLjE8XE+b57cVGPyk1h+U9lBGpDWvbEky+NQChvHVwaKM05WnW1c5z3EVQh8NhXFmh2E/1YazQ==} + /types-ramda@0.29.6: + resolution: {integrity: sha512-VJoOk1uYNh9ZguGd3eZvqkdhD4hTGtnjRBUx5Zc0U9ftmnCgiWcSj/lsahzKunbiwRje1MxxNkEy1UdcXRCpYw==} dependencies: ts-toolbelt: 9.6.0 dev: true @@ -5199,20 +5186,20 @@ packages: dependencies: typescript-compare: 0.0.2 - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true dev: true - /ufo@1.1.2: - resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} dev: true /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -5228,18 +5215,13 @@ packages: engines: {node: '>= 0.8'} dev: true - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true - - /update-browserslist-db@1.0.11(browserslist@4.21.9): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.9 + browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -5247,7 +5229,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /url-parse@1.5.10: @@ -5278,20 +5260,20 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@0.32.4(@types/node@20.3.3): - resolution: {integrity: sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw==} - engines: {node: '>=v14.18.0'} + /vite-node@1.2.0: + resolution: {integrity: sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4 - mlly: 1.4.0 - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 - vite: 4.3.9(@types/node@20.3.3) + vite: 5.0.11 transitivePeerDependencies: - '@types/node' - less + - lightningcss - sass - stylus - sugarss @@ -5299,8 +5281,8 @@ packages: - terser dev: true - /vite-tsconfig-paths@4.2.0(typescript@5.1.6)(vite@4.3.9): - resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==} + /vite-tsconfig-paths@4.2.3(typescript@5.3.3)(vite@5.0.11): + resolution: {integrity: sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==} peerDependencies: vite: '*' peerDependenciesMeta: @@ -5309,20 +5291,21 @@ packages: dependencies: debug: 4.3.4 globrex: 0.1.2 - tsconfck: 2.1.1(typescript@5.1.6) - vite: 4.3.9(@types/node@20.3.3) + tsconfck: 2.1.2(typescript@5.3.3) + vite: 5.0.11 transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.3.9(@types/node@20.3.3): - resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} - engines: {node: ^14.18.0 || >=16.0.0} + /vite@5.0.11: + resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -5332,6 +5315,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -5341,41 +5326,54 @@ packages: terser: optional: true dependencies: - '@types/node': 20.3.3 - esbuild: 0.17.19 - postcss: 8.4.24 - rollup: 3.26.1 + esbuild: 0.19.11 + postcss: 8.4.33 + rollup: 4.9.5 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /vitefu@0.2.4(vite@4.3.9): - resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + /vitefu@0.2.5(vite@5.0.11): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 peerDependenciesMeta: vite: optional: true dependencies: - vite: 4.3.9(@types/node@20.3.3) + vite: 5.0.11 + dev: true + + /vitest-dom@0.1.1(vitest@1.2.0): + resolution: {integrity: sha512-n/bonR2hcRHCE5hlzG/P0yTXTUXx/gPtsaeUWP86ADfwo/+dHDpnTTV14qY7+kevsUbOZFYECu77MXY7AA0QSA==} + peerDependencies: + vitest: '>=0.31.0' + dependencies: + aria-query: 5.3.0 + chalk: 5.3.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash-es: 4.17.21 + redent: 4.0.0 + vitest: 1.2.0(jsdom@23.2.0) dev: true - /vitest@0.32.4(jsdom@22.1.0): - resolution: {integrity: sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg==} - engines: {node: '>=v14.18.0'} + /vitest@1.2.0(jsdom@23.2.0): + resolution: {integrity: sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': ^1.0.0 + '@vitest/ui': ^1.0.0 happy-dom: '*' jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/node': + optional: true '@vitest/browser': optional: true '@vitest/ui': @@ -5384,40 +5382,32 @@ packages: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 20.3.3 - '@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 - acorn: 8.10.0 - acorn-walk: 8.2.0 + '@vitest/expect': 1.2.0 + '@vitest/runner': 1.2.0 + '@vitest/snapshot': 1.2.0 + '@vitest/spy': 1.2.0 + '@vitest/utils': 1.2.0 + acorn-walk: 8.3.2 cac: 6.7.14 - chai: 4.3.7 + chai: 4.4.1 debug: 4.3.4 - jsdom: 22.1.0 - local-pkg: 0.4.3 - magic-string: 0.30.1 - pathe: 1.1.1 + execa: 8.0.1 + jsdom: 23.2.0 + local-pkg: 0.5.0 + magic-string: 0.30.5 + pathe: 1.1.2 picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.0.1 - tinybench: 2.5.0 - tinypool: 0.5.0 - vite: 4.3.9(@types/node@20.3.3) - vite-node: 0.32.4(@types/node@20.3.3) + std-env: 3.7.0 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.8.1 + vite: 5.0.11 + vite-node: 1.2.0 why-is-node-running: 2.2.2 transitivePeerDependencies: - less + - lightningcss - sass - stylus - sugarss @@ -5425,11 +5415,11 @@ packages: - terser dev: true - /w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} + /w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} dependencies: - xml-name-validator: 4.0.0 + xml-name-validator: 5.0.0 dev: true /webidl-conversions@7.0.0: @@ -5437,23 +5427,23 @@ packages: engines: {node: '>=12'} dev: true - /whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} dependencies: iconv-lite: 0.6.3 dev: true - /whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} dev: true - /whatwg-url@12.0.1: - resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} - engines: {node: '>=14'} + /whatwg-url@14.0.0: + resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + engines: {node: '>=18'} dependencies: - tr46: 4.1.1 + tr46: 5.0.0 webidl-conversions: 7.0.0 dev: true @@ -5467,16 +5457,15 @@ packages: is-symbol: 1.0.4 dev: true - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 dev: true /which@1.3.1: @@ -5521,6 +5510,15 @@ packages: strip-ansi: 7.1.0 dev: true + /wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + dependencies: + ansi-styles: 6.2.1 + string-width: 7.0.0 + strip-ansi: 7.1.0 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true @@ -5530,11 +5528,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 - signal-exit: 4.0.2 + signal-exit: 4.1.0 dev: true - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5546,9 +5544,9 @@ packages: optional: true dev: true - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} dev: true /xmlchars@2.2.0: diff --git a/postcss.config.cjs b/postcss.config.cjs index ce46bf91..3366c4ff 100644 --- a/postcss.config.cjs +++ b/postcss.config.cjs @@ -4,4 +4,4 @@ const nesting = require("postcss-nesting"); module.exports = { plugins: [nesting()], -}; \ No newline at end of file +}; diff --git a/prettier.config.cjs b/prettier.config.cjs index ece8aee5..68449d51 100644 --- a/prettier.config.cjs +++ b/prettier.config.cjs @@ -1,10 +1,7 @@ module.exports = { - bracketSpacing: true, - singleQuote: false, - printWidth: 80, trailingComma: "all", - endOfLine: "auto", - plugins: ["./node_modules/prettier-plugin-svelte"], + plugins: [require("prettier-plugin-svelte")], + htmlWhitespaceSensitivity: "ignore", overrides: [ { files: "*.svelte", diff --git a/src/api/linkEntitiesByIdByMapping.ts b/src/api/linkEntitiesByIdByMapping.ts index 33727e21..dde80a61 100644 --- a/src/api/linkEntitiesByIdByMapping.ts +++ b/src/api/linkEntitiesByIdByMapping.ts @@ -1,4 +1,4 @@ -import differenceInMinutes from "date-fns/differenceInMinutes"; +import { differenceInMinutes } from "date-fns/differenceInMinutes"; import { isNil, prop, sortBy } from "ramda"; import type { SagaIterator } from "redux-saga"; import { call, select } from "redux-saga/effects"; diff --git a/src/redux/allEntities/allEntitiesSelectors.ts b/src/redux/allEntities/allEntitiesSelectors.ts index 168c4143..e9877a24 100644 --- a/src/redux/allEntities/allEntitiesSelectors.ts +++ b/src/redux/allEntities/allEntitiesSelectors.ts @@ -15,30 +15,22 @@ import { } from "~/types"; import { capitalize, getEntityGroupDisplay } from "~/utilities/textTransforms"; -export const areExistsInTargetShownSelector = createSelector( - (state: ReduxState) => state.allEntities.areExistsInTargetShown, - (areExistsInTargetShown): boolean => areExistsInTargetShown, -); +export const areExistsInTargetShownSelector = (state: ReduxState): boolean => + state.allEntities.areExistsInTargetShown; -export const fetchAllFetchStatusSelector = createSelector( - (state: ReduxState) => state.allEntities.fetchAllFetchStatus, - (fetchAllFetchStatus): FetchStatus => fetchAllFetchStatus, -); +export const fetchAllFetchStatusSelector = (state: ReduxState): FetchStatus => + state.allEntities.fetchAllFetchStatus; -export const pushAllChangesFetchStatusSelector = createSelector( - (state: ReduxState) => state.allEntities.pushAllChangesFetchStatus, - (pushAllChangesFetchStatus): FetchStatus => pushAllChangesFetchStatus, -); +export const pushAllChangesFetchStatusSelector = ( + state: ReduxState, +): FetchStatus => state.allEntities.pushAllChangesFetchStatus; -export const toolActionSelector = createSelector( - (state: ReduxState) => state.allEntities.toolAction, - (toolAction): ToolAction => toolAction, -); +export const toolActionSelector = (state: ReduxState): ToolAction => + state.allEntities.toolAction; -export const toolNameByMappingSelector = createSelector( - (state: ReduxState) => state.allEntities.toolNameByMapping, - (toolNameByMapping): ToolNameByMapping => toolNameByMapping, -); +export const toolNameByMappingSelector = ( + state: ReduxState, +): ToolNameByMapping => state.allEntities.toolNameByMapping; export const entityGroupInProcessDisplaySelector = createSelector( (state: ReduxState) => state.allEntities.entityGroupInProcess, @@ -46,11 +38,9 @@ export const entityGroupInProcessDisplaySelector = createSelector( getEntityGroupDisplay(entityGroupInProcess).toLowerCase(), ); -export const transferCountsByEntityGroupSelector = createSelector( - (state: ReduxState) => state.allEntities.transferCountsByEntityGroup, - (transferCountsByEntityGroup): CountsByEntityGroup => - transferCountsByEntityGroup, -); +export const transferCountsByEntityGroupSelector = ( + state: ReduxState, +): CountsByEntityGroup => state.allEntities.transferCountsByEntityGroup; const findLengthOfIncluded = ( entityRecordsById: Dictionary, diff --git a/src/redux/app/appSelectors.ts b/src/redux/app/appSelectors.ts index 84feaec2..4755cbfc 100644 --- a/src/redux/app/appSelectors.ts +++ b/src/redux/app/appSelectors.ts @@ -1,7 +1,4 @@ -import { createSelector } from "~/redux/reduxTools"; import type { Notification, ReduxState } from "~/types"; -export const notificationsSelector = createSelector( - (state: ReduxState) => state.app.notifications, - (notifications): Notification[] => notifications, -); +export const notificationsSelector = (state: ReduxState): Notification[] => + state.app.notifications; diff --git a/src/redux/clients/clientsSelectors.ts b/src/redux/clients/clientsSelectors.ts index aa7e6713..ab4983e0 100644 --- a/src/redux/clients/clientsSelectors.ts +++ b/src/redux/clients/clientsSelectors.ts @@ -13,15 +13,12 @@ import type { ToolName, } from "~/types"; -export const sourceClientsByIdSelector = createSelector( - (state: ReduxState) => state.clients.source, - (sourceClientsById): Dictionary => sourceClientsById, -); +export const sourceClientsByIdSelector = ( + state: ReduxState, +): Dictionary => state.clients.source; -const targetClientsByIdSelector = createSelector( - (state: ReduxState) => state.clients.target, - (targetClientsById): Dictionary => targetClientsById, -); +const targetClientsByIdSelector = (state: ReduxState): Dictionary => + state.clients.target; const sourceClientsSelector = createSelector( sourceClientsByIdSelector, diff --git a/src/redux/credentials/credentialsSelectors.ts b/src/redux/credentials/credentialsSelectors.ts index e8a8aeb1..c3e12c57 100644 --- a/src/redux/credentials/credentialsSelectors.ts +++ b/src/redux/credentials/credentialsSelectors.ts @@ -10,16 +10,12 @@ import { type ValidationErrorsByMapping, } from "~/types"; -export const validationFetchStatusSelector = createSelector( - (state: ReduxState) => state.credentials.validationFetchStatus, - (validationFetchStatus): FetchStatus => validationFetchStatus, -); +export const validationFetchStatusSelector = (state: ReduxState): FetchStatus => + state.credentials.validationFetchStatus; -export const validationErrorsByMappingSelector = createSelector( - (state: ReduxState) => state.credentials.validationErrorsByMapping, - (validationErrorsByMapping): ValidationErrorsByMapping => - validationErrorsByMapping, -); +export const validationErrorsByMappingSelector = ( + state: ReduxState, +): ValidationErrorsByMapping => state.credentials.validationErrorsByMapping; export const hasValidationErrorsSelector = createSelector( validationErrorsByMappingSelector, @@ -27,15 +23,11 @@ export const hasValidationErrorsSelector = createSelector( Object.values(validationErrorsByMapping).some(Boolean), ); -const sourceCredentialsSelector = createSelector( - (state: ReduxState) => state.credentials.source, - (sourceCredentials) => sourceCredentials, -); +const sourceCredentialsSelector = (state: ReduxState): Credentials => + state.credentials.source; -const targetCredentialsSelector = createSelector( - (state: ReduxState) => state.credentials.target, - (targetCredentials) => targetCredentials, -); +const targetCredentialsSelector = (state: ReduxState): Credentials => + state.credentials.target; export const credentialsByMappingSelector = createSelector( sourceCredentialsSelector, @@ -58,5 +50,5 @@ export const credentialsByToolNameSelector = createSelector( ({ [toolNameByMapping[Mapping.Source]]: sourceCredentials, [toolNameByMapping[Mapping.Target]]: targetCredentials, - } as Record), + }) as Record, ); diff --git a/src/redux/projects/projectsSelectors.ts b/src/redux/projects/projectsSelectors.ts index 7310884d..6246557b 100644 --- a/src/redux/projects/projectsSelectors.ts +++ b/src/redux/projects/projectsSelectors.ts @@ -10,20 +10,18 @@ import { sourceTimeEntryCountByIdFieldSelectorFactory } from "~/redux/timeEntrie import { activeWorkspaceIdSelector } from "~/redux/workspaces/workspacesSelectors"; import type { EntityTableRecord, Project, ReduxState } from "~/types"; -export const sourceProjectsByIdSelector = createSelector( - (state: ReduxState) => state.projects.source, - (sourceProjectsById): Dictionary => sourceProjectsById, -); +export const sourceProjectsByIdSelector = ( + state: ReduxState, +): Dictionary => state.projects.source; export const sourceProjectsSelector = createSelector( sourceProjectsByIdSelector, (sourceProjectsById): Project[] => Object.values(sourceProjectsById), ); -export const targetProjectsByIdSelector = createSelector( - (state: ReduxState) => state.projects.target, - (targetProjectsById): Dictionary => targetProjectsById, -); +export const targetProjectsByIdSelector = ( + state: ReduxState, +): Dictionary => state.projects.target; const targetProjectsSelector = createSelector( targetProjectsByIdSelector, diff --git a/src/redux/reduxTools.ts b/src/redux/reduxTools.ts index 3f06688c..fac3dff3 100644 --- a/src/redux/reduxTools.ts +++ b/src/redux/reduxTools.ts @@ -55,13 +55,13 @@ export type ActionType = TActionCreatorOrMap extends ActionCreator<{ type: TypeConstant }> ? ReturnType : TActionCreatorOrMap extends Record - ? { - [K in keyof TActionCreatorOrMap]: ActionType; - }[keyof TActionCreatorOrMap] - : // eslint-disable-next-line @typescript-eslint/no-unused-vars - TActionCreatorOrMap extends infer R - ? never - : never; + ? { + [K in keyof TActionCreatorOrMap]: ActionType; + }[keyof TActionCreatorOrMap] + : // eslint-disable-next-line @typescript-eslint/no-unused-vars + TActionCreatorOrMap extends infer R + ? never + : never; export function isActionOf< TActionCreator extends ActionCreator<{ type: TypeConstant }>, diff --git a/src/redux/tags/tagsSelectors.ts b/src/redux/tags/tagsSelectors.ts index b7779fee..cbcee171 100644 --- a/src/redux/tags/tagsSelectors.ts +++ b/src/redux/tags/tagsSelectors.ts @@ -12,20 +12,16 @@ import type { ToolName, } from "~/types"; -const sourceTagsByIdSelector = createSelector( - (state: ReduxState) => state.tags.source, - (sourceTagsById): Dictionary => sourceTagsById, -); +const sourceTagsByIdSelector = (state: ReduxState): Dictionary => + state.tags.source; const sourceTagsSelector = createSelector( sourceTagsByIdSelector, (sourceTagsById): Tag[] => Object.values(sourceTagsById), ); -const targetTagsByIdSelector = createSelector( - (state: ReduxState) => state.tags.target, - (targetTagsById): Dictionary => targetTagsById, -); +const targetTagsByIdSelector = (state: ReduxState): Dictionary => + state.tags.target; const targetTagsSelector = createSelector( targetTagsByIdSelector, diff --git a/src/redux/tasks/tasksSelectors.ts b/src/redux/tasks/tasksSelectors.ts index 812fda48..0295981d 100644 --- a/src/redux/tasks/tasksSelectors.ts +++ b/src/redux/tasks/tasksSelectors.ts @@ -7,15 +7,11 @@ import { sourceTimeEntryCountByIdFieldSelectorFactory } from "~/redux/timeEntrie import { activeWorkspaceIdSelector } from "~/redux/workspaces/workspacesSelectors"; import type { ReduxState, Task, TaskTableRecord } from "~/types"; -export const sourceTasksByIdSelector = createSelector( - (state: ReduxState) => state.tasks.source, - (sourceTasksById): Dictionary => sourceTasksById, -); +export const sourceTasksByIdSelector = (state: ReduxState): Dictionary => + state.tasks.source; -const targetTasksByIdSelector = createSelector( - (state: ReduxState) => state.tasks.target, - (targetTasksById): Dictionary => targetTasksById, -); +const targetTasksByIdSelector = (state: ReduxState): Dictionary => + state.tasks.target; export const sourceTasksSelector = createSelector( sourceTasksByIdSelector, diff --git a/src/redux/timeEntries/sagas/togglTimeEntriesSagas.ts b/src/redux/timeEntries/sagas/togglTimeEntriesSagas.ts index ea33f96b..172c4106 100644 --- a/src/redux/timeEntries/sagas/togglTimeEntriesSagas.ts +++ b/src/redux/timeEntries/sagas/togglTimeEntriesSagas.ts @@ -1,7 +1,7 @@ -import differenceInSeconds from "date-fns/differenceInSeconds"; -import endOfYear from "date-fns/endOfYear"; -import format from "date-fns/format"; -import startOfYear from "date-fns/startOfYear"; +import { differenceInSeconds } from "date-fns/differenceInSeconds"; +import { endOfYear } from "date-fns/endOfYear"; +import { format } from "date-fns/format"; +import { startOfYear } from "date-fns/startOfYear"; import { isNil, propOr } from "ramda"; import type { SagaIterator } from "redux-saga"; import { call, delay, select } from "redux-saga/effects"; diff --git a/src/redux/timeEntries/timeEntriesSelectors.ts b/src/redux/timeEntries/timeEntriesSelectors.ts index d4363976..e19449fc 100644 --- a/src/redux/timeEntries/timeEntriesSelectors.ts +++ b/src/redux/timeEntries/timeEntriesSelectors.ts @@ -4,10 +4,8 @@ import { createSelector, type Selector } from "~/redux/reduxTools"; import { activeWorkspaceIdSelector } from "~/redux/workspaces/workspacesSelectors"; import type { ReduxState, TimeEntry, TimeEntryTableRecord } from "~/types"; -export const isDuplicateCheckEnabledSelector = createSelector( - (state: ReduxState) => state.timeEntries.isDuplicateCheckEnabled, - (isDuplicateCheckEnabled): boolean => isDuplicateCheckEnabled, -); +export const isDuplicateCheckEnabledSelector = (state: ReduxState): boolean => + state.timeEntries.isDuplicateCheckEnabled; export const sourceTimeEntriesSelector = createSelector( (state: ReduxState) => state.timeEntries.source, diff --git a/src/redux/users/usersSelectors.ts b/src/redux/users/usersSelectors.ts index 95a00bc2..e53e94a8 100644 --- a/src/redux/users/usersSelectors.ts +++ b/src/redux/users/usersSelectors.ts @@ -5,10 +5,8 @@ import { createSelector } from "~/redux/reduxTools"; import { workspaceIdToLinkedIdSelector } from "~/redux/workspaces/workspacesSelectors"; import type { ReduxState, User } from "~/types"; -const sourceUsersByIdSelector = createSelector( - (state: ReduxState) => state.users.source, - (sourceUsersById): Dictionary => sourceUsersById, -); +const sourceUsersByIdSelector = (state: ReduxState): Dictionary => + state.users.source; export const sourceUsersSelector = createSelector( sourceUsersByIdSelector, diff --git a/src/redux/workspaces/workspacesSelectors.ts b/src/redux/workspaces/workspacesSelectors.ts index c39939e4..05c51fb3 100755 --- a/src/redux/workspaces/workspacesSelectors.ts +++ b/src/redux/workspaces/workspacesSelectors.ts @@ -4,20 +4,19 @@ import { selectIdToLinkedId } from "~/api/selectIdToLinkedId"; import { createSelector } from "~/redux/reduxTools"; import type { Mapping, ReduxState, Workspace } from "~/types"; -export const areWorkspacesFetchingSelector = createSelector( - (state: ReduxState) => state.workspaces.isFetching, - (isFetching): boolean => isFetching, -); +export const areWorkspacesFetchingSelector = (state: ReduxState): boolean => + state.workspaces.isFetching; -export const activeWorkspaceIdSelector = createSelector( - (state: ReduxState) => state.workspaces.activeWorkspaceId, - (activeWorkspaceId): string => activeWorkspaceId, -); +export const activeWorkspaceIdSelector = (state: ReduxState): string => + state.workspaces.activeWorkspaceId; -export const sourceWorkspacesByIdSelector = createSelector( - (state: ReduxState): Dictionary => state.workspaces.source, - (workspacesById): Dictionary => workspacesById, -); +export const sourceWorkspacesByIdSelector = ( + state: ReduxState, +): Dictionary => state.workspaces.source; + +export const targetWorkspacesByIdSelector = ( + state: ReduxState, +): Dictionary => state.workspaces.target; export const sourceWorkspacesSelector = createSelector( sourceWorkspacesByIdSelector, @@ -43,11 +42,6 @@ export const firstIncludedWorkspaceIdSelector = createSelector( }, ); -export const targetWorkspacesByIdSelector = createSelector( - (state: ReduxState): Dictionary => state.workspaces.target, - (workspacesById): Dictionary => workspacesById, -); - export const includedSourceWorkspacesSelector = createSelector( sourceWorkspacesSelector, (workspaces): Workspace[] => diff --git a/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte b/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte index 8e8d07c6..a53d26e9 100644 --- a/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte +++ b/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte @@ -151,6 +151,7 @@ transfer is complete, the values are cleared from state.

+

Press the Next button to validate your keys and move on to the workspace selection step. If the key is invalid, an error message will diff --git a/src/steps/performToolActionStep/ConfirmToolActionDialog.svelte b/src/steps/performToolActionStep/ConfirmToolActionDialog.svelte index 5b7720e8..d6ade87a 100644 --- a/src/steps/performToolActionStep/ConfirmToolActionDialog.svelte +++ b/src/steps/performToolActionStep/ConfirmToolActionDialog.svelte @@ -11,6 +11,7 @@ (open = false)} on:confirm>

Confirmation

+

Pressing the Confirm button will {toolAction} the records you selected. Would you like to continue? diff --git a/src/steps/performToolActionStep/PerformToolActionStep.svelte b/src/steps/performToolActionStep/PerformToolActionStep.svelte index 1fe9a0b8..ac72decc 100644 --- a/src/steps/performToolActionStep/PerformToolActionStep.svelte +++ b/src/steps/performToolActionStep/PerformToolActionStep.svelte @@ -144,6 +144,7 @@ +

Press the Start button and confirm the action in the dialog.

diff --git a/src/steps/pickToolActionStep/PickToolActionStep.svelte b/src/steps/pickToolActionStep/PickToolActionStep.svelte index 47420d96..c2b1cd80 100644 --- a/src/steps/pickToolActionStep/PickToolActionStep.svelte +++ b/src/steps/pickToolActionStep/PickToolActionStep.svelte @@ -42,6 +42,7 @@

Step 1: Pick an Action

+

Welcome to transfermyti.me! This tool can be used to diff --git a/src/steps/selectInclusionsStep/HelpForToolAction.svelte b/src/steps/selectInclusionsStep/HelpForToolAction.svelte index e10a525c..f1b9dada 100644 --- a/src/steps/selectInclusionsStep/HelpForToolAction.svelte +++ b/src/steps/selectInclusionsStep/HelpForToolAction.svelte @@ -12,6 +12,7 @@ } + {#if toolAction === ToolAction.Delete}

diff --git a/src/steps/selectInclusionsStep/TimeEntriesInclusionsTable.svelte b/src/steps/selectInclusionsStep/TimeEntriesInclusionsTable.svelte index 8099e4d1..8782efee 100644 --- a/src/steps/selectInclusionsStep/TimeEntriesInclusionsTable.svelte +++ b/src/steps/selectInclusionsStep/TimeEntriesInclusionsTable.svelte @@ -1,5 +1,5 @@

-

Step 4: Select Records to {capitalize($toolAction)}

+

{getHeader()}

diff --git a/src/types.ts b/src/types.ts index 37ceeb53..d3576f8c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -205,4 +205,5 @@ export interface Workspace extends AnyEntity { name: string; userIds: string[]; isAdmin: boolean | null; + isPaid: boolean; } diff --git a/tsconfig.json b/tsconfig.json index 8b98448c..440ef6b9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,7 +24,8 @@ "skipLibCheck": true, "sourceMap": false, "strict": true, - "target": "ES2017" + "target": "ES2017", + "types": ["vitest/globals", "vitest-dom/extend-expect"] }, "include": ["src/**/*.ts", "src/**/*.svelte", "src/**/*.d.ts"], "exclude": ["node_modules/*", "scripts/*"] diff --git a/vite.config.mjs b/vite.config.mjs index daf7e97b..42385803 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -31,6 +31,7 @@ export default defineConfig( plugins: [ svelte({ configFile: path.resolve(rootDirPath, "svelte.config.mjs"), + hot: false, }), tsconfigPaths({ root: rootDirPath }), ], From 951c2163eff42997fa3fcd292f562245165e70dc Mon Sep 17 00:00:00 2001 From: Mike Rourke Date: Mon, 15 Jan 2024 16:27:54 -0800 Subject: [PATCH 3/6] test: remove explicit `vitest` import from tests --- src/redux/allEntities/__tests__/allEntitiesReducer.test.ts | 2 -- src/redux/allEntities/__tests__/allEntitiesSaga.test.ts | 1 - src/redux/allEntities/__tests__/allEntitiesSelectors.test.ts | 1 - src/redux/app/__tests__/appReducer.test.ts | 2 -- src/redux/app/__tests__/appSelectors.test.ts | 2 -- src/redux/clients/__tests__/clientsReducer.test.ts | 1 - src/redux/clients/__tests__/clientsSelectors.test.ts | 2 -- src/redux/credentials/__tests__/credentialsReducer.test.ts | 2 -- src/redux/credentials/__tests__/credentialsSelectors.test.ts | 2 -- src/redux/projects/__tests__/projectsReducer.test.ts | 1 - src/redux/projects/__tests__/projectsSelectors.test.ts | 2 -- src/redux/tags/__tests__/tagsReducer.test.ts | 1 - src/redux/tags/__tests__/tagsSelectors.test.ts | 2 -- src/redux/tasks/__tests__/tasksReducer.test.ts | 1 - src/redux/tasks/__tests__/tasksSelectors.test.ts | 2 -- src/redux/timeEntries/__tests__/timeEntriesReducer.test.ts | 1 - src/redux/timeEntries/__tests__/timeEntriesSelectors.test.ts | 2 -- src/redux/userGroups/__tests__/userGroupsReducer.test.ts | 1 - src/redux/userGroups/__tests__/userGroupsSelectors.test.ts | 2 -- src/redux/users/__tests__/usersReducer.test.ts | 1 - src/redux/users/__tests__/usersSelectors.test.ts | 2 -- src/redux/workspaces/__tests__/workspacesReducer.test.ts | 2 -- src/redux/workspaces/__tests__/workspacesSelectors.test.ts | 2 -- src/utilities/__mocks__/environment.ts | 2 -- 24 files changed, 39 deletions(-) diff --git a/src/redux/allEntities/__tests__/allEntitiesReducer.test.ts b/src/redux/allEntities/__tests__/allEntitiesReducer.test.ts index 94f4538b..fa31bcab 100644 --- a/src/redux/allEntities/__tests__/allEntitiesReducer.test.ts +++ b/src/redux/allEntities/__tests__/allEntitiesReducer.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import * as allEntitiesActions from "~/redux/allEntities/allEntitiesActions"; import { FAKES } from "~/testUtilities"; import { EntityGroup, FetchStatus, ToolAction, ToolName } from "~/types"; diff --git a/src/redux/allEntities/__tests__/allEntitiesSaga.test.ts b/src/redux/allEntities/__tests__/allEntitiesSaga.test.ts index 247dfc32..720538bc 100644 --- a/src/redux/allEntities/__tests__/allEntitiesSaga.test.ts +++ b/src/redux/allEntities/__tests__/allEntitiesSaga.test.ts @@ -1,7 +1,6 @@ import { expectSaga } from "redux-saga-test-plan"; import * as matchers from "redux-saga-test-plan/matchers"; import { throwError } from "redux-saga-test-plan/providers"; -import { describe, test, vi } from "vitest"; import * as allEntitiesActions from "~/redux/allEntities/allEntitiesActions"; import * as clientsSagas from "~/redux/clients/sagas/clientsSagas"; diff --git a/src/redux/allEntities/__tests__/allEntitiesSelectors.test.ts b/src/redux/allEntities/__tests__/allEntitiesSelectors.test.ts index 8ab88559..fe59ec3d 100644 --- a/src/redux/allEntities/__tests__/allEntitiesSelectors.test.ts +++ b/src/redux/allEntities/__tests__/allEntitiesSelectors.test.ts @@ -1,5 +1,4 @@ import { lensPath, set } from "ramda"; -import { describe, expect, test } from "vitest"; import { FAKES } from "~/testUtilities"; import { EntityGroup, ToolName } from "~/types"; diff --git a/src/redux/app/__tests__/appReducer.test.ts b/src/redux/app/__tests__/appReducer.test.ts index 891ac867..f452569e 100644 --- a/src/redux/app/__tests__/appReducer.test.ts +++ b/src/redux/app/__tests__/appReducer.test.ts @@ -1,7 +1,5 @@ import { randomUUID } from "node:crypto"; -import { afterAll, beforeAll, describe, expect, test, vi } from "vitest"; - import * as appActions from "~/redux/app/appActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/app/__tests__/appSelectors.test.ts b/src/redux/app/__tests__/appSelectors.test.ts index f2a43da4..602c6219 100644 --- a/src/redux/app/__tests__/appSelectors.test.ts +++ b/src/redux/app/__tests__/appSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import * as appSelectors from "../appSelectors"; diff --git a/src/redux/clients/__tests__/clientsReducer.test.ts b/src/redux/clients/__tests__/clientsReducer.test.ts index bdd2b4cf..0ae3934f 100644 --- a/src/redux/clients/__tests__/clientsReducer.test.ts +++ b/src/redux/clients/__tests__/clientsReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as clientsActions from "~/redux/clients/clientsActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/clients/__tests__/clientsSelectors.test.ts b/src/redux/clients/__tests__/clientsSelectors.test.ts index 51da4c3f..bd4cc46f 100644 --- a/src/redux/clients/__tests__/clientsSelectors.test.ts +++ b/src/redux/clients/__tests__/clientsSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import { EntityGroup, ToolName } from "~/types"; diff --git a/src/redux/credentials/__tests__/credentialsReducer.test.ts b/src/redux/credentials/__tests__/credentialsReducer.test.ts index 423ca6ff..7114d5f7 100644 --- a/src/redux/credentials/__tests__/credentialsReducer.test.ts +++ b/src/redux/credentials/__tests__/credentialsReducer.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import * as credentialsActions from "~/redux/credentials/credentialsActions"; import { FAKES } from "~/testUtilities"; import { FetchStatus, Mapping } from "~/types"; diff --git a/src/redux/credentials/__tests__/credentialsSelectors.test.ts b/src/redux/credentials/__tests__/credentialsSelectors.test.ts index b24052a9..b55b5578 100644 --- a/src/redux/credentials/__tests__/credentialsSelectors.test.ts +++ b/src/redux/credentials/__tests__/credentialsSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import * as credentialsSelectors from "../credentialsSelectors"; diff --git a/src/redux/projects/__tests__/projectsReducer.test.ts b/src/redux/projects/__tests__/projectsReducer.test.ts index 5518c801..b9576adb 100644 --- a/src/redux/projects/__tests__/projectsReducer.test.ts +++ b/src/redux/projects/__tests__/projectsReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as projectsActions from "~/redux/projects/projectsActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/projects/__tests__/projectsSelectors.test.ts b/src/redux/projects/__tests__/projectsSelectors.test.ts index b4dc3f13..2640c217 100644 --- a/src/redux/projects/__tests__/projectsSelectors.test.ts +++ b/src/redux/projects/__tests__/projectsSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import * as projectsSelectors from "../projectsSelectors"; diff --git a/src/redux/tags/__tests__/tagsReducer.test.ts b/src/redux/tags/__tests__/tagsReducer.test.ts index 34ac722d..55e2ed17 100644 --- a/src/redux/tags/__tests__/tagsReducer.test.ts +++ b/src/redux/tags/__tests__/tagsReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as tagsActions from "~/redux/tags/tagsActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/tags/__tests__/tagsSelectors.test.ts b/src/redux/tags/__tests__/tagsSelectors.test.ts index d19c6f35..a9cde33e 100644 --- a/src/redux/tags/__tests__/tagsSelectors.test.ts +++ b/src/redux/tags/__tests__/tagsSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import { ToolName } from "~/types"; diff --git a/src/redux/tasks/__tests__/tasksReducer.test.ts b/src/redux/tasks/__tests__/tasksReducer.test.ts index b35918bd..9dd77d7e 100644 --- a/src/redux/tasks/__tests__/tasksReducer.test.ts +++ b/src/redux/tasks/__tests__/tasksReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as tasksActions from "~/redux/tasks/tasksActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/tasks/__tests__/tasksSelectors.test.ts b/src/redux/tasks/__tests__/tasksSelectors.test.ts index d34f75fa..0d1d87de 100644 --- a/src/redux/tasks/__tests__/tasksSelectors.test.ts +++ b/src/redux/tasks/__tests__/tasksSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import * as tasksSelectors from "../tasksSelectors"; diff --git a/src/redux/timeEntries/__tests__/timeEntriesReducer.test.ts b/src/redux/timeEntries/__tests__/timeEntriesReducer.test.ts index 668183b8..e01a7c5a 100644 --- a/src/redux/timeEntries/__tests__/timeEntriesReducer.test.ts +++ b/src/redux/timeEntries/__tests__/timeEntriesReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as timeEntriesActions from "~/redux/timeEntries/timeEntriesActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/timeEntries/__tests__/timeEntriesSelectors.test.ts b/src/redux/timeEntries/__tests__/timeEntriesSelectors.test.ts index 9a588f4f..bdf2b5ff 100644 --- a/src/redux/timeEntries/__tests__/timeEntriesSelectors.test.ts +++ b/src/redux/timeEntries/__tests__/timeEntriesSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import * as timeEntriesSelectors from "../timeEntriesSelectors"; diff --git a/src/redux/userGroups/__tests__/userGroupsReducer.test.ts b/src/redux/userGroups/__tests__/userGroupsReducer.test.ts index 4efa253f..50ab75b8 100644 --- a/src/redux/userGroups/__tests__/userGroupsReducer.test.ts +++ b/src/redux/userGroups/__tests__/userGroupsReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as userGroupsActions from "~/redux/userGroups/userGroupsActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/userGroups/__tests__/userGroupsSelectors.test.ts b/src/redux/userGroups/__tests__/userGroupsSelectors.test.ts index 8959dd5b..79b205c2 100644 --- a/src/redux/userGroups/__tests__/userGroupsSelectors.test.ts +++ b/src/redux/userGroups/__tests__/userGroupsSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import * as userGroupsSelectors from "../userGroupsSelectors"; diff --git a/src/redux/users/__tests__/usersReducer.test.ts b/src/redux/users/__tests__/usersReducer.test.ts index 38525228..fb3f754c 100644 --- a/src/redux/users/__tests__/usersReducer.test.ts +++ b/src/redux/users/__tests__/usersReducer.test.ts @@ -1,5 +1,4 @@ import { lensProp, set } from "ramda"; -import { describe, expect, test } from "vitest"; import * as usersActions from "~/redux/users/usersActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/users/__tests__/usersSelectors.test.ts b/src/redux/users/__tests__/usersSelectors.test.ts index 75d8a4e5..724d90e1 100644 --- a/src/redux/users/__tests__/usersSelectors.test.ts +++ b/src/redux/users/__tests__/usersSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import { EntityGroup } from "~/types"; diff --git a/src/redux/workspaces/__tests__/workspacesReducer.test.ts b/src/redux/workspaces/__tests__/workspacesReducer.test.ts index 437bb00a..3e815357 100644 --- a/src/redux/workspaces/__tests__/workspacesReducer.test.ts +++ b/src/redux/workspaces/__tests__/workspacesReducer.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import * as workspacesActions from "~/redux/workspaces/workspacesActions"; import { FAKES } from "~/testUtilities"; diff --git a/src/redux/workspaces/__tests__/workspacesSelectors.test.ts b/src/redux/workspaces/__tests__/workspacesSelectors.test.ts index 792212ad..9b6d900c 100644 --- a/src/redux/workspaces/__tests__/workspacesSelectors.test.ts +++ b/src/redux/workspaces/__tests__/workspacesSelectors.test.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from "vitest"; - import { FAKES } from "~/testUtilities"; import { EntityGroup } from "~/types"; diff --git a/src/utilities/__mocks__/environment.ts b/src/utilities/__mocks__/environment.ts index 4df08090..ab4e159f 100644 --- a/src/utilities/__mocks__/environment.ts +++ b/src/utilities/__mocks__/environment.ts @@ -1,5 +1,3 @@ -import { vi } from "vitest"; - import type { ToolName } from "~/types"; export const isDevelopmentMode = vi.fn(() => false); From 69ea4172946a70320137b1f9e24464f0ef656439 Mon Sep 17 00:00:00 2001 From: Mike Rourke Date: Mon, 15 Jan 2024 16:36:32 -0800 Subject: [PATCH 4/6] refactor: swap out `interface` with `type` where appropriate --- src/redux/allEntities/allEntitiesReducer.ts | 26 +++++++-------- src/redux/app/appReducer.ts | 6 ++-- src/redux/clients/clientsReducer.ts | 20 ++++++------ src/redux/credentials/credentialsReducer.ts | 12 +++---- src/redux/projects/projectsReducer.ts | 20 ++++++------ src/redux/reduxTools.ts | 2 +- src/redux/tags/tagsReducer.ts | 20 ++++++------ src/redux/tasks/tasksReducer.ts | 20 ++++++------ src/redux/timeEntries/timeEntriesReducer.ts | 22 ++++++------- .../sagas/clockifyUserGroupsSagas.ts | 4 +-- .../userGroups/sagas/togglUserGroupsSagas.ts | 8 ++--- src/redux/userGroups/userGroupsActions.ts | 6 ++-- src/redux/userGroups/userGroupsReducer.ts | 20 ++++++------ src/redux/users/sagas/togglUsersSagas.ts | 32 +++++++++---------- src/redux/users/usersReducer.ts | 18 +++++------ src/redux/workspaces/workspacesActions.ts | 10 +++--- src/redux/workspaces/workspacesReducer.ts | 20 ++++++------ src/types.ts | 28 ++++++++-------- src/utilities/domElements.ts | 4 +-- 19 files changed, 149 insertions(+), 149 deletions(-) diff --git a/src/redux/allEntities/allEntitiesReducer.ts b/src/redux/allEntities/allEntitiesReducer.ts index 88e19779..f8e19fff 100644 --- a/src/redux/allEntities/allEntitiesReducer.ts +++ b/src/redux/allEntities/allEntitiesReducer.ts @@ -3,8 +3,8 @@ import { inc, lensPath, over } from "ramda"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { EntityGroup, @@ -17,15 +17,15 @@ import { import * as allEntitiesActions from "./allEntitiesActions"; -export interface AllEntitiesState { - readonly areExistsInTargetShown: boolean; - readonly entityGroupInProcess: EntityGroup | null; - readonly fetchAllFetchStatus: FetchStatus; - readonly pushAllChangesFetchStatus: FetchStatus; - readonly toolAction: ToolAction; - readonly toolNameByMapping: ToolNameByMapping; - readonly transferCountsByEntityGroup: CountsByEntityGroup; -} +export type AllEntitiesState = Readonly<{ + areExistsInTargetShown: boolean; + entityGroupInProcess: EntityGroup | null; + fetchAllFetchStatus: FetchStatus; + pushAllChangesFetchStatus: FetchStatus; + toolAction: ToolAction; + toolNameByMapping: ToolNameByMapping; + transferCountsByEntityGroup: CountsByEntityGroup; +}>; const DEFAULT_TRANSFER_COUNTS = { [EntityGroup.Clients]: 0, @@ -143,7 +143,7 @@ type AllEntitiesApiRequestAction = ActionType< >; function isAllEntitiesApiRequestAction( - action: AnyAction, + action: Action, ): action is AllEntitiesApiRequestAction { return isActionOf( [ @@ -160,7 +160,7 @@ type AllEntitiesApiSuccessAction = ActionType< >; function isAllEntitiesApiSuccessAction( - action: AnyAction, + action: Action, ): action is AllEntitiesApiSuccessAction { return isActionOf( [ @@ -177,7 +177,7 @@ type AllEntitiesApiFailureAction = ActionType< >; function isAllEntitiesApiFailureAction( - action: AnyAction, + action: Action, ): action is AllEntitiesApiFailureAction { return isActionOf( [ diff --git a/src/redux/app/appReducer.ts b/src/redux/app/appReducer.ts index fbf2d9cb..7ef7f160 100644 --- a/src/redux/app/appReducer.ts +++ b/src/redux/app/appReducer.ts @@ -4,9 +4,9 @@ import { isDevelopmentMode } from "~/utilities/environment"; import * as appActions from "./appActions"; -export interface AppState { - readonly notifications: Notification[]; -} +export type AppState = Readonly<{ + notifications: Notification[]; +}>; export const appInitialState: AppState = { notifications: [], diff --git a/src/redux/clients/clientsReducer.ts b/src/redux/clients/clientsReducer.ts index 76fc26c2..5755ea8f 100644 --- a/src/redux/clients/clientsReducer.ts +++ b/src/redux/clients/clientsReducer.ts @@ -5,18 +5,18 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, - type AnyAction, + type Action, type ActionType, } from "~/redux/reduxTools"; import { Mapping, type Client } from "~/types"; import * as clientsActions from "./clientsActions"; -export interface ClientsState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; -} +export type ClientsState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; +}>; export const clientsInitialState: ClientsState = { source: {}, @@ -68,7 +68,7 @@ type ClientsCreateOrFetchSuccessAction = ActionType< >; function isClientsApiSuccessAction( - action: AnyAction, + action: Action, ): action is ClientsCreateOrFetchSuccessAction { return isActionOf( [clientsActions.createClients.success, clientsActions.fetchClients.success], @@ -83,7 +83,7 @@ type ClientsApiRequestAction = ActionType< >; function isClientsApiRequestAction( - action: AnyAction, + action: Action, ): action is ClientsApiRequestAction { return isActionOf( [ @@ -102,7 +102,7 @@ type ClientsApiFailureAction = ActionType< >; function isClientsApiFailureAction( - action: AnyAction, + action: Action, ): action is ClientsApiFailureAction { return isActionOf( [ @@ -119,7 +119,7 @@ type ResetClientsStateAction = ActionType< >; function isResetClientsStateAction( - action: AnyAction, + action: Action, ): action is ResetClientsStateAction { return isActionOf( [clientsActions.deleteClients.success, allEntitiesFlushed], diff --git a/src/redux/credentials/credentialsReducer.ts b/src/redux/credentials/credentialsReducer.ts index a710d290..16ee6107 100644 --- a/src/redux/credentials/credentialsReducer.ts +++ b/src/redux/credentials/credentialsReducer.ts @@ -7,12 +7,12 @@ import { import * as credentialsActions from "./credentialsActions"; -export interface CredentialsState { - readonly source: Credentials; - readonly target: Credentials; - readonly validationErrorsByMapping: ValidationErrorsByMapping; - readonly validationFetchStatus: FetchStatus; -} +export type CredentialsState = Readonly<{ + source: Credentials; + target: Credentials; + validationErrorsByMapping: ValidationErrorsByMapping; + validationFetchStatus: FetchStatus; +}>; const DEFAULT_VALIDATION_ERRORS = { source: null, diff --git a/src/redux/projects/projectsReducer.ts b/src/redux/projects/projectsReducer.ts index 6ed035b8..db3c1f8d 100644 --- a/src/redux/projects/projectsReducer.ts +++ b/src/redux/projects/projectsReducer.ts @@ -5,18 +5,18 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { Mapping, type Project } from "~/types"; import * as projectsActions from "./projectsActions"; -export interface ProjectsState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; -} +export type ProjectsState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; +}>; export const projectsInitialState: ProjectsState = { source: {}, @@ -75,7 +75,7 @@ type ProjectsCreateOrFetchSuccessAction = ActionType< >; function isProjectsApiSuccessAction( - action: AnyAction, + action: Action, ): action is ProjectsCreateOrFetchSuccessAction { return isActionOf( [ @@ -93,7 +93,7 @@ type ProjectsApiRequestAction = ActionType< >; function isProjectsApiRequestAction( - action: AnyAction, + action: Action, ): action is ProjectsApiRequestAction { return isActionOf( [ @@ -112,7 +112,7 @@ type ProjectsApiFailureAction = ActionType< >; function isProjectsApiFailureAction( - action: AnyAction, + action: Action, ): action is ProjectsApiFailureAction { return isActionOf( [ @@ -129,7 +129,7 @@ type ResetProjectsStateAction = ActionType< >; function isResetProjectsStateAction( - action: AnyAction, + action: Action, ): action is ResetProjectsStateAction { return isActionOf( [projectsActions.deleteProjects.success, allEntitiesFlushed], diff --git a/src/redux/reduxTools.ts b/src/redux/reduxTools.ts index fac3dff3..89d60188 100644 --- a/src/redux/reduxTools.ts +++ b/src/redux/reduxTools.ts @@ -5,7 +5,7 @@ export { createReducer, createSelector, nanoid, - type AnyAction, + type Action, type Selector, } from "@reduxjs/toolkit"; diff --git a/src/redux/tags/tagsReducer.ts b/src/redux/tags/tagsReducer.ts index eb404e23..f938250f 100644 --- a/src/redux/tags/tagsReducer.ts +++ b/src/redux/tags/tagsReducer.ts @@ -5,18 +5,18 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { Mapping, type Tag } from "~/types"; import * as tagsActions from "./tagsActions"; -export interface TagsState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; -} +export type TagsState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; +}>; export const tagsInitialState: TagsState = { source: {}, @@ -64,7 +64,7 @@ type TagsCreateOrFetchSuccessAction = ActionType< >; function isTagsApiSuccessAction( - action: AnyAction, + action: Action, ): action is TagsCreateOrFetchSuccessAction { return isActionOf( [tagsActions.createTags.success, tagsActions.fetchTags.success], @@ -79,7 +79,7 @@ type TagsApiRequestAction = ActionType< >; function isTagsApiRequestAction( - action: AnyAction, + action: Action, ): action is TagsApiRequestAction { return isActionOf( [ @@ -98,7 +98,7 @@ type TagsApiFailureAction = ActionType< >; function isTagsApiFailureAction( - action: AnyAction, + action: Action, ): action is TagsApiFailureAction { return isActionOf( [ @@ -115,7 +115,7 @@ type ResetTagsStateAction = ActionType< >; function isResetTagsStateAction( - action: AnyAction, + action: Action, ): action is ResetTagsStateAction { return isActionOf( [tagsActions.deleteTags.success, allEntitiesFlushed], diff --git a/src/redux/tasks/tasksReducer.ts b/src/redux/tasks/tasksReducer.ts index fe9356a8..f7f0982f 100644 --- a/src/redux/tasks/tasksReducer.ts +++ b/src/redux/tasks/tasksReducer.ts @@ -5,18 +5,18 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { Mapping, type Task } from "~/types"; import * as tasksActions from "./tasksActions"; -export interface TasksState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; -} +export type TasksState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; +}>; export const tasksInitialState: TasksState = { source: {}, @@ -75,7 +75,7 @@ type TasksCreateOrFetchSuccessAction = ActionType< >; function isTasksApiSuccessAction( - action: AnyAction, + action: Action, ): action is TasksCreateOrFetchSuccessAction { return isActionOf( [tasksActions.createTasks.success, tasksActions.fetchTasks.success], @@ -90,7 +90,7 @@ type TasksApiRequestAction = ActionType< >; function isTasksApiRequestAction( - action: AnyAction, + action: Action, ): action is TasksApiRequestAction { return isActionOf( [ @@ -109,7 +109,7 @@ type TasksApiFailureAction = ActionType< >; function isTasksApiFailureAction( - action: AnyAction, + action: Action, ): action is TasksApiFailureAction { return isActionOf( [ @@ -126,7 +126,7 @@ type ResetTasksStateAction = ActionType< >; function isResetTasksStateAction( - action: AnyAction, + action: Action, ): action is ResetTasksStateAction { return isActionOf( [tasksActions.deleteTasks.success, allEntitiesFlushed], diff --git a/src/redux/timeEntries/timeEntriesReducer.ts b/src/redux/timeEntries/timeEntriesReducer.ts index f9efdbb6..a8b93976 100644 --- a/src/redux/timeEntries/timeEntriesReducer.ts +++ b/src/redux/timeEntries/timeEntriesReducer.ts @@ -4,19 +4,19 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { Mapping, type TimeEntry } from "~/types"; import * as timeEntriesActions from "./timeEntriesActions"; -export interface TimeEntriesState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; - readonly isDuplicateCheckEnabled: boolean; -} +export type TimeEntriesState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; + isDuplicateCheckEnabled: boolean; +}>; export const timeEntriesInitialState: TimeEntriesState = { source: {}, @@ -91,7 +91,7 @@ type TimeEntriesCreateOrFetchSuccessAction = ActionType< >; function isTimeEntriesApiSuccessAction( - action: AnyAction, + action: Action, ): action is TimeEntriesCreateOrFetchSuccessAction { return isActionOf( [ @@ -109,7 +109,7 @@ type TimeEntriesApiRequestAction = ActionType< >; function isTimeEntriesApiRequestAction( - action: AnyAction, + action: Action, ): action is TimeEntriesApiRequestAction { return isActionOf( [ @@ -128,7 +128,7 @@ type TimeEntriesApiFailureAction = ActionType< >; function isTimeEntriesApiFailureAction( - action: AnyAction, + action: Action, ): action is TimeEntriesApiFailureAction { return isActionOf( [ @@ -146,7 +146,7 @@ type ResetTimeEntriesStateAction = ActionType< >; function isResetTimeEntriesStateAction( - action: AnyAction, + action: Action, ): action is ResetTimeEntriesStateAction { return isActionOf( [timeEntriesActions.deleteTimeEntries.success, allEntitiesFlushed], diff --git a/src/redux/userGroups/sagas/clockifyUserGroupsSagas.ts b/src/redux/userGroups/sagas/clockifyUserGroupsSagas.ts index 737686ed..0d5f5e6f 100644 --- a/src/redux/userGroups/sagas/clockifyUserGroupsSagas.ts +++ b/src/redux/userGroups/sagas/clockifyUserGroupsSagas.ts @@ -7,11 +7,11 @@ import { deleteEntitiesForTool } from "~/api/deleteEntitiesForTool"; import { fetchEntitiesForTool } from "~/api/fetchEntitiesForTool"; import { EntityGroup, ToolName, type UserGroup } from "~/types"; -interface ClockifyUserGroupResponse { +type ClockifyUserGroupResponse = { id: string; name: string; userIds: string[]; -} +}; /** * Creates new Clockify user groups in all target workspaces and returns array of diff --git a/src/redux/userGroups/sagas/togglUserGroupsSagas.ts b/src/redux/userGroups/sagas/togglUserGroupsSagas.ts index e68b0c19..51b30272 100644 --- a/src/redux/userGroups/sagas/togglUserGroupsSagas.ts +++ b/src/redux/userGroups/sagas/togglUserGroupsSagas.ts @@ -8,12 +8,12 @@ import { fetchEntitiesForTool } from "~/api/fetchEntitiesForTool"; import { EntityGroup, ToolName, type UserGroup } from "~/types"; import { validStringify } from "~/utilities/textTransforms"; -interface TogglUserGroupResponse { +type TogglUserGroupResponse = { + at: string; id: number; - wid: number; name: string; - at: string; -} + wid: number; +}; /** * Creates new Toggl user groups that correspond to source and returns an array of diff --git a/src/redux/userGroups/userGroupsActions.ts b/src/redux/userGroups/userGroupsActions.ts index 4eca90f8..fc7d6a80 100644 --- a/src/redux/userGroups/userGroupsActions.ts +++ b/src/redux/userGroups/userGroupsActions.ts @@ -1,11 +1,11 @@ import { createAction, createAsyncAction } from "~/redux/reduxTools"; import type { Mapping, UserGroup } from "~/types"; -interface UserAddedPayload { +type UserAddedPayload = { mapping: Mapping; - userId: string; userGroupId: string; -} + userId: string; +}; export const isUserGroupIncludedToggled = createAction( "@userGroups/isUserGroupIncludedToggled", diff --git a/src/redux/userGroups/userGroupsReducer.ts b/src/redux/userGroups/userGroupsReducer.ts index a681b060..a91eac72 100644 --- a/src/redux/userGroups/userGroupsReducer.ts +++ b/src/redux/userGroups/userGroupsReducer.ts @@ -4,18 +4,18 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { Mapping, type UserGroup } from "~/types"; import * as userGroupsActions from "./userGroupsActions"; -export interface UserGroupsState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; -} +export type UserGroupsState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; +}>; export const userGroupsInitialState: UserGroupsState = { source: {}, @@ -62,7 +62,7 @@ type UserGroupsCreateOrFetchSuccessAction = ActionType< >; function isUserGroupsApiSuccessAction( - action: AnyAction, + action: Action, ): action is UserGroupsCreateOrFetchSuccessAction { return isActionOf( [ @@ -80,7 +80,7 @@ type UserGroupsApiRequestAction = ActionType< >; function isUserGroupsApiRequestAction( - action: AnyAction, + action: Action, ): action is UserGroupsApiRequestAction { return isActionOf( [ @@ -99,7 +99,7 @@ type UserGroupsApiFailureAction = ActionType< >; function isUserGroupsApiFailureAction( - action: AnyAction, + action: Action, ): action is UserGroupsApiFailureAction { return isActionOf( [ @@ -116,7 +116,7 @@ type ResetUserGroupsStateAction = ActionType< >; function isResetUserGroupsStateAction( - action: AnyAction, + action: Action, ): action is ResetUserGroupsStateAction { return isActionOf( [userGroupsActions.deleteUserGroups.success, allEntitiesFlushed], diff --git a/src/redux/users/sagas/togglUsersSagas.ts b/src/redux/users/sagas/togglUsersSagas.ts index d91f493a..bdab277e 100644 --- a/src/redux/users/sagas/togglUsersSagas.ts +++ b/src/redux/users/sagas/togglUsersSagas.ts @@ -14,33 +14,33 @@ import { includedSourceWorkspaceIdsSelector } from "~/redux/workspaces/workspace import { EntityGroup, ToolName, type User } from "~/types"; import { validStringify } from "~/utilities/textTransforms"; -export interface TogglUserResponse { - id: number; +export type TogglUserResponse = { api_token: string; + at: string; + beginning_of_week: number; + country_id: number; + created_at: string; + default_workspace_id: number; email: string; fullname: string; - timezone: string; - default_workspace_id: number; - beginning_of_week: number; + has_password: boolean; + id: number; image_url: string; - created_at: string; - updated_at: string; + intercom_hash: string; openid_email: string | null; openid_enabled: boolean; - country_id: number; - at: string; - intercom_hash: string; - has_password: boolean; -} + timezone: string; + updated_at: string; +}; -interface TogglProjectUserResponse { +type TogglProjectUserResponse = { id: number; + manager: boolean; pid: number; + rate: number; uid: number; wid: number; - manager: boolean; - rate: number; -} +}; /** * Sends invites to the array of specified emails. diff --git a/src/redux/users/usersReducer.ts b/src/redux/users/usersReducer.ts index 1736fa15..dbcfafc7 100644 --- a/src/redux/users/usersReducer.ts +++ b/src/redux/users/usersReducer.ts @@ -4,18 +4,18 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import { Mapping, type User } from "~/types"; import * as usersActions from "./usersActions"; -export interface UsersState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly isFetching: boolean; -} +export type UsersState = Readonly<{ + source: Dictionary; + target: Dictionary; + isFetching: boolean; +}>; export const usersInitialState: UsersState = { source: {}, @@ -64,7 +64,7 @@ type UsersApiRequestAction = ActionType< >; function isUsersApiRequestAction( - action: AnyAction, + action: Action, ): action is UsersApiRequestAction { return isActionOf( [ @@ -83,7 +83,7 @@ type UsersApiFailureAction = ActionType< >; function isUsersApiFailureAction( - action: AnyAction, + action: Action, ): action is UsersApiFailureAction { return isActionOf( [ @@ -100,7 +100,7 @@ type ResetUsersStateAction = ActionType< >; function isResetUsersStateAction( - action: AnyAction, + action: Action, ): action is ResetUsersStateAction { return isActionOf( [usersActions.deleteUsers.success, allEntitiesFlushed], diff --git a/src/redux/workspaces/workspacesActions.ts b/src/redux/workspaces/workspacesActions.ts index 5a3e8a1b..b01cdce4 100755 --- a/src/redux/workspaces/workspacesActions.ts +++ b/src/redux/workspaces/workspacesActions.ts @@ -13,20 +13,20 @@ export const isWorkspaceIncludedToggled = createAction( "@workspaces/isWorkspaceIncludedToggled", ); -interface UserIdsAppendedPayload { +type UserIdsAppendedPayload = { mapping: Mapping; - workspaceId: string; userIds: string[]; -} + workspaceId: string; +}; export const userIdsAppendedToWorkspace = createAction( "@workspaces/userIdsAppendedToWorkspace", ); -interface WorkspaceLinkingPayload { +type WorkspaceLinkingPayload = { sourceId: string; targetId: string | null; -} +}; export const workspaceLinkingUpdated = createAction( "@workspaces/workspaceLinkingUpdated", diff --git a/src/redux/workspaces/workspacesReducer.ts b/src/redux/workspaces/workspacesReducer.ts index b951e30a..452dc580 100755 --- a/src/redux/workspaces/workspacesReducer.ts +++ b/src/redux/workspaces/workspacesReducer.ts @@ -4,19 +4,19 @@ import { allEntitiesFlushed } from "~/redux/allEntities/allEntitiesActions"; import { createReducer, isActionOf, + type Action, type ActionType, - type AnyAction, } from "~/redux/reduxTools"; import type { Workspace } from "~/types"; import * as workspacesActions from "./workspacesActions"; -export interface WorkspacesState { - readonly source: Dictionary; - readonly target: Dictionary; - readonly activeWorkspaceId: string; - readonly isFetching: boolean; -} +export type WorkspacesState = Readonly<{ + source: Dictionary; + target: Dictionary; + activeWorkspaceId: string; + isFetching: boolean; +}>; export const workspacesInitialState: WorkspacesState = { source: {}, @@ -156,7 +156,7 @@ type WorkspacesCreateOrFetchSuccessAction = ActionType< >; function isWorkspacesApiSuccessAction( - action: AnyAction, + action: Action, ): action is WorkspacesCreateOrFetchSuccessAction { return isActionOf( [ @@ -173,7 +173,7 @@ type WorkspacesApiRequestAction = ActionType< >; function isWorkspacesApiRequestAction( - action: AnyAction, + action: Action, ): action is WorkspacesApiRequestAction { return isActionOf( [ @@ -190,7 +190,7 @@ type WorkspacesApiFailureAction = ActionType< >; function isWorkspacesApiFailureAction( - action: AnyAction, + action: Action, ): action is WorkspacesApiFailureAction { return isActionOf( [ diff --git a/src/types.ts b/src/types.ts index d3576f8c..12985446 100644 --- a/src/types.ts +++ b/src/types.ts @@ -10,7 +10,7 @@ import type { UserGroupsState } from "~/redux/userGroups/userGroupsReducer"; import type { UsersState } from "~/redux/users/usersReducer"; import type { WorkspacesState } from "~/redux/workspaces/workspacesReducer"; -export interface ReduxState { +export type ReduxState = Readonly<{ allEntities: AllEntitiesState; app: AppState; clients: ClientsState; @@ -22,15 +22,15 @@ export interface ReduxState { userGroups: UserGroupsState; users: UsersState; workspaces: WorkspacesState; -} +}>; type NotificationType = "error" | "info" | "success"; -export interface Notification { +export type Notification = { id: string; message: string; type: NotificationType; -} +}; export enum ToolName { None = "none", @@ -49,11 +49,11 @@ export enum ToolAction { Transfer = "transfer", } -export interface ToolHelpDetails { +export type ToolHelpDetails = { toolName: ToolName; displayName: string; toolLink: string; -} +}; export enum EntityGroup { Clients = "clients", @@ -95,10 +95,10 @@ export type CountsByEntityGroup = Record< number >; -export interface ToolNameByMapping { +export type ToolNameByMapping = { [Mapping.Source]: ToolName; [Mapping.Target]: ToolName; -} +}; export interface Client extends AnyEntity { id: string; @@ -110,27 +110,27 @@ export type ClientTableRecord = EntityTableRecord & { projectCount: number; }; -export interface Credentials { +export type Credentials = { apiKey: string | null; email: string | null; userId: string | null; -} +}; export type CredentialsByMapping = Record; export type ValidationErrorsByMapping = Record; -export interface PartialCredentialsUpdate { +export type PartialCredentialsUpdate = { mapping: Mapping; apiKey?: string | null; email?: string | null; userId?: string | null; -} +}; -export interface Estimate { +export type Estimate = { estimate: number | string; type: "AUTO" | "MANUAL"; -} +}; export interface Project extends AnyEntity { id: string; diff --git a/src/utilities/domElements.ts b/src/utilities/domElements.ts index f22d69a5..85191fad 100644 --- a/src/utilities/domElements.ts +++ b/src/utilities/domElements.ts @@ -10,11 +10,11 @@ export type ElementInput = | null | undefined; -interface SetFocusOptions { +type SetFocusOptions = { delay?: number; parent?: ElementInput; preventScroll?: boolean; -} +}; /** * Returns the value associated with the specified dataset entry name. If the From 5b96eb26c746ac2580a724b72c1075c80ca0cff8 Mon Sep 17 00:00:00 2001 From: Mike Rourke Date: Tue, 16 Jan 2024 17:28:00 -0800 Subject: [PATCH 5/6] refactor: fix code to remove `@ts-expect-error` comments --- src/redux/allEntities/allEntitiesSelectors.ts | 8 +-- src/redux/clients/sagas/clientsSagas.ts | 47 ++++++++--------- src/redux/credentials/credentialsSaga.ts | 8 +-- src/redux/projects/sagas/projectsSagas.ts | 48 +++++++++--------- src/redux/tags/sagas/tagsSagas.ts | 47 ++++++++--------- src/redux/tasks/sagas/tasksSagas.ts | 47 ++++++++--------- .../timeEntries/sagas/timeEntriesSagas.ts | 45 ++++++++--------- src/redux/timeEntries/timeEntriesSelectors.ts | 3 +- src/redux/userGroups/sagas/userGroupsSagas.ts | 50 ++++++++++--------- src/redux/users/sagas/usersSagas.ts | 47 ++++++++--------- .../__tests__/workspacesSelectors.test.ts | 4 +- src/redux/workspaces/sagas/workspacesSaga.ts | 21 ++++---- .../enterApiKeysStep/EnterApiKeysStep.svelte | 3 +- .../PerformToolActionStep.svelte | 24 +++++---- src/types.ts | 7 ++- 15 files changed, 211 insertions(+), 198 deletions(-) diff --git a/src/redux/allEntities/allEntitiesSelectors.ts b/src/redux/allEntities/allEntitiesSelectors.ts index 7a389fca..67731a89 100644 --- a/src/redux/allEntities/allEntitiesSelectors.ts +++ b/src/redux/allEntities/allEntitiesSelectors.ts @@ -142,11 +142,11 @@ export const toolHelpDetailsByMappingSelector = createSelector( }; for (const [mapping, toolName] of Object.entries(toolNameByMapping)) { - // @ts-expect-error - toolHelpDetailsByMapping[mapping] = { + const mappingKey = mapping as keyof typeof toolHelpDetailsByMapping; + + toolHelpDetailsByMapping[mappingKey] = { toolName, - // @ts-expect-error - displayName: displayNameByMapping[mapping], + displayName: displayNameByMapping[mappingKey], toolLink: findToolLink(toolName), }; } diff --git a/src/redux/clients/sagas/clientsSagas.ts b/src/redux/clients/sagas/clientsSagas.ts index 5fcc36b7..91831a29 100644 --- a/src/redux/clients/sagas/clientsSagas.ts +++ b/src/redux/clients/sagas/clientsSagas.ts @@ -25,17 +25,16 @@ export function* createClientsSaga(): SagaIterator { yield put(clientsActions.createClients.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyClientsSaga, - [ToolName.Toggl]: togglSagas.createTogglClientsSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyClientsSaga + : togglSagas.createTogglClientsSaga; const sourceClients = yield select(sourceClientsForTransferSelector); - const targetClients = yield call(createSagaByToolName, sourceClients); + const targetClients = yield call(createSagaForTargetTool, sourceClients); const clientsByIdByMapping = yield call( linkEntitiesByIdByMapping, @@ -58,17 +57,16 @@ export function* deleteClientsSaga(): SagaIterator { yield put(clientsActions.deleteClients.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.deleteClockifyClientsSaga, - [ToolName.Toggl]: togglSagas.deleteTogglClientsSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.deleteClockifyClientsSaga + : togglSagas.deleteTogglClientsSaga; const sourceClients = yield select(includedSourceClientsSelector); - yield call(deleteSagaByToolName, sourceClients); + yield call(deleteSagaForSourceTool, sourceClients); yield put(clientsActions.deleteClients.success()); } catch (err: AnyValid) { @@ -85,23 +83,26 @@ export function* fetchClientsSaga(): SagaIterator { yield put(clientsActions.fetchClients.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyClientsSaga, - [ToolName.Toggl]: togglSagas.fetchTogglClientsSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceClients = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyClientsSaga + : togglSagas.fetchTogglClientsSaga; + + const sourceClients = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let clientsByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetClients = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyClientsSaga + : togglSagas.fetchTogglClientsSaga; + + const targetClients = yield call(fetchSagaForTargetTool); clientsByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/redux/credentials/credentialsSaga.ts b/src/redux/credentials/credentialsSaga.ts index 34264e59..dae6fff1 100644 --- a/src/redux/credentials/credentialsSaga.ts +++ b/src/redux/credentials/credentialsSaga.ts @@ -12,7 +12,7 @@ import * as credentialsActions from "~/redux/credentials/credentialsActions"; import { credentialsByMappingSelector } from "~/redux/credentials/credentialsSelectors"; import { mergeCredentialsInStorage } from "~/redux/credentials/credentialsStorage"; import type { TogglUserResponse } from "~/redux/users/sagas/togglUsersSagas"; -import { ToolName, type ValidationErrorsByMapping } from "~/types"; +import { Mapping, ToolName, type ValidationErrorsByMapping } from "~/types"; import { isDevelopmentMode } from "~/utilities/environment"; import { validStringify } from "~/utilities/textTransforms"; @@ -56,7 +56,9 @@ function* validateCredentialsSaga(): SagaIterator { const credentialsByMapping = clone(currentCredentialsByMapping); - const mappingByToolName = yield select(mappingByToolNameSelector); + const mappingByToolName: Record = yield select( + mappingByToolNameSelector, + ); const validationErrorsByMapping: ValidationErrorsByMapping = { source: null, @@ -74,7 +76,6 @@ function* validateCredentialsSaga(): SagaIterator { credentialsByMapping[clockifyMapping].userId = clockifyUser.id; } catch { - // @ts-expect-error validationErrorsByMapping[clockifyMapping] = "Invalid API key"; hasValidationErrors = true; @@ -90,7 +91,6 @@ function* validateCredentialsSaga(): SagaIterator { credentialsByMapping[togglMapping].userId = validStringify(me?.id, null); } catch { - // @ts-expect-error validationErrorsByMapping[togglMapping] = "Invalid API key"; hasValidationErrors = true; diff --git a/src/redux/projects/sagas/projectsSagas.ts b/src/redux/projects/sagas/projectsSagas.ts index d11b4b3e..bda3fd06 100644 --- a/src/redux/projects/sagas/projectsSagas.ts +++ b/src/redux/projects/sagas/projectsSagas.ts @@ -91,17 +91,15 @@ export function* createProjectsSaga(): SagaIterator { yield put(projectActions.createProjects.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyProjectsSaga, - [ToolName.Toggl]: togglSagas.createTogglProjectsSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyProjectsSaga + : togglSagas.createTogglProjectsSaga; const sourceProjects = yield select(sourceProjectsForTransferSelector); - - const targetProjects = yield call(createSagaByToolName, sourceProjects); + const targetProjects = yield call(createSagaForTargetTool, sourceProjects); const projectsByIdByMapping = yield call( linkEntitiesByIdByMapping, @@ -124,17 +122,16 @@ export function* deleteProjectsSaga(): SagaIterator { yield put(projectActions.deleteProjects.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.deleteClockifyProjectsSaga, - [ToolName.Toggl]: togglSagas.deleteTogglProjectsSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.deleteClockifyProjectsSaga + : togglSagas.deleteTogglProjectsSaga; const sourceProjects = yield select(includedSourceProjectsSelector); - yield call(deleteSagaByToolName, sourceProjects); + yield call(deleteSagaForSourceTool, sourceProjects); yield put(projectActions.deleteProjects.success()); } catch (err: AnyValid) { @@ -151,23 +148,26 @@ export function* fetchProjectsSaga(): SagaIterator { yield put(projectActions.fetchProjects.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyProjectsSaga, - [ToolName.Toggl]: togglSagas.fetchTogglProjectsSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceProjects = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyProjectsSaga + : togglSagas.fetchTogglProjectsSaga; + + const sourceProjects = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let projectsByIdByMapping: Record>; + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyProjectsSaga + : togglSagas.fetchTogglProjectsSaga; + if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetProjects = yield call(fetchSagaByToolName[target]); + const targetProjects = yield call(fetchSagaForTargetTool); projectsByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/redux/tags/sagas/tagsSagas.ts b/src/redux/tags/sagas/tagsSagas.ts index c4dbfdf1..647ced60 100644 --- a/src/redux/tags/sagas/tagsSagas.ts +++ b/src/redux/tags/sagas/tagsSagas.ts @@ -25,17 +25,16 @@ export function* createTagsSaga(): SagaIterator { yield put(tagsActions.createTags.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyTagsSaga, - [ToolName.Toggl]: togglSagas.createTogglTagsSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyTagsSaga + : togglSagas.createTogglTagsSaga; const sourceTags = yield select(sourceTagsForTransferSelector); - const targetTags = yield call(createSagaByToolName, sourceTags); + const targetTags = yield call(createSagaForTargetTool, sourceTags); const tagsByIdByMapping = yield call( linkEntitiesByIdByMapping, @@ -58,17 +57,16 @@ export function* deleteTagsSaga(): SagaIterator { yield put(tagsActions.deleteTags.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.deleteClockifyTagsSaga, - [ToolName.Toggl]: togglSagas.deleteTogglTagsSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.deleteClockifyTagsSaga + : togglSagas.deleteTogglTagsSaga; const sourceTags = yield select(includedSourceTagsSelector); - yield call(deleteSagaByToolName, sourceTags); + yield call(deleteSagaForSourceTool, sourceTags); yield put(tagsActions.deleteTags.success()); } catch (err: AnyValid) { @@ -85,23 +83,26 @@ export function* fetchTagsSaga(): SagaIterator { yield put(tagsActions.fetchTags.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyTagsSaga, - [ToolName.Toggl]: togglSagas.fetchTogglTagsSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceTags = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyTagsSaga + : togglSagas.fetchTogglTagsSaga; + + const sourceTags = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let tagsByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetTags = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyTagsSaga + : togglSagas.fetchTogglTagsSaga; + + const targetTags = yield call(fetchSagaForTargetTool); tagsByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/redux/tasks/sagas/tasksSagas.ts b/src/redux/tasks/sagas/tasksSagas.ts index caab1263..5d8f4fa7 100644 --- a/src/redux/tasks/sagas/tasksSagas.ts +++ b/src/redux/tasks/sagas/tasksSagas.ts @@ -104,17 +104,16 @@ export function* createTasksSaga(): SagaIterator { yield put(tasksActions.createTasks.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyTasksSaga, - [ToolName.Toggl]: togglSagas.createTogglTasksSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyTasksSaga + : togglSagas.createTogglTasksSaga; const sourceTasks = yield select(sourceTasksForTransferSelector); - const targetTasks = yield call(createSagaByToolName, sourceTasks); + const targetTasks = yield call(createSagaForTargetTool, sourceTasks); const tasksByIdByMapping = yield call( linkEntitiesByIdByMapping, @@ -137,17 +136,16 @@ export function* deleteTasksSaga(): SagaIterator { yield put(tasksActions.deleteTasks.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.deleteClockifyTasksSaga, - [ToolName.Toggl]: togglSagas.deleteTogglTasksSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.deleteClockifyTasksSaga + : togglSagas.deleteTogglTasksSaga; const sourceTasks = yield select(includedSourceTasksSelector); - yield call(deleteSagaByToolName, sourceTasks); + yield call(deleteSagaForSourceTool, sourceTasks); yield put(tasksActions.deleteTasks.success()); } catch (err: AnyValid) { @@ -164,23 +162,26 @@ export function* fetchTasksSaga(): SagaIterator { yield put(tasksActions.fetchTasks.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyTasksSaga, - [ToolName.Toggl]: togglSagas.fetchTogglTasksSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceTasks = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyTasksSaga + : togglSagas.fetchTogglTasksSaga; + + const sourceTasks = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let tasksByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetTasks = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyTasksSaga + : togglSagas.fetchTogglTasksSaga; + + const targetTasks = yield call(fetchSagaForTargetTool); tasksByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/redux/timeEntries/sagas/timeEntriesSagas.ts b/src/redux/timeEntries/sagas/timeEntriesSagas.ts index bb425561..1b7b62bc 100644 --- a/src/redux/timeEntries/sagas/timeEntriesSagas.ts +++ b/src/redux/timeEntries/sagas/timeEntriesSagas.ts @@ -25,20 +25,19 @@ export function* createTimeEntriesSaga(): SagaIterator { yield put(timeEntriesActions.createTimeEntries.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyTimeEntriesSaga, - [ToolName.Toggl]: togglSagas.createTogglTimeEntriesSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyTimeEntriesSaga + : togglSagas.createTogglTimeEntriesSaga; const sourceTimeEntries = yield select( sourceTimeEntriesForTransferSelector, ); const targetTimeEntries = yield call( - createSagaByToolName, + createSagaForTargetTool, sourceTimeEntries, ); @@ -64,17 +63,16 @@ export function* deleteTimeEntriesSaga(): SagaIterator { yield put(timeEntriesActions.deleteTimeEntries.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.deleteClockifyTimeEntriesSaga, - [ToolName.Toggl]: togglSagas.deleteTogglTimeEntriesSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.deleteClockifyTimeEntriesSaga + : togglSagas.deleteTogglTimeEntriesSaga; const sourceTimeEntries = yield select(includedSourceTimeEntriesSelector); - yield call(deleteSagaByToolName, sourceTimeEntries); + yield call(deleteSagaForSourceTool, sourceTimeEntries); yield put(timeEntriesActions.deleteTimeEntries.success()); } catch (err: AnyValid) { @@ -92,16 +90,14 @@ export function* fetchTimeEntriesSaga(): SagaIterator { yield put(timeEntriesActions.fetchTimeEntries.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyTimeEntriesSaga, - [ToolName.Toggl]: togglSagas.fetchTogglTimeEntriesSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - let sourceTimeEntries = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyTimeEntriesSaga + : togglSagas.fetchTogglTimeEntriesSaga; + let sourceTimeEntries = yield call(fetchSagaForSourceTool); sourceTimeEntries = sortTimeEntries(sourceTimeEntries); const toolAction = yield select(toolActionSelector); @@ -109,9 +105,12 @@ export function* fetchTimeEntriesSaga(): SagaIterator { let timeEntriesByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - let targetTimeEntries = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyTimeEntriesSaga + : togglSagas.fetchTogglTimeEntriesSaga; + let targetTimeEntries = yield call(fetchSagaForTargetTool); targetTimeEntries = sortTimeEntries(targetTimeEntries); timeEntriesByIdByMapping = yield call( diff --git a/src/redux/timeEntries/timeEntriesSelectors.ts b/src/redux/timeEntries/timeEntriesSelectors.ts index e19449fc..986a1490 100644 --- a/src/redux/timeEntries/timeEntriesSelectors.ts +++ b/src/redux/timeEntries/timeEntriesSelectors.ts @@ -131,8 +131,7 @@ export const sourceTimeEntryCountByIdFieldSelectorFactory = ( const timeEntryCountByIdField: Dictionary = {}; for (const timeEntry of sourceTimeEntries) { - // @ts-expect-error - const parentId = timeEntry[idField]; + const parentId = timeEntry[idField as keyof typeof timeEntry] as string; if (!isNil(parentId)) { const currentCountForId = propOr, number>( diff --git a/src/redux/userGroups/sagas/userGroupsSagas.ts b/src/redux/userGroups/sagas/userGroupsSagas.ts index 84e1b361..59474cea 100644 --- a/src/redux/userGroups/sagas/userGroupsSagas.ts +++ b/src/redux/userGroups/sagas/userGroupsSagas.ts @@ -25,17 +25,19 @@ export function* createUserGroupsSaga(): SagaIterator { yield put(userGroupsActions.createUserGroups.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyUserGroupsSaga, - [ToolName.Toggl]: togglSagas.createTogglUserGroupsSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyUserGroupsSaga + : togglSagas.createTogglUserGroupsSaga; const sourceUserGroups = yield select(sourceUserGroupsForTransferSelector); - const targetUserGroups = yield call(createSagaByToolName, sourceUserGroups); + const targetUserGroups = yield call( + createSagaForTargetTool, + sourceUserGroups, + ); const userGroupsByIdByMapping = yield call( linkEntitiesByIdByMapping, @@ -60,17 +62,16 @@ export function* deleteUserGroupsSaga(): SagaIterator { yield put(userGroupsActions.deleteUserGroups.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.deleteClockifyUserGroupsSaga, - [ToolName.Toggl]: togglSagas.deleteTogglUserGroupsSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.deleteClockifyUserGroupsSaga + : togglSagas.deleteTogglUserGroupsSaga; const sourceUserGroups = yield select(includedSourceUserGroupsSelector); - yield call(deleteSagaByToolName, sourceUserGroups); + yield call(deleteSagaForSourceTool, sourceUserGroups); yield put(userGroupsActions.deleteUserGroups.success()); } catch (err: AnyValid) { @@ -87,23 +88,26 @@ export function* fetchUserGroupsSaga(): SagaIterator { yield put(userGroupsActions.fetchUserGroups.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyUserGroupsSaga, - [ToolName.Toggl]: togglSagas.fetchTogglUserGroupsSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceUserGroups = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyUserGroupsSaga + : togglSagas.fetchTogglUserGroupsSaga; + + const sourceUserGroups = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let userGroupsByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetUserGroups = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyUserGroupsSaga + : togglSagas.fetchTogglUserGroupsSaga; + + const targetUserGroups = yield call(fetchSagaForTargetTool); userGroupsByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/redux/users/sagas/usersSagas.ts b/src/redux/users/sagas/usersSagas.ts index bdbe3bc6..f73bd8a1 100644 --- a/src/redux/users/sagas/usersSagas.ts +++ b/src/redux/users/sagas/usersSagas.ts @@ -25,17 +25,16 @@ export function* createUsersSaga(): SagaIterator { yield put(usersActions.createUsers.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const createSagaByToolName = { - [ToolName.Clockify]: clockifySagas.createClockifyUsersSaga, - [ToolName.Toggl]: togglSagas.createTogglUsersSaga, - }[toolNameByMapping.target]; + const createSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.createClockifyUsersSaga + : togglSagas.createTogglUsersSaga; const emailsByUserId = yield select(sourceUserEmailsByWorkspaceIdSelector); - yield call(createSagaByToolName, emailsByUserId); + yield call(createSagaForTargetTool, emailsByUserId); yield put(usersActions.createUsers.success()); @@ -56,17 +55,16 @@ export function* deleteUsersSaga(): SagaIterator { yield put(usersActions.deleteUsers.request()); try { - const toolNameByMapping = yield select(toolNameByMappingSelector); + const { source } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const deleteSagaByToolName = { - [ToolName.Clockify]: clockifySagas.removeClockifyUsersSaga, - [ToolName.Toggl]: togglSagas.removeTogglUsersSaga, - }[toolNameByMapping.source]; + const deleteSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.removeClockifyUsersSaga + : togglSagas.removeTogglUsersSaga; const sourceUsers = yield select(includedSourceUsersSelector); - yield call(deleteSagaByToolName, sourceUsers); + yield call(deleteSagaForSourceTool, sourceUsers); yield put(usersActions.deleteUsers.success()); } catch (err: AnyValid) { @@ -82,23 +80,26 @@ export function* deleteUsersSaga(): SagaIterator { export function* fetchUsersSaga(): SagaIterator { yield put(usersActions.fetchUsers.request()); try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyUsersSaga, - [ToolName.Toggl]: togglSagas.fetchTogglUsersSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceUsers = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyUsersSaga + : togglSagas.fetchTogglUsersSaga; + + const sourceUsers = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let usersByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetUsers = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyUsersSaga + : togglSagas.fetchTogglUsersSaga; + + const targetUsers = yield call(fetchSagaForTargetTool); usersByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/redux/workspaces/__tests__/workspacesSelectors.test.ts b/src/redux/workspaces/__tests__/workspacesSelectors.test.ts index 9b6d900c..ee63acf6 100644 --- a/src/redux/workspaces/__tests__/workspacesSelectors.test.ts +++ b/src/redux/workspaces/__tests__/workspacesSelectors.test.ts @@ -117,7 +117,7 @@ describe("within workspacesSelectors", () => { ...MOCK_STATE.workspaces, source: { "1001": { - // @ts-expect-error + // @ts-ignore ...MOCK_STATE.workspaces.source["1001"], isIncluded: false, }, @@ -151,7 +151,7 @@ describe("within workspacesSelectors", () => { source: { ...MOCK_STATE.workspaces.source, "1001": { - // @ts-expect-error + // @ts-ignore ...MOCK_STATE.workspaces.source["1001"], linkedId: "clock-workspace-01", }, diff --git a/src/redux/workspaces/sagas/workspacesSaga.ts b/src/redux/workspaces/sagas/workspacesSaga.ts index 531ae78d..0ab648ff 100644 --- a/src/redux/workspaces/sagas/workspacesSaga.ts +++ b/src/redux/workspaces/sagas/workspacesSaga.ts @@ -19,23 +19,26 @@ export function* workspacesSaga(): SagaIterator { function* fetchWorkspacesSaga(): SagaIterator { try { - const fetchSagaByToolName = { - [ToolName.Clockify]: clockifySagas.fetchClockifyWorkspacesSaga, - [ToolName.Toggl]: togglSagas.fetchTogglWorkspacesSaga, - }; - const { source, target } = yield select(toolNameByMappingSelector); - // @ts-expect-error - const sourceWorkspaces = yield call(fetchSagaByToolName[source]); + const fetchSagaForSourceTool = + source === ToolName.Clockify + ? clockifySagas.fetchClockifyWorkspacesSaga + : togglSagas.fetchTogglWorkspacesSaga; + + const sourceWorkspaces = yield call(fetchSagaForSourceTool); const toolAction = yield select(toolActionSelector); let workspaceByIdByMapping: Record>; if (toolAction === ToolAction.Transfer) { - // @ts-expect-error - const targetWorkspaces = yield call(fetchSagaByToolName[target]); + const fetchSagaForTargetTool = + target === ToolName.Clockify + ? clockifySagas.fetchClockifyWorkspacesSaga + : togglSagas.fetchTogglWorkspacesSaga; + + const targetWorkspaces = yield call(fetchSagaForTargetTool); workspaceByIdByMapping = yield call( linkEntitiesByIdByMapping, diff --git a/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte b/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte index a53d26e9..77a050bb 100644 --- a/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte +++ b/src/steps/enterApiKeysStep/EnterApiKeysStep.svelte @@ -109,8 +109,7 @@ }; for (const [mapping, value] of Object.entries(values)) { - // @ts-expect-error - const { toolName } = $toolHelpDetailsByMapping[mapping]; + const { toolName } = $toolHelpDetailsByMapping[mapping as Mapping]; if (value === "" && toolName !== ToolName.None) { isValid = false; diff --git a/src/steps/performToolActionStep/PerformToolActionStep.svelte b/src/steps/performToolActionStep/PerformToolActionStep.svelte index ac72decc..989d88e0 100644 --- a/src/steps/performToolActionStep/PerformToolActionStep.svelte +++ b/src/steps/performToolActionStep/PerformToolActionStep.svelte @@ -22,6 +22,7 @@ EntityGroup, FetchStatus, ToolAction, + type ChildEntityGroup, type CountsByEntityGroup, } from "~/types"; import { capitalize } from "~/utilities/textTransforms"; @@ -37,11 +38,11 @@ const includedCountsByEntityGroup = select( includedCountsByEntityGroupSelector, ); - const transferCountsByEntityGroup = select( + const transferCountsByEntityGroup = select( transferCountsByEntityGroupSelector, ); - const orderedEntityGroups: EntityGroup[] = getOrderedEntityGroups( + const orderedEntityGroups: ChildEntityGroup[] = getOrderedEntityGroups( $includedCountsByEntityGroup, ); @@ -65,10 +66,10 @@ function getOrderedEntityGroups( countsByEntityGroup: CountsByEntityGroup, - ): EntityGroup[] { - const entityGroups: EntityGroup[] = []; + ): ChildEntityGroup[] { + const entityGroups: ChildEntityGroup[] = []; - const allOrdered = + const allOrdered: ChildEntityGroup[] = $toolAction === ToolAction.Delete ? [ EntityGroup.TimeEntries, @@ -77,12 +78,17 @@ EntityGroup.Tags, EntityGroup.Clients, ] - : Object.keys(countsByEntityGroup); + : [ + EntityGroup.Clients, + EntityGroup.Tags, + EntityGroup.Projects, + EntityGroup.Tasks, + EntityGroup.TimeEntries, + ]; for (const entityGroup of allOrdered) { - // @ts-expect-error - if (countsByEntityGroup[entityGroup] !== 0) { - entityGroups.push(entityGroup as EntityGroup); + if (countsByEntityGroup[entityGroup as ChildEntityGroup] !== 0) { + entityGroups.push(entityGroup as ChildEntityGroup); } } diff --git a/src/types.ts b/src/types.ts index 12985446..2c81f0ae 100644 --- a/src/types.ts +++ b/src/types.ts @@ -90,10 +90,9 @@ export type EntityTableRecord = TEntity & { isActiveInTarget: boolean; }; -export type CountsByEntityGroup = Record< - Exclude, - number ->; +export type ChildEntityGroup = Exclude; + +export type CountsByEntityGroup = Record; export type ToolNameByMapping = { [Mapping.Source]: ToolName; From 16d3219b5400458c2b9be303c6447a297c16ac48 Mon Sep 17 00:00:00 2001 From: Mike Rourke Date: Tue, 16 Jan 2024 17:36:51 -0800 Subject: [PATCH 6/6] refactor: rename variables and add `role` attribute to `Loader` --- src/components/AccordionPanel.svelte | 11 ++++------- src/components/AlertDialog.svelte | 2 +- src/components/Loader.svelte | 2 +- src/layout/Notifications.svelte | 8 ++++---- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/components/AccordionPanel.svelte b/src/components/AccordionPanel.svelte index 20909708..4671b652 100644 --- a/src/components/AccordionPanel.svelte +++ b/src/components/AccordionPanel.svelte @@ -10,9 +10,6 @@ export let expanded: boolean = false; export let slideDuration: number = 250; - const titleId = `accordion-title-${rowNumber}`; - const contentId = `accordion-content-${rowNumber}`; - function handleClick(): void { expanded = !expanded; } @@ -55,8 +52,8 @@