From dc56afc17fcf25b8b009f052f55bb297fe509936 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Thu, 12 Mar 2026 00:06:31 +0100 Subject: [PATCH] [skip ci] Get rid of eslint Dependency needs to be kept because "eslint-plugin-unused-imports" imports from "eslint/use-at-your-own-risk" at load time --- .oxlintrc.jsonc | 19 ++++- eslint.config.js | 37 --------- package.json | 6 +- tools/eslint-plugin-header.cjs | 29 +++++++ yarn.lock | 148 ++++----------------------------- 5 files changed, 63 insertions(+), 176 deletions(-) delete mode 100644 eslint.config.js create mode 100644 tools/eslint-plugin-header.cjs diff --git a/.oxlintrc.jsonc b/.oxlintrc.jsonc index 7dc0f46b..3f90bcac 100644 --- a/.oxlintrc.jsonc +++ b/.oxlintrc.jsonc @@ -10,7 +10,8 @@ "eslint-plugin-lingui", "eslint-plugin-no-relative-import-paths", "eslint-plugin-unused-imports", - "eslint-plugin-no-only-tests" + "eslint-plugin-no-only-tests", + "./tools/eslint-plugin-header.cjs" ], "categories": { "correctness": "off" @@ -354,7 +355,18 @@ "unused-imports/no-unused-imports": "error", // ── No .only in tests ── - "no-only-tests/no-only-tests": "error" + "no-only-tests/no-only-tests": "error", + + // ── License header ── + "header/header": ["error", "block", [ + "", + " * Copyright (C) Contributors to the Suwayomi project", + " *", + " * This Source Code Form is subject to the terms of the Mozilla Public", + " * License, v. 2.0. If a copy of the MPL was not distributed with this", + " * file, You can obtain one at https://mozilla.org/MPL/2.0/.", + " " + ], 2] }, "settings": { "jsx-a11y": { @@ -443,6 +455,7 @@ } ], "ignorePatterns": [ - "src/lib/graphql/generated/**" + "src/lib/graphql/generated/**", + "tools/eslint-plugin-header.cjs" ] } diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index 52fe68b1..00000000 --- a/eslint.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Minimal ESLint config — only rules not yet supported natively in oxlint. - * The bulk of linting is done by oxlint (.oxlintrc.json). - */ -import tseslint from 'typescript-eslint'; -import header from '@tony.ganchev/eslint-plugin-header'; - -export default tseslint.config( - { ignores: ['src/lib/graphql/generated/**', 'eslint.config.js'] }, - - { - files: ['**/*.{ts,tsx,js,jsx}'], - languageOptions: { - parser: tseslint.parser, - }, - plugins: { - header, - }, - rules: { - // MPL 2.0 license header - 'header/header': [ - 'error', - 'block', - [ - '', - ' * Copyright (C) Contributors to the Suwayomi project', - ' *', - ' * This Source Code Form is subject to the terms of the Mozilla Public', - ' * License, v. 2.0. If a copy of the MPL was not distributed with this', - ' * file, You can obtain one at https://mozilla.org/MPL/2.0/.', - ' ', - ], - 2, - ], - }, - }, -); diff --git a/package.json b/package.json index 7d845677..c43d570d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "test": "node -e \"console.log('imagine')\"", "build-md5": "find build -type f | sort | xargs md5sum | awk '{ print $1 }' | tr -d '\n' | md5sum| awk '{ print $1 }' > buildZip/md5sum ", "build-zip": "cd build && rev=$(git rev-list HEAD --count) && echo r$rev > revision && zip -9 -r ../buildZip/Suwayomi-WebUI-r$rev *", - "lint": "oxlint src tools && eslint src tools --max-warnings=0", + "lint": "oxlint src tools", "format": "oxfmt --write .", "format:check": "oxfmt --check .", "createCommitChangelog": "tsx tools/scripts/release/createCommitChangelog.ts", @@ -121,7 +121,6 @@ "terser": "5.46.0", "tsx": "4.21.0", "typescript": "5.9.3", - "typescript-eslint": "8.57.0", "vite": "7.3.1", "vite-plugin-node-polyfills": "0.25.0", "vite-plugin-pwa": "1.2.0", @@ -136,8 +135,7 @@ "lint-staged": { "*.{ts,tsx,js,jsx}": [ "oxfmt --write", - "oxlint --fix", - "eslint --fix" + "oxlint --fix" ], "*.{json,md,yml,yaml,css,scss,html,graphql}": "oxfmt --write" }, diff --git a/tools/eslint-plugin-header.cjs b/tools/eslint-plugin-header.cjs new file mode 100644 index 00000000..4e1110fe --- /dev/null +++ b/tools/eslint-plugin-header.cjs @@ -0,0 +1,29 @@ +/* + * Copyright (C) Contributors to the Suwayomi project + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +// Thin wrapper around @tony.ganchev/eslint-plugin-header that removes +// `meta.defaultOptions`. The defaults are already applied in the rule's +// `normalizeOptions()`, but oxlint validates `defaultOptions` against the +// schema independently (unlike ESLint which merges first), causing a load +// failure. + +"use strict"; + +const plugin = require("@tony.ganchev/eslint-plugin-header"); + +const { defaultOptions, ...meta } = plugin.rules.header.meta; + +module.exports = { + meta: { name: "eslint-plugin-header" }, + rules: { + header: { + ...plugin.rules.header, + meta, + }, + }, +}; diff --git a/yarn.lock b/yarn.lock index d435a389..041da8c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" @@ -1815,7 +1810,7 @@ dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.12.1", "@eslint-community/regexpp@^4.12.2": +"@eslint-community/regexpp@^4.12.1": version "4.12.2" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== @@ -3711,31 +3706,6 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.0.tgz#6e4085604ab63f55b3dcc61ce2c16965b2c36374" - integrity sha512-qeu4rTHR3/IaFORbD16gmjq9+rEs9fGKdX0kF6BKSfi+gCuG3RCKLlSBYzn/bGsY9Tj7KE/DAQStbp8AHJGHEQ== - dependencies: - "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.57.0" - "@typescript-eslint/type-utils" "8.57.0" - "@typescript-eslint/utils" "8.57.0" - "@typescript-eslint/visitor-keys" "8.57.0" - ignore "^7.0.5" - natural-compare "^1.4.0" - ts-api-utils "^2.4.0" - -"@typescript-eslint/parser@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.57.0.tgz#444c57a943e8b04f255cda18a94c8e023b46b08c" - integrity sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g== - dependencies: - "@typescript-eslint/scope-manager" "8.57.0" - "@typescript-eslint/types" "8.57.0" - "@typescript-eslint/typescript-estree" "8.57.0" - "@typescript-eslint/visitor-keys" "8.57.0" - debug "^4.4.3" - "@typescript-eslint/project-service@8.53.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.53.0.tgz#327c67c61c16a1c8b12a440b0779b41eb77cc7df" @@ -3745,15 +3715,6 @@ "@typescript-eslint/types" "^8.53.0" debug "^4.4.3" -"@typescript-eslint/project-service@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.57.0.tgz#2014ed527bcd0eff8aecb7e44879ae3150604ab3" - integrity sha512-pR+dK0BlxCLxtWfaKQWtYr7MhKmzqZxuii+ZjuFlZlIGRZm22HnXFqa2eY+90MUz8/i80YJmzFGDUsi8dMOV5w== - dependencies: - "@typescript-eslint/tsconfig-utils" "^8.57.0" - "@typescript-eslint/types" "^8.57.0" - debug "^4.4.3" - "@typescript-eslint/scope-manager@8.53.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.53.0.tgz#f922fcbf0d42e72f065297af31779ccf19de9a97" @@ -3762,45 +3723,16 @@ "@typescript-eslint/types" "8.53.0" "@typescript-eslint/visitor-keys" "8.53.0" -"@typescript-eslint/scope-manager@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.57.0.tgz#7d2a2aeaaef2ae70891b21939fadb4cb0b19f840" - integrity sha512-nvExQqAHF01lUM66MskSaZulpPL5pgy5hI5RfrxviLgzZVffB5yYzw27uK/ft8QnKXI2X0LBrHJFr1TaZtAibw== - dependencies: - "@typescript-eslint/types" "8.57.0" - "@typescript-eslint/visitor-keys" "8.57.0" - "@typescript-eslint/tsconfig-utils@8.53.0", "@typescript-eslint/tsconfig-utils@^8.53.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz#105279d7969a7abdc8345cc9c57cff83cf910f8f" integrity sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA== -"@typescript-eslint/tsconfig-utils@8.57.0", "@typescript-eslint/tsconfig-utils@^8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.0.tgz#cf2f2822af3887d25dd325b6bea6c3f60a83a0b4" - integrity sha512-LtXRihc5ytjJIQEH+xqjB0+YgsV4/tW35XKX3GTZHpWtcC8SPkT/d4tqdf1cKtesryHm2bgp6l555NYcT2NLvA== - -"@typescript-eslint/type-utils@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.57.0.tgz#2877af4c2e8f0998b93a07dad1c34ce1bb669448" - integrity sha512-yjgh7gmDcJ1+TcEg8x3uWQmn8ifvSupnPfjP21twPKrDP/pTHlEQgmKcitzF/rzPSmv7QjJ90vRpN4U+zoUjwQ== - dependencies: - "@typescript-eslint/types" "8.57.0" - "@typescript-eslint/typescript-estree" "8.57.0" - "@typescript-eslint/utils" "8.57.0" - debug "^4.4.3" - ts-api-utils "^2.4.0" - "@typescript-eslint/types@8.53.0", "@typescript-eslint/types@^8.53.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.53.0.tgz#1adcad3fa32bc2c4cbf3785ba07a5e3151819efb" integrity sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ== -"@typescript-eslint/types@8.57.0", "@typescript-eslint/types@^8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.57.0.tgz#4fa5385ffd1cd161fa5b9dce93e0493d491b8dc6" - integrity sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg== - "@typescript-eslint/typescript-estree@8.53.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.0.tgz#7805b46b7a8ce97e91b7bb56fc8b1ba26ca8ef52" @@ -3816,31 +3748,6 @@ tinyglobby "^0.2.15" ts-api-utils "^2.4.0" -"@typescript-eslint/typescript-estree@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.0.tgz#e0e4a89bfebb207de314826df876e2dabc7dea04" - integrity sha512-m7faHcyVg0BT3VdYTlX8GdJEM7COexXxS6KqGopxdtkQRvBanK377QDHr4W/vIPAR+ah9+B/RclSW5ldVniO1Q== - dependencies: - "@typescript-eslint/project-service" "8.57.0" - "@typescript-eslint/tsconfig-utils" "8.57.0" - "@typescript-eslint/types" "8.57.0" - "@typescript-eslint/visitor-keys" "8.57.0" - debug "^4.4.3" - minimatch "^10.2.2" - semver "^7.7.3" - tinyglobby "^0.2.15" - ts-api-utils "^2.4.0" - -"@typescript-eslint/utils@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.57.0.tgz#c7193385b44529b788210d20c94c11de79ad3498" - integrity sha512-5iIHvpD3CZe06riAsbNxxreP+MuYgVUsV0n4bwLH//VJmgtt54sQeY2GszntJ4BjYCpMzrfVh2SBnUQTtys2lQ== - dependencies: - "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.57.0" - "@typescript-eslint/types" "8.57.0" - "@typescript-eslint/typescript-estree" "8.57.0" - "@typescript-eslint/utils@^8.0.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.53.0.tgz#bf0a4e2edaf1afc9abce209fc02f8cab0b74af13" @@ -3859,14 +3766,6 @@ "@typescript-eslint/types" "8.53.0" eslint-visitor-keys "^4.2.1" -"@typescript-eslint/visitor-keys@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.0.tgz#23aea662279bb66209700854453807a119350f85" - integrity sha512-zm6xx8UT/Xy2oSr2ZXD0pZo7Jx2XsCoID2IUh9YSTFRu7z+WdwYTRk6LhUftm1crwqbuoF6I8zAFeCMw0YjwDg== - dependencies: - "@typescript-eslint/types" "8.57.0" - eslint-visitor-keys "^5.0.0" - "@typescript/native-preview-darwin-arm64@7.0.0-dev.20260309.1": version "7.0.0-dev.20260309.1" resolved "https://registry.yarnpkg.com/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260309.1.tgz#dcdfa0cdf2cd15ff5a98626da997fe9377fff78d" @@ -5128,14 +5027,14 @@ debounce@^2.0.0: resolved "https://registry.yarnpkg.com/debounce/-/debounce-2.2.0.tgz#f895fa2fbdb579a0f0d3dcf5dde19657e50eaad5" integrity sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw== -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^4.2.0, debug@^4.3.6, debug@^4.4.3: +debug@^4.2.0, debug@^4.3.2, debug@^4.3.6, debug@^4.4.3: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -5658,11 +5557,6 @@ eslint-visitor-keys@^4.2.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== -eslint-visitor-keys@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" - integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== - eslint@9.39.4: version "9.39.4" resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.4.tgz#855da1b2e2ad66dc5991195f35e262bcec8117b5" @@ -5903,9 +5797,9 @@ flat-cache@^4.0.0: keyv "^4.5.4" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.4.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.1.tgz#84ccd9579e76e9cc0d246c11d8be0beb019143e6" + integrity sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ== for-each@^0.3.3: version "0.3.3" @@ -6394,11 +6288,6 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== -ignore@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" - integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== - image-q@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/image-q/-/image-q-4.0.0.tgz#31e075be7bae3c1f42a85c469b4732c358981776" @@ -7304,7 +7193,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^10.0.0, minimatch@^10.2.2: +minimatch@^10.0.0: version "10.2.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde" integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== @@ -7577,16 +7466,16 @@ optimism@^0.18.0: tslib "^2.3.0" optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" ora@^5.1.0: version "5.4.1" @@ -9225,16 +9114,6 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript-eslint@8.57.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.57.0.tgz#82764795d316ed1c72a489727c43c3a87373f100" - integrity sha512-W8GcigEMEeB07xEZol8oJ26rigm3+bfPHxHvwbYUlu1fUDsGuQ7Hiskx5xGW/xM4USc9Ephe3jtv7ZYPQntHeA== - dependencies: - "@typescript-eslint/eslint-plugin" "8.57.0" - "@typescript-eslint/parser" "8.57.0" - "@typescript-eslint/typescript-estree" "8.57.0" - "@typescript-eslint/utils" "8.57.0" - typescript@5.9.3: version "5.9.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" @@ -9612,6 +9491,11 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + workbox-background-sync@7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-7.4.0.tgz#5fcf83162b540f799966fdd8df0858f91b787d77"