diff --git a/background/messages/createEntry.ts b/background/messages/createEntry.ts index a541594..4801dcf 100644 --- a/background/messages/createEntry.ts +++ b/background/messages/createEntry.ts @@ -10,7 +10,8 @@ export interface CreateEntryRequestBody { timestamp: number; } -export interface CreateEntryResponseBody {} +// https://www.totaltypescript.com/the-empty-object-type-in-typescript#representing-an-empty-object +export type CreateEntryResponseBody = Record; export const handleCreateEntryRequest = async (body: CreateEntryRequestBody) => { if (await getClipboardMonitorIsEnabled()) { diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..b5a1a45 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,17 @@ +// @ts-check + +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import { includeIgnoreFile } from "@eslint/compat"; +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const gitignorePath = path.resolve(__dirname, ".gitignore"); + +export default tseslint.config( + includeIgnoreFile(gitignorePath), + eslint.configs.recommended, + tseslint.configs.recommended, +); diff --git a/package.json b/package.json index d7628cd..230cf46 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "build": "plasmo build", "build:firefox": "ts-node scripts/build-firefox-setup.ts && prettier package.json --write && plasmo build --target=firefox-mv2 && ts-node scripts/build-firefox-teardown.ts", "package": "plasmo package", + "lint": "eslint .", "format": "prettier . --write" }, "dependencies": { @@ -38,15 +39,19 @@ "zod": "^3.23.8" }, "devDependencies": { + "@eslint/compat": "^1.2.3", + "@eslint/js": "^9.16.0", "@ianvs/prettier-plugin-sort-imports": "4.1.1", "@types/chrome": "0.0.258", "@types/node": "20.11.5", "@types/react": "18.2.48", "@types/react-dom": "18.2.18", "@types/react-window": "^1.8.8", + "eslint": "^9.16.0", "prettier": "3.2.4", "ts-node": "^10.9.2", - "typescript": "5.3.3" + "typescript": "5.3.3", + "typescript-eslint": "^8.16.0" }, "manifest": { "permissions": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a950bb5..cdd5af5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,6 +79,12 @@ dependencies: version: 3.23.8 devDependencies: + "@eslint/compat": + specifier: ^1.2.3 + version: 1.2.3(eslint@9.16.0) + "@eslint/js": + specifier: ^9.16.0 + version: 9.16.0 "@ianvs/prettier-plugin-sort-imports": specifier: 4.1.1 version: 4.1.1(prettier@3.2.4) @@ -97,6 +103,9 @@ devDependencies: "@types/react-window": specifier: ^1.8.8 version: 1.8.8 + eslint: + specifier: ^9.16.0 + version: 9.16.0 prettier: specifier: 3.2.4 version: 3.2.4 @@ -106,6 +115,9 @@ devDependencies: typescript: specifier: 5.3.3 version: 5.3.3 + typescript-eslint: + specifier: ^8.16.0 + version: 8.16.0(eslint@9.16.0)(typescript@5.3.3) packages: /@ampproject/remapping@2.3.0: @@ -797,6 +809,110 @@ packages: dev: false optional: true + /@eslint-community/eslint-utils@4.4.1(eslint@9.16.0): + resolution: + { + integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 9.16.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.12.1: + resolution: + { + integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/compat@1.2.3(eslint@9.16.0): + resolution: + { + integrity: sha512-wlZhwlDFxkxIZ571aH0FoK4h4Vwx7P3HJx62Gp8hTc10bfpwT2x0nULuAHmQSJBOWPgPeVf+9YtnD4j50zVHmA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + dependencies: + eslint: 9.16.0 + dev: true + + /@eslint/config-array@0.19.0: + resolution: + { + integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + "@eslint/object-schema": 2.1.4 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/core@0.9.0: + resolution: + { + integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dev: true + + /@eslint/eslintrc@3.2.0: + resolution: + { + integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.7 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@9.16.0: + resolution: + { + integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dev: true + + /@eslint/object-schema@2.1.4: + resolution: + { + integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dev: true + + /@eslint/plugin-kit@0.2.3: + resolution: + { + integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + levn: 0.4.1 + dev: true + /@expo/spawn-async@1.7.2: resolution: { @@ -874,6 +990,49 @@ packages: react-hook-form: 7.53.0(react@18.2.0) dev: false + /@humanfs/core@0.19.1: + resolution: + { + integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, + } + engines: { node: ">=18.18.0" } + dev: true + + /@humanfs/node@0.16.6: + resolution: + { + integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==, + } + engines: { node: ">=18.18.0" } + dependencies: + "@humanfs/core": 0.19.1 + "@humanwhocodes/retry": 0.3.1 + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/retry@0.3.1: + resolution: + { + integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==, + } + engines: { node: ">=18.18" } + dev: true + + /@humanwhocodes/retry@0.4.1: + resolution: + { + integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==, + } + engines: { node: ">=18.18" } + dev: true + /@ianvs/prettier-plugin-sort-imports@4.1.1(prettier@3.2.4): resolution: { @@ -1343,7 +1502,6 @@ packages: dependencies: "@nodelib/fs.stat": 2.0.5 run-parallel: 1.2.0 - dev: false /@nodelib/fs.stat@2.0.5: resolution: @@ -1351,7 +1509,6 @@ packages: integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, } engines: { node: ">= 8" } - dev: false /@nodelib/fs.walk@1.2.8: resolution: @@ -1362,7 +1519,6 @@ packages: dependencies: "@nodelib/fs.scandir": 2.1.5 fastq: 1.17.1 - dev: false /@parcel/bundler-default@2.9.3(@parcel/core@2.9.3): resolution: @@ -3985,6 +4141,13 @@ packages: } dev: false + /@types/estree@1.0.6: + resolution: + { + integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==, + } + dev: true + /@types/filesystem@0.0.36: resolution: { @@ -4020,7 +4183,6 @@ packages: { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, } - dev: false /@types/node@20.11.5: resolution: @@ -4084,6 +4246,161 @@ packages: } dev: false + /@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0)(eslint@9.16.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@eslint-community/regexpp": 4.12.1 + "@typescript-eslint/parser": 8.16.0(eslint@9.16.0)(typescript@5.3.3) + "@typescript-eslint/scope-manager": 8.16.0 + "@typescript-eslint/type-utils": 8.16.0(eslint@9.16.0)(typescript@5.3.3) + "@typescript-eslint/utils": 8.16.0(eslint@9.16.0)(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 8.16.0 + eslint: 9.16.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/scope-manager": 8.16.0 + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/typescript-estree": 8.16.0(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 8.16.0 + debug: 4.3.7 + eslint: 9.16.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@8.16.0: + resolution: + { + integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/visitor-keys": 8.16.0 + dev: true + + /@typescript-eslint/type-utils@8.16.0(eslint@9.16.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/typescript-estree": 8.16.0(typescript@5.3.3) + "@typescript-eslint/utils": 8.16.0(eslint@9.16.0)(typescript@5.3.3) + debug: 4.3.7 + eslint: 9.16.0 + ts-api-utils: 1.4.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@8.16.0: + resolution: + { + integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dev: true + + /@typescript-eslint/typescript-estree@8.16.0(typescript@5.3.3): + resolution: + { + integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/visitor-keys": 8.16.0 + debug: 4.3.7 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.4.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@8.16.0(eslint@9.16.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@eslint-community/eslint-utils": 4.4.1(eslint@9.16.0) + "@typescript-eslint/scope-manager": 8.16.0 + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/typescript-estree": 8.16.0(typescript@5.3.3) + eslint: 9.16.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/visitor-keys@8.16.0: + resolution: + { + integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + "@typescript-eslint/types": 8.16.0 + eslint-visitor-keys: 4.2.0 + dev: true + /@vue/compiler-core@3.3.4: resolution: { @@ -4204,6 +4521,17 @@ packages: } dev: false + /acorn-jsx@5.3.2(acorn@8.14.0): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.14.0 + dev: true + /acorn-walk@8.3.4: resolution: { @@ -4221,6 +4549,27 @@ packages: engines: { node: ">=0.4.0" } hasBin: true + /acorn@8.14.0: + resolution: + { + integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==, + } + engines: { node: ">=0.4.0" } + hasBin: true + dev: true + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + /ansi-escapes@4.3.2: resolution: { @@ -4264,7 +4613,6 @@ packages: engines: { node: ">=8" } dependencies: color-convert: 2.0.1 - dev: false /ansi-styles@6.2.1: resolution: @@ -4303,7 +4651,6 @@ packages: { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, } - dev: false /aria-hidden@1.2.4: resolution: @@ -4364,7 +4711,6 @@ packages: { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, } - dev: false /bare-events@2.4.2: resolution: @@ -4469,6 +4815,16 @@ packages: } dev: false + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + /brace-expansion@2.0.1: resolution: { @@ -4476,7 +4832,6 @@ packages: } dependencies: balanced-match: 1.0.2 - dev: false /braces@3.0.3: resolution: @@ -4486,7 +4841,6 @@ packages: engines: { node: ">=8" } dependencies: fill-range: 7.1.1 - dev: false /browserslist@4.22.1: resolution: @@ -4600,7 +4954,6 @@ packages: integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, } engines: { node: ">=6" } - dev: false /camelcase@6.3.0: resolution: @@ -4636,7 +4989,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: false /chalk@5.3.0: resolution: @@ -4772,7 +5124,6 @@ packages: engines: { node: ">=7.0.0" } dependencies: color-name: 1.1.4 - dev: false /color-name@1.1.3: resolution: @@ -4785,7 +5136,6 @@ packages: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } - dev: false /color-string@1.9.1: resolution: @@ -4824,6 +5174,13 @@ packages: engines: { node: ">= 10" } dev: false + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + /config-chain@1.1.13: resolution: { @@ -4915,6 +5272,18 @@ packages: which: 2.0.2 dev: false + /cross-spawn@7.0.6: + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + /crypto-random-string@4.0.0: resolution: { @@ -5030,6 +5399,13 @@ packages: engines: { node: ">=4.0.0" } dev: false + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + /deepmerge@4.3.1: resolution: { @@ -5355,7 +5731,6 @@ packages: integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, } engines: { node: ">=10" } - dev: false /escape-string-regexp@5.0.0: resolution: @@ -5365,29 +5740,155 @@ packages: engines: { node: ">=12" } dev: false - /esm-seedrandom@3.0.5: + /eslint-scope@8.2.0: resolution: { - integrity: sha512-pMAq0mFIr5JQ3Ihbng7EBLMJ+llMbaDKkiG44pqbSXS0NIZWtEANpOpxb5s6Q8Q2R562P26qMHPv8YtP/NHh9g==, + integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==, } - dev: false + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true - /estree-walker@2.0.2: + /eslint-visitor-keys@3.4.3: resolution: { - integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, } - dev: false + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true - /estree-walker@3.0.3: + /eslint-visitor-keys@4.2.0: resolution: { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==, } - dependencies: + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dev: true + + /eslint@9.16.0: + resolution: + { + integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + hasBin: true + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + dependencies: + "@eslint-community/eslint-utils": 4.4.1(eslint@9.16.0) + "@eslint-community/regexpp": 4.12.1 + "@eslint/config-array": 0.19.0 + "@eslint/core": 0.9.0 + "@eslint/eslintrc": 3.2.0 + "@eslint/js": 9.16.0 + "@eslint/plugin-kit": 0.2.3 + "@humanfs/node": 0.16.6 + "@humanwhocodes/module-importer": 1.0.1 + "@humanwhocodes/retry": 0.4.1 + "@types/estree": 1.0.6 + "@types/json-schema": 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.3.7 + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + dev: true + + /esm-seedrandom@3.0.5: + resolution: + { + integrity: sha512-pMAq0mFIr5JQ3Ihbng7EBLMJ+llMbaDKkiG44pqbSXS0NIZWtEANpOpxb5s6Q8Q2R562P26qMHPv8YtP/NHh9g==, + } + dev: false + + /espree@10.3.0: + resolution: + { + integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + dev: true + + /esquery@1.6.0: + resolution: + { + integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@2.0.2: + resolution: + { + integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, + } + dev: false + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: "@types/estree": 1.0.5 dev: false + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + /events@3.3.0: resolution: { @@ -5434,6 +5935,13 @@ packages: tmp: 0.0.33 dev: false + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + dev: true + /fast-fifo@1.3.2: resolution: { @@ -5453,7 +5961,20 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 - dev: false + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true /fastq@1.17.1: resolution: @@ -5462,7 +5983,6 @@ packages: } dependencies: reusify: 1.0.4 - dev: false /fflate@0.8.1: resolution: @@ -5482,6 +6002,16 @@ packages: is-unicode-supported: 1.3.0 dev: false + /file-entry-cache@8.0.0: + resolution: + { + integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, + } + engines: { node: ">=16.0.0" } + dependencies: + flat-cache: 4.0.1 + dev: true + /fill-range@7.1.1: resolution: { @@ -5490,7 +6020,6 @@ packages: engines: { node: ">=8" } dependencies: to-regex-range: 5.0.1 - dev: false /find-root@1.1.0: resolution: @@ -5499,6 +6028,35 @@ packages: } dev: false + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@4.0.1: + resolution: + { + integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, + } + engines: { node: ">=16" } + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + dev: true + + /flatted@3.3.2: + resolution: + { + integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==, + } + dev: true + /foreground-child@3.3.0: resolution: { @@ -5615,7 +6173,16 @@ packages: engines: { node: ">= 6" } dependencies: is-glob: 4.0.3 - dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true /glob@10.4.5: resolution: @@ -5649,6 +6216,14 @@ packages: type-fest: 0.20.2 dev: false + /globals@14.0.0: + resolution: + { + integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, + } + engines: { node: ">=18" } + dev: true + /globby@11.1.0: resolution: { @@ -5727,6 +6302,13 @@ packages: } dev: false + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + /graphql-import-macro@1.0.0: resolution: { @@ -5757,7 +6339,6 @@ packages: integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, } engines: { node: ">=8" } - dev: false /has-property-descriptors@1.0.2: resolution: @@ -5916,7 +6497,14 @@ packages: integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, } engines: { node: ">= 4" } - dev: false + + /ignore@5.3.2: + resolution: + { + integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, + } + engines: { node: ">= 4" } + dev: true /image-size@0.5.5: resolution: @@ -5945,7 +6533,14 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: false + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true /inherits@2.0.4: resolution: @@ -6034,7 +6629,6 @@ packages: integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, } engines: { node: ">=0.10.0" } - dev: false /is-fullwidth-code-point@3.0.0: resolution: @@ -6052,7 +6646,6 @@ packages: engines: { node: ">=0.10.0" } dependencies: is-extglob: 2.1.1 - dev: false /is-interactive@1.0.0: resolution: @@ -6075,7 +6668,6 @@ packages: integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, } engines: { node: ">=0.12.0" } - dev: false /is-path-inside@4.0.0: resolution: @@ -6146,7 +6738,6 @@ packages: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, } - dev: false /jackspeak@3.4.3: resolution: @@ -6200,7 +6791,6 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - dev: false /jsesc@2.5.2: resolution: @@ -6215,7 +6805,6 @@ packages: { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, } - dev: false /json-parse-even-better-errors@2.3.1: resolution: @@ -6236,6 +6825,20 @@ packages: ts-algebra: 1.2.2 dev: false + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + /json5@2.2.3: resolution: { @@ -6262,7 +6865,6 @@ packages: } dependencies: json-buffer: 3.0.1 - dev: false /less@4.2.0: resolution: @@ -6285,6 +6887,17 @@ packages: source-map: 0.6.1 dev: false + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + /lightningcss-darwin-arm64@1.21.8: resolution: { @@ -6627,6 +7240,23 @@ packages: } dev: false + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + /lodash.sortby@4.7.0: resolution: { @@ -6757,7 +7387,6 @@ packages: integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, } engines: { node: ">= 8" } - dev: false /micromatch@4.0.8: resolution: @@ -6768,7 +7397,6 @@ packages: dependencies: braces: 3.0.3 picomatch: 2.3.1 - dev: false /mime@1.6.0: resolution: @@ -6814,6 +7442,15 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + /minimatch@9.0.5: resolution: { @@ -6822,7 +7459,6 @@ packages: engines: { node: ">=16 || 14 >=14.17" } dependencies: brace-expansion: 2.0.1 - dev: false /minimist@1.2.8: resolution: @@ -6940,6 +7576,13 @@ packages: } dev: false + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + /needle@3.3.1: resolution: { @@ -7096,6 +7739,21 @@ packages: mimic-fn: 2.1.0 dev: false + /optionator@0.9.4: + resolution: + { + integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, + } + engines: { node: ">= 0.8.0" } + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + dev: true + /ora@5.4.1: resolution: { @@ -7137,6 +7795,26 @@ packages: engines: { node: ">=12.20" } dev: false + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + dev: true + /package-json-from-dist@1.0.0: resolution: { @@ -7165,7 +7843,6 @@ packages: engines: { node: ">=6" } dependencies: callsites: 3.1.0 - dev: false /parse-json@5.2.0: resolution: @@ -7188,13 +7865,20 @@ packages: engines: { node: ">= 0.10" } dev: false + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + dev: true + /path-key@3.1.1: resolution: { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, } engines: { node: ">=8" } - dev: false /path-parse@1.0.7: resolution: @@ -7245,7 +7929,6 @@ packages: integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, } engines: { node: ">=8.6" } - dev: false /pify@4.0.1: resolution: @@ -7472,6 +8155,14 @@ packages: tunnel-agent: 0.6.0 dev: false + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + /prettier@3.2.4: resolution: { @@ -7532,14 +8223,12 @@ packages: integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, } engines: { node: ">=6" } - dev: false /queue-microtask@1.2.3: resolution: { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, } - dev: false /queue-tick@1.0.1: resolution: @@ -7814,7 +8503,6 @@ packages: integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, } engines: { node: ">=4" } - dev: false /resolve-from@5.0.0: resolution: @@ -7863,7 +8551,6 @@ packages: integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, } engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - dev: false /rollup@3.29.4: resolution: @@ -7891,7 +8578,6 @@ packages: } dependencies: queue-microtask: 1.2.3 - dev: false /rxjs@7.8.1: resolution: @@ -8023,7 +8709,6 @@ packages: engines: { node: ">=8" } dependencies: shebang-regex: 3.0.0 - dev: false /shebang-regex@3.0.0: resolution: @@ -8031,7 +8716,6 @@ packages: integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, } engines: { node: ">=8" } - dev: false /short-time-ago@2.0.0: resolution: @@ -8223,6 +8907,14 @@ packages: engines: { node: ">=0.10.0" } dev: false + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + dev: true + /stylis@4.2.0: resolution: { @@ -8264,7 +8956,6 @@ packages: engines: { node: ">=8" } dependencies: has-flag: 4.0.0 - dev: false /supports-preserve-symlinks-flag@1.0.0: resolution: @@ -8458,7 +9149,6 @@ packages: engines: { node: ">=8.0" } dependencies: is-number: 7.0.0 - dev: false /tr46@1.0.1: resolution: @@ -8484,6 +9174,18 @@ packages: } dev: false + /ts-api-utils@1.4.3(typescript@5.3.3): + resolution: + { + integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==, + } + engines: { node: ">=16" } + peerDependencies: + typescript: ">=4.2.0" + dependencies: + typescript: 5.3.3 + dev: true + /ts-interface-checker@0.1.13: resolution: { @@ -8579,6 +9281,16 @@ packages: safe-buffer: 5.2.1 dev: false + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + /type-fest@0.20.2: resolution: { @@ -8611,6 +9323,28 @@ packages: engines: { node: ">=12.20" } dev: false + /typescript-eslint@8.16.0(eslint@9.16.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/eslint-plugin": 8.16.0(@typescript-eslint/parser@8.16.0)(eslint@9.16.0)(typescript@5.3.3) + "@typescript-eslint/parser": 8.16.0(eslint@9.16.0)(typescript@5.3.3) + "@typescript-eslint/utils": 8.16.0(eslint@9.16.0)(typescript@5.3.3) + eslint: 9.16.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /typescript@5.2.2: resolution: { @@ -8679,6 +9413,15 @@ packages: escalade: 3.2.0 picocolors: 1.1.0 + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + dev: true + /use-callback-ref@1.3.2(@types/react@18.2.48)(react@18.2.0): resolution: { @@ -8837,7 +9580,14 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: false + + /word-wrap@1.2.5: + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, + } + engines: { node: ">=0.10.0" } + dev: true /wrap-ansi@6.2.0: resolution: @@ -8926,6 +9676,14 @@ packages: } engines: { node: ">=6" } + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + dev: true + /zod@3.23.8: resolution: { diff --git a/popup/components/EntryRow.tsx b/popup/components/EntryRow.tsx index 1fdd853..20c32c3 100644 --- a/popup/components/EntryRow.tsx +++ b/popup/components/EntryRow.tsx @@ -136,9 +136,11 @@ export const EntryRow = ({ entry, selectedEntryIds }: Props) => { onClick={(e) => { e.stopPropagation(); - isFavoriteEntry - ? deleteFavoriteEntryIds([entry.id]) - : addFavoriteEntryIds([entry.id]); + if (isFavoriteEntry) { + deleteFavoriteEntryIds([entry.id]); + } else { + addFavoriteEntryIds([entry.id]); + } }} > {isFavoriteEntry ? : } diff --git a/popup/components/modals/MergeModalContent.tsx b/popup/components/modals/MergeModalContent.tsx index 5c39a70..4876aba 100644 --- a/popup/components/modals/MergeModalContent.tsx +++ b/popup/components/modals/MergeModalContent.tsx @@ -2,17 +2,11 @@ import { closestCenter, DndContext, DragOverlay, - KeyboardSensor, PointerSensor, useSensor, useSensors, } from "@dnd-kit/core"; -import { - arrayMove, - SortableContext, - sortableKeyboardCoordinates, - verticalListSortingStrategy, -} from "@dnd-kit/sortable"; +import { arrayMove, SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable"; import { zodResolver } from "@hookform/resolvers/zod"; import { Box,