From 32ef8ef7b652a255fbb84252796399b4517d90dd Mon Sep 17 00:00:00 2001 From: SukkaW Date: Sun, 4 Aug 2024 23:00:47 +0800 Subject: [PATCH] Fix: workaround normalize domain --- Build/lib/normalize-domain.test.ts | 9 + Build/lib/normalize-domain.ts | 10 +- Build/lib/parse-filter.ts | 13 +- package.json | 24 +- pnpm-lock.yaml | 481 +++++++++++++++-------------- tsconfig.json | 1 + 6 files changed, 280 insertions(+), 258 deletions(-) create mode 100644 Build/lib/normalize-domain.test.ts diff --git a/Build/lib/normalize-domain.test.ts b/Build/lib/normalize-domain.test.ts new file mode 100644 index 00000000..63d1658e --- /dev/null +++ b/Build/lib/normalize-domain.test.ts @@ -0,0 +1,9 @@ +import { describe, it } from 'mocha'; + +import { normalizeDomain } from './normalize-domain'; + +describe('normalizeDomain', () => { + it('mine.torrent.pw', () => { + console.log(normalizeDomain('mine.torrent.pw')); + }); +}); diff --git a/Build/lib/normalize-domain.ts b/Build/lib/normalize-domain.ts index b0811950..d09642a2 100644 --- a/Build/lib/normalize-domain.ts +++ b/Build/lib/normalize-domain.ts @@ -1,11 +1,11 @@ -import { parse as tldtsParse } from 'tldts-experimental'; -import { isProbablyIpv4 } from './is-fast-ip'; +// https://github.com/remusao/tldts/issues/2121 +// import tldts from 'tldts-experimental'; +import tldts from 'tldts'; export const normalizeDomain = (domain: string) => { if (!domain) return null; - if (isProbablyIpv4(domain)) return null; - const parsed = tldtsParse(domain, { allowPrivateDomains: true, detectIp: false }); - // if (parsed.isIp) return null; + const parsed = tldts.parse(domain, { allowPrivateDomains: true, allowIcannDomains: true, detectIp: true }); + if (parsed.isIp) return null; if (!parsed.hostname) return null; // Private invalid domain (things like .tor, .dn42, etc) if (!parsed.isIcann && !parsed.isPrivate) return null; diff --git a/Build/lib/parse-filter.ts b/Build/lib/parse-filter.ts index 70f7a73c..50cfbd76 100644 --- a/Build/lib/parse-filter.ts +++ b/Build/lib/parse-filter.ts @@ -10,10 +10,11 @@ import { fetchAssets } from './fetch-assets'; import { deserializeArray, fsFetchCache, serializeArray } from './cache-filesystem'; import type { Span } from '../trace'; import createKeywordFilter from './aho-corasick'; +import { looseTldtsOpt } from '../constants/loose-tldts-opt'; const DEBUG_DOMAIN_TO_FIND: string | null = null; // example.com | null let foundDebugDomain = false; -const temporaryBypass = DEBUG_DOMAIN_TO_FIND !== null; +const temporaryBypass = true; const domainListLineCb = (l: string, set: string[], includeAllSubDomain: boolean, meta: string) => { let line = processLine(l); @@ -554,7 +555,7 @@ function parse($line: string, result: [string, ParseType]): [hostname: string, f : (lineEndsWithCaretVerticalBar ? -2 : undefined) // replace('^|', '') ); - const suffix = tldts.getPublicSuffix(sliced); + const suffix = tldts.getPublicSuffix(sliced, looseTldtsOpt); if (!suffix) { // This exclude domain-like resource like `1.1.4.514.js` result[1] = ParseType.Null; @@ -608,7 +609,7 @@ function parse($line: string, result: [string, ParseType]): [hostname: string, f } result[0] = `[parse-filter E0004] (black) invalid domain: ${JSON.stringify({ - line, sliced, sliceStart, sliceEnd + line, sliced, sliceStart, sliceEnd, domain })}`; result[1] = ParseType.ErrorMessage; return result; @@ -629,7 +630,7 @@ function parse($line: string, result: [string, ParseType]): [hostname: string, f ) { const _domain = line.slice(0, -1); - const suffix = tldts.getPublicSuffix(_domain); + const suffix = tldts.getPublicSuffix(_domain, looseTldtsOpt); if (!suffix) { // This exclude domain-like resource like `_social_tracking.js^` result[1] = ParseType.Null; @@ -685,7 +686,7 @@ function parse($line: string, result: [string, ParseType]): [hostname: string, f sliceEnd = -9; } const sliced = (sliceStart !== 0 || sliceEnd !== undefined) ? line.slice(sliceStart, sliceEnd) : line; - const suffix = tldts.getPublicSuffix(sliced); + const suffix = tldts.getPublicSuffix(sliced, looseTldtsOpt); /** * Fast exclude definitely not domain-like resource * @@ -708,7 +709,7 @@ function parse($line: string, result: [string, ParseType]): [hostname: string, f return result; } - result[0] = `[parse-filter E0010] can not parse: ${line}`; + result[0] = `[parse-filter ${tryNormalizeDomain === null ? 'E0010' : 'E0011'}] can not parse: ${JSON.stringify({ line, tryNormalizeDomain, sliced })}`; result[1] = ParseType.ErrorMessage; return result; } diff --git a/package.json b/package.json index 07de118f..5b5c3d1e 100644 --- a/package.json +++ b/package.json @@ -20,14 +20,14 @@ "author": "", "license": "ISC", "dependencies": { - "@cliqz/adblocker": "^1.30.0", + "@cliqz/adblocker": "^1.31.1", "async-retry": "^1.3.3", "async-sema": "^3.1.1", "better-sqlite3": "^11.1.2", "ci-info": "^4.0.0", "csv-parse": "^5.5.6", "fast-cidr-tools": "^0.2.5", - "fdir": "^6.1.1", + "fdir": "^6.2.0", "foxact": "^0.2.36", "mnemonist": "^0.39.8", "path-scurry": "^1.11.1", @@ -35,29 +35,29 @@ "punycode": "^2.3.1", "table": "^6.8.2", "tar-stream": "^3.1.7", - "tldts": "^6.1.34", - "tldts-experimental": "^6.1.34", + "tldts": "^6.1.37", + "tldts-experimental": "^6.1.37", "yaml": "^2.5.0" }, "devDependencies": { - "@eslint-sukka/node": "^6.1.6", + "@eslint-sukka/node": "^6.1.10", "@swc-node/register": "^1.10.9", - "@swc/core": "^1.7.1", + "@swc/core": "^1.7.6", "@types/async-retry": "^1.4.8", "@types/better-sqlite3": "^7.6.11", - "@types/chai": "^4.3.16", + "@types/chai": "^4.3.17", "@types/mocha": "^10.0.7", "@types/punycode": "^2.1.4", "@types/tar-stream": "^3.1.3", "chai": "4", - "eslint": "^9.7.0", - "eslint-config-sukka": "^6.1.6", - "eslint-formatter-sukka": "^6.1.6", + "eslint": "^9.8.0", + "eslint-config-sukka": "^6.1.10", + "eslint-formatter-sukka": "^6.1.10", "mitata": "^0.1.11", "mocha": "^10.7.0", - "typescript": "^5.5.3" + "typescript": "^5.5.4" }, - "packageManager": "pnpm@9.6.0+sha512.38dc6fba8dba35b39340b9700112c2fe1e12f10b17134715a4aa98ccf7bb035e76fd981cf0bb384dfa98f8d6af5481c2bef2f4266a24bfa20c34eb7147ce0b5e", + "packageManager": "pnpm@9.6.0", "resolutions": { "has": "npm:@nolyfill/has@latest" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a356c629..cd00b1de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: .: dependencies: '@cliqz/adblocker': - specifier: ^1.30.0 - version: 1.30.0 + specifier: ^1.31.1 + version: 1.31.1 async-retry: specifier: ^1.3.3 version: 1.3.3 @@ -33,7 +33,7 @@ importers: specifier: ^0.2.5 version: 0.2.5 fdir: - specifier: ^6.1.1 + specifier: ^6.2.0 version: 6.2.0 foxact: specifier: ^0.2.36 @@ -57,24 +57,24 @@ importers: specifier: ^3.1.7 version: 3.1.7 tldts: - specifier: ^6.1.34 - version: 6.1.34 + specifier: ^6.1.37 + version: 6.1.37 tldts-experimental: - specifier: ^6.1.34 - version: 6.1.34 + specifier: ^6.1.37 + version: 6.1.37 yaml: specifier: ^2.5.0 version: 2.5.0 devDependencies: '@eslint-sukka/node': - specifier: ^6.1.6 - version: 6.1.6(eslint@9.7.0)(typescript@5.5.4) + specifier: ^6.1.10 + version: 6.1.10(eslint@9.8.0)(typescript@5.5.4) '@swc-node/register': specifier: ^1.10.9 - version: 1.10.9(@swc/core@1.7.1)(@swc/types@0.1.12)(typescript@5.5.4) + version: 1.10.9(@swc/core@1.7.6)(@swc/types@0.1.12)(typescript@5.5.4) '@swc/core': - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.6 + version: 1.7.6 '@types/async-retry': specifier: ^1.4.8 version: 1.4.8 @@ -82,8 +82,8 @@ importers: specifier: ^7.6.11 version: 7.6.11 '@types/chai': - specifier: ^4.3.16 - version: 4.3.16 + specifier: ^4.3.17 + version: 4.3.17 '@types/mocha': specifier: ^10.0.7 version: 10.0.7 @@ -97,14 +97,14 @@ importers: specifier: '4' version: 4.4.1 eslint: - specifier: ^9.7.0 - version: 9.7.0 + specifier: ^9.8.0 + version: 9.8.0 eslint-config-sukka: - specifier: ^6.1.6 - version: 6.1.6(eslint@9.7.0)(typescript@5.5.4) + specifier: ^6.1.10 + version: 6.1.10(@typescript-eslint/eslint-plugin@8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) eslint-formatter-sukka: - specifier: ^6.1.6 - version: 6.1.6 + specifier: ^6.1.10 + version: 6.1.10 mitata: specifier: ^0.1.11 version: 0.1.11 @@ -112,19 +112,19 @@ importers: specifier: ^10.7.0 version: 10.7.0 typescript: - specifier: ^5.5.3 + specifier: ^5.5.4 version: 5.5.4 packages: - '@cliqz/adblocker-content@1.30.0': - resolution: {integrity: sha512-Efk/eltbbltbHkEGCauXZhhNUyOUxkyXEWfapCk0TRpF0uVCSRQ7Wts7yJUC7CaxUXVhu9c+6S4kYzKtPaXN3w==} + '@cliqz/adblocker-content@1.31.1': + resolution: {integrity: sha512-/LmDfvyfUPwxbh7Cl8T26vZKOtZzLhzJ3b3GeH9YouYml4bLEHFTKQoCzcp41vdC7RhrwDx70UA8G88fyzltYQ==} - '@cliqz/adblocker-extended-selectors@1.30.0': - resolution: {integrity: sha512-zFr7U/7KWii/S1eep46Oivw9Angw+1cwvz3YIyer/M+c6+PnrembzRC6jkjCGzO6nEihmHKLyW9Ka/51Vnwo2Q==} + '@cliqz/adblocker-extended-selectors@1.31.1': + resolution: {integrity: sha512-xx5QzdaYJeORkD6N+AmlkR+r08dwt2p3TuJ6azeHv86aUElTSd4wyTs4BJcYRUsGKgAfdpn0+BOylOKqF7a8Uw==} - '@cliqz/adblocker@1.30.0': - resolution: {integrity: sha512-x/FxQBUVOpc3X2T10X+9/Ef8d9NQOb+/JIcY83BTZpFoTVoTOvELQoj3B2UfHH/p7hsq1byD8y/0SrJq1E6Zfw==} + '@cliqz/adblocker@1.31.1': + resolution: {integrity: sha512-gGukm0e7LAd+UBKN6k+52rGApCTxnojc/tb5yoBeDUfVrw+8+Jf8oA/x3lEW/zrPBXs/TZN7uKFj4QlDvSkmZw==} '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} @@ -154,11 +154,11 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-sukka/node@6.1.6': - resolution: {integrity: sha512-cKJ6tJBGkyQ3vnSM1QwfJfsxv6jtY1FvFDt1s/DajJyrqN3Whqiipf355IkiOUm1MggMLF2DX01nTlRqxuv4Ng==} + '@eslint-sukka/node@6.1.10': + resolution: {integrity: sha512-q7lDaKBLLuqpXmdhOB4/P9UsQK9S4YyExEJRbq02wtYkT4WXY2uJl+qdVp3YDiK9yVQ5Ik0ADezkoYhFXhSIfA==} - '@eslint-sukka/shared@6.1.6': - resolution: {integrity: sha512-D1QJolDPws0FrZ5Sh9A82f2qs2+fEsq687yRMsvecy6IOhZwiBdhAC4rGfunfQ7nrqqHjqYTHiVSJkK2oKZizw==} + '@eslint-sukka/shared@6.1.10': + resolution: {integrity: sha512-eLNi0EMJY2DF4oWZrtjJo/sduXHgzT6BuUZEX2wczi6uqgZ7PAVDXSpy0Bx3mf1NWkcSC/PQlGxGg0ci4M3XeQ==} '@eslint/compat@1.1.1': resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==} @@ -172,8 +172,8 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.7.0': - resolution: {integrity: sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==} + '@eslint/js@9.8.0': + resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -276,19 +276,19 @@ packages: '@remusao/trie@1.5.0': resolution: {integrity: sha512-UX+3utJKgwCsg6sUozjxd38gNMVRXrY4TNX9VvCdSrlZBS1nZjRPi98ON3QjRAdf6KCguJFyQARRsulTeqQiPg==} - '@stylistic/eslint-plugin-js@2.3.0': - resolution: {integrity: sha512-lQwoiYb0Fs6Yc5QS3uT8+T9CPKK2Eoxc3H8EnYJgM26v/DgtW+1lvy2WNgyBflU+ThShZaHm3a6CdD9QeKx23w==} + '@stylistic/eslint-plugin-js@2.4.0': + resolution: {integrity: sha512-ScIYDFAwNz+ELr3KfAZMuYMCUq7Q6TdEEIq4RBRR77EHucpDrwi5Kx2d0VdYxb4s4o6nOtSkJmY9MCZupDYJow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@2.3.0': - resolution: {integrity: sha512-xboPWGUU5yaPlR+WR57GwXEuY4PSlPqA0C3IdNA/+1o2MuBi95XgDJcZiJ9N+aXsqBXAPIpFFb+WQ7QEHo4f7g==} + '@stylistic/eslint-plugin-plus@2.4.0': + resolution: {integrity: sha512-yqVZ2ps3lSzT3Atcx/jSbzTaRJfxtWeuPk1WvINUod1fRVxNlgKLDwiM+63Hq3Q7H4aM0lS5ccAbFlEGINNg0Q==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@2.3.0': - resolution: {integrity: sha512-wqOR38/uz/0XPnHX68ftp8sNMSAqnYGjovOTN7w00xnjS6Lxr3Sk7q6AaxWWqbMvOj7V2fQiMC5HWAbTruJsCg==} + '@stylistic/eslint-plugin-ts@2.4.0': + resolution: {integrity: sha512-0zi3hHrrqaXPGZESTfPNUm4YMvxq+aqPGCUiZfEnn7l5VNC19oKaPonZ6LmKzoksebzpJ7w6nieZLVeQm4o7tg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -309,68 +309,68 @@ packages: '@swc-node/sourcemap-support@0.5.1': resolution: {integrity: sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==} - '@swc/core-darwin-arm64@1.7.1': - resolution: {integrity: sha512-CuifMhtBNdIq6sHElOcu8E8SOO0BUlLyRw52wC+aiHrb5gR+iGlbi4L9sUhbR5bWoxD0Bz9ZJcE5uUhcLP+lJQ==} + '@swc/core-darwin-arm64@1.7.6': + resolution: {integrity: sha512-6lYHey84ZzsdtC7UuPheM4Rm0Inzxm6Sb8U6dmKc4eCx8JL0LfWG4LC5RsdsrTxnjTsbriWlnhZBffh8ijUHIQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.1': - resolution: {integrity: sha512-IKtddGei7qGISSggN9WGmzoyRcLS0enT905K9GPB+7W5k8SxtNP3Yt2TKcKvfF8hzICk986kKt8Fl/QOTXV9mA==} + '@swc/core-darwin-x64@1.7.6': + resolution: {integrity: sha512-Fyl+8aH9O5rpx4O7r2KnsPpoi32iWoKOYKiipeTbGjQ/E95tNPxbmsz4yqE8Ovldcga60IPJ5OKQA3HWRiuzdw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.1': - resolution: {integrity: sha512-GQJydSLM7OVsxcFPJKe22D/h4Vl7FhDsPCTlEaPo+dz7yc2AdoQFJRPSFIRlBz0qm5CxXycDxU9yfH4Omzfxmg==} + '@swc/core-linux-arm-gnueabihf@1.7.6': + resolution: {integrity: sha512-2WxYTqFaOx48GKC2cbO1/IntA+w+kfCFy436Ij7qRqqtV/WAvTM9TC1OmiFbqq436rSot52qYmX8fkwdB5UcLQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.1': - resolution: {integrity: sha512-Tp94iklMBAgtvlMVWbp9O+qADhNebS90zG835IucKEQB5rd3fEfWtiLP/3vz4hixJT63+yyeXQYs/Hld3vm7HQ==} + '@swc/core-linux-arm64-gnu@1.7.6': + resolution: {integrity: sha512-TBEGMSe0LhvPe4S7E68c7VzgT3OMu4VTmBLS7B2aHv4v8uZO92Khpp7L0WqgYU1y5eMjk+XLDLi4kokiNHv/Hg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.1': - resolution: {integrity: sha512-rbauhgFzeXNmg1jPUeiVkEMcoSHP0HvTklUOn1sUc4U0tu73uvPZI2e3TU1fo6sxE6FJeDJHZORatf+pAEo0fQ==} + '@swc/core-linux-arm64-musl@1.7.6': + resolution: {integrity: sha512-QI8QGL0HGT42tj7F1A+YAzhGkJjUcvvTfI1e2m704W0Enl2/UIK9v5D1zvQzYwusRyKuaQfbeBRYDh0NcLOGLg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.1': - resolution: {integrity: sha512-941tua/RtD/5GxHZOdLiRp/RIloqIlkJKy9ogbdSEI9VJ3Z5x1LznvxHfOI1mTifJMBwNSJLxtL9snUwxwLgEg==} + '@swc/core-linux-x64-gnu@1.7.6': + resolution: {integrity: sha512-61AYVzhjuNQAVIKKWOJu3H0/pFD28RYJGxnGg3YMhvRLRyuWNyY5Nyyj2WkKcz/ON+g38Arlz00NT1LDIViRLg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.1': - resolution: {integrity: sha512-Iuh0XnOQcoeDsJvh8eO73fVldMU/ucZs2qBxr/9TkgpiGBdaluKxymo2MBBopmxqfBwxEdHUa0TDLgEFyZK6bw==} + '@swc/core-linux-x64-musl@1.7.6': + resolution: {integrity: sha512-hQFznpfLK8XajfAAN9Cjs0w/aVmO7iu9VZvInyrTCRcPqxV5O+rvrhRxKvC1LRMZXr5M6JRSRtepp5w+TK4kAw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.1': - resolution: {integrity: sha512-H7Q44RZvDCPrKit202+NK014eOjd2VcsVxUX7Dk5D55sqgWgWskzGo7PzrosjiFgw5iVmpm4gDeaXCIS0FCE5A==} + '@swc/core-win32-arm64-msvc@1.7.6': + resolution: {integrity: sha512-Aqsd9afykVMuekzjm4X4TDqwxmG4CrzoOSFe0hZrn9SMio72l5eAPnMtYoe5LsIqtjV8MNprLfXaNbjHjTegmA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.1': - resolution: {integrity: sha512-zbvjPX2hBu+uCEAvqQBc86yBLtWhRSkh4uLGWUQylCHi1CccRfBww9S4RjXzXxK9bCgZSWbXUmfzJTiFuuhgHQ==} + '@swc/core-win32-ia32-msvc@1.7.6': + resolution: {integrity: sha512-9h0hYnOeRVNeQgHQTvD1Im67faNSSzBZ7Adtxyu9urNLfBTJilMllFd2QuGHlKW5+uaT6ZH7ZWDb+c/enx7Lcg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.1': - resolution: {integrity: sha512-pVh/IIdKujW8QxNIAI/van8nOB6sb1fi7QMSteSxjOkL0GGDWpx7t3qm1rDboCdS+9iUXEHv+8UJnpya1ko+Dw==} + '@swc/core-win32-x64-msvc@1.7.6': + resolution: {integrity: sha512-izeoB8glCSe6IIDQmrVm6bvR9muk9TeKgmtY7b6l1BwL4BFnTUk4dMmpbntT90bEVQn3JPCaPtUG4HfL8VuyuA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.1': - resolution: {integrity: sha512-M4gxJcvzZCH+QQJGVJDF3kT46C05IUPTFcA1wA65WAdg87MDzpr1mwtB/FmPsdcRFRbJIxET6uCsWgubn+KnJQ==} + '@swc/core@1.7.6': + resolution: {integrity: sha512-FZxyao9eQks1MRmUshgsZTmlg/HB2oXK5fghkoWJm/1CU2q2kaJlVDll2as5j+rmWiwkp0Gidlq8wlXcEEAO+g==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -393,14 +393,14 @@ packages: '@types/better-sqlite3@7.6.11': resolution: {integrity: sha512-i8KcD3PgGtGBLl3+mMYA8PdKkButvPyARxA7IQAd6qeslht13qxb1zzO8dRCtE7U3IoJS782zDBAeoKiM695kg==} - '@types/chai@4.3.16': - resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==} + '@types/chai@4.3.17': + resolution: {integrity: sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==} - '@types/chrome@0.0.268': - resolution: {integrity: sha512-7N1QH9buudSJ7sI8Pe4mBHJr5oZ48s0hcanI9w3wgijAlv1OZNUZve9JR4x42dn5lJ5Sm87V1JNfnoh10EnQlA==} + '@types/chrome@0.0.269': + resolution: {integrity: sha512-vF7x8YywnhXX2F06njQ/OE7a3Qeful43C5GUOsUksXWk89WoSFUU3iLeZW8lDpVO9atm8iZIEiLQTRC3H7NOXQ==} - '@types/eslint@8.56.11': - resolution: {integrity: sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==} + '@types/eslint@9.6.0': + resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -736,6 +736,10 @@ packages: resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -750,17 +754,17 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-sukka@6.1.6: - resolution: {integrity: sha512-EP68ak9Gg/haGFsng5Qk616VXpNqfw4nZuEySrrIqumqs/sLAxFzbgqHxKRTyiLyCyBIG6TFnP/Wkk0Lk8oo3A==} + eslint-config-sukka@6.1.10: + resolution: {integrity: sha512-UhG8jGjjraAGQsrWLu1KLOqse9XkkZuPBoqXz4er/TeCDKrPPud2WtQYem1rTlYENwVgo3H7tfVLQP3FrEd58A==} - eslint-formatter-sukka@6.1.6: - resolution: {integrity: sha512-lXbNoNPg7M6EHh5RSY45BZStpI//fStgAGfN8srvfz+3PXSOdlBOmZyZm7xtiYnMX+ZctG8z4FDAKdgAEvUhLQ==} + eslint-formatter-sukka@6.1.10: + resolution: {integrity: sha512-Fo2r/RLHVb7rjKKEdvbFQ4izXohUrODR8T5TA73A0oG1D2Qm26aRL6qpevAK1DGExkADdgms69gLibx7arTzGw==} eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-ts-bundled@6.1.6: - resolution: {integrity: sha512-k06mk6dow8LeMRWYSBEhke+MFRo5C1NLVl8lhN8nx6sb1LfTblh3wfC1KEKN7pjjGSyWGI/ZvumfEmJNpc3D7g==} + eslint-import-resolver-ts-bundled@6.1.10: + resolution: {integrity: sha512-BX4qf+cCyqaeybHkZ3wbunQZUgc97iAROxabRJiXhYS14awDWVUqpWw8CaLwrQrTgzrGTSG6mNYsOoZxieTAQA==} eslint-plugin-autofix@2.1.0: resolution: {integrity: sha512-4ya5flaJ7P+s4WeCe7mVd5Mmv0ayghl9Xz1MDewQqDNXn3SFkvTMqbCuJT5fsTl+BdtJ/CFNV48YrABohQu1VQ==} @@ -792,30 +796,30 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-n@17.9.0: - resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} + eslint-plugin-n@17.10.1: + resolution: {integrity: sha512-hm/q37W6efDptJXdwirsm6A257iY6ZNtpoSG0wEzFzjJ3AhL7OhEIhdSR2e4OdYfHO5EDeqlCfFrjf9q208IPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' - eslint-plugin-promise@6.6.0: - resolution: {integrity: sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-promise@7.0.0: + resolution: {integrity: sha512-wb1ECT+b90ndBdAujhIdAU8oQ3Vt5gKqP/t78KOmg0ifynrvc2jGR9f6ndbOVNFpKf6jLUBlBBDF3H3Wk0JICg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-sukka-ts@6.1.6: - resolution: {integrity: sha512-+WJ4B5aG8+P37fZDUVa3gobmXKTlo4Y7QXOizxVcm7Q7P1+HnhQ44wDtkorjHI3HgG2oYQ+g07a42c6m3MrNFQ==} + eslint-plugin-sukka-ts@6.1.10: + resolution: {integrity: sha512-QkHn/39c0/9UYWYX8GKFgb6tBlqh40zKsVg+RdxZLhxggYXE2OaYuPKQcgbBmBTMiMEQNgUXDLZy5U+MbvKxrQ==} - eslint-plugin-sukka@6.1.6: - resolution: {integrity: sha512-wNlZUbmlM4BeUaOT4LPAuqnZWC4DyuZM+VD2fvrnxf8WSUIhOVuzMSR0W1QuNKeGRIRS9LXOx3J10oyEMnrahA==} + eslint-plugin-sukka@6.1.10: + resolution: {integrity: sha512-o2ai49bza+XpD2W0cG+9vwmv7IKJfl9+Y3A63UE5kmaWMKlBp63+GbvZ0ihsiG4NRxvFHLFr/yijYwSvuYyZNA==} - eslint-plugin-unused-imports@4.0.0: - resolution: {integrity: sha512-mzM+y2B7XYpQryVa1usT+Y/BdNAtAZiXzwpSyDCboFoJN/LZRN67TNvQxKtuTK/Aplya3sLNQforiubzPPaIcQ==} + eslint-plugin-unused-imports@4.0.1: + resolution: {integrity: sha512-rax76s05z64uQgG9YXsWFmXrgjkaK79AvfeAWiSxhPP6RVGxeRaj4+2u+wxxu/mDy2pmJoOy1QTOEALMia2xGQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/eslint-plugin': '8' - eslint: '9' + '@typescript-eslint/eslint-plugin': ^8.0.0-0 + eslint: ^9.0.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true @@ -836,8 +840,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.7.0: - resolution: {integrity: sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==} + eslint@9.8.0: + resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -1422,14 +1426,14 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - tldts-core@6.1.34: - resolution: {integrity: sha512-Hb/jAm14h5x5+gO5Cv5wabKO0pbLlRoryvCC9v0t8OleZ4vXEKego7Mq1id/X1C8Vw1E0QCCQzGdWHkKFtxFrQ==} + tldts-core@6.1.37: + resolution: {integrity: sha512-q6M/RBjZcUoF/KRhHFuGrcnaXLaXH8kHKH/e8XaAd9ULGYYhB32kr1ceIXR77a57OxRB/NR471BcYwU7jf4PAg==} - tldts-experimental@6.1.34: - resolution: {integrity: sha512-nkbqZ9gU2L4kr4FHbsyvY0oL3fR2BL3KBeqr0HFtgUByNqRwAJ0Y2f8yqNjxKzr/g9QcC70CJsnxDhDGdL1mEg==} + tldts-experimental@6.1.37: + resolution: {integrity: sha512-GnuPXda/PzXoPqq4KCiXsiYoKBXV/oonfEY97hwadYmHzK6wJxLF8FPeRDGQPHP5RkphfcDGnAIMZthvqYrfSA==} - tldts@6.1.34: - resolution: {integrity: sha512-ErJIL8DMj1CLBER2aFrjI3IfhtuJD/jEYJA/iQg9wW8dIEPXNl4zcI/SGUihMsM/lP/Jyd8c2ETv6Cwtnk0/RQ==} + tldts@6.1.37: + resolution: {integrity: sha512-QMvNTwl3b3vyweq158Cf+IeEWe/P1HVDULo5n7qnt70rzkU3Ya2amaWO36lX0C8w6X3l92fftcuHwLIX9QBkZg==} hasBin: true to-regex-range@5.0.1: @@ -1529,22 +1533,22 @@ packages: snapshots: - '@cliqz/adblocker-content@1.30.0': + '@cliqz/adblocker-content@1.31.1': dependencies: - '@cliqz/adblocker-extended-selectors': 1.30.0 + '@cliqz/adblocker-extended-selectors': 1.31.1 - '@cliqz/adblocker-extended-selectors@1.30.0': {} + '@cliqz/adblocker-extended-selectors@1.31.1': {} - '@cliqz/adblocker@1.30.0': + '@cliqz/adblocker@1.31.1': dependencies: - '@cliqz/adblocker-content': 1.30.0 - '@cliqz/adblocker-extended-selectors': 1.30.0 + '@cliqz/adblocker-content': 1.31.1 + '@cliqz/adblocker-extended-selectors': 1.31.1 '@remusao/guess-url-type': 1.3.0 '@remusao/small': 1.3.0 '@remusao/smaz': 1.10.0 - '@types/chrome': 0.0.268 + '@types/chrome': 0.0.269 '@types/firefox-webext-browser': 120.0.4 - tldts-experimental: 6.1.34 + tldts-experimental: 6.1.37 '@dual-bundle/import-meta-resolve@4.1.0': {} @@ -1564,34 +1568,34 @@ snapshots: tslib: 2.6.3 optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.3.0(eslint@9.7.0)': + '@eslint-community/eslint-plugin-eslint-comments@4.3.0(eslint@9.8.0)': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.7.0 + eslint: 9.8.0 ignore: 5.3.1 - '@eslint-community/eslint-utils@4.4.0(eslint@9.7.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)': dependencies: - eslint: 9.7.0 + eslint: 9.8.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint-sukka/node@6.1.6(eslint@9.7.0)(typescript@5.5.4)': + '@eslint-sukka/node@6.1.10(eslint@9.8.0)(typescript@5.5.4)': dependencies: - '@eslint-sukka/shared': 6.1.6(eslint@9.7.0)(typescript@5.5.4) - eslint-plugin-n: 17.9.0(eslint@9.7.0) - eslint-plugin-sukka: 6.1.6(eslint@9.7.0)(typescript@5.5.4) + '@eslint-sukka/shared': 6.1.10(eslint@9.8.0)(typescript@5.5.4) + eslint-plugin-n: 17.10.1(eslint@9.8.0) + eslint-plugin-sukka: 6.1.10(eslint@9.8.0)(typescript@5.5.4) transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-sukka/shared@6.1.6(eslint@9.7.0)(typescript@5.5.4)': + '@eslint-sukka/shared@6.1.10(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@dual-bundle/import-meta-resolve': 4.1.0 - '@types/eslint': 8.56.11 - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@types/eslint': 9.6.0 + '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) type-fest: 4.23.0 transitivePeerDependencies: - eslint @@ -1622,7 +1626,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.7.0': {} + '@eslint/js@9.8.0': {} '@eslint/object-schema@2.1.4': {} @@ -1701,43 +1705,43 @@ snapshots: '@remusao/trie@1.5.0': {} - '@stylistic/eslint-plugin-js@2.3.0(eslint@9.7.0)': + '@stylistic/eslint-plugin-js@2.4.0(eslint@9.8.0)': dependencies: - '@types/eslint': 8.56.11 + '@types/eslint': 9.6.0 acorn: 8.12.1 - eslint: 9.7.0 + eslint: 9.8.0 eslint-visitor-keys: 4.0.0 espree: 10.1.0 - '@stylistic/eslint-plugin-plus@2.3.0(eslint@9.7.0)(typescript@5.5.4)': + '@stylistic/eslint-plugin-plus@2.4.0(eslint@9.8.0)(typescript@5.5.4)': dependencies: - '@types/eslint': 8.56.11 - '@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4) - eslint: 9.7.0 + '@types/eslint': 9.6.0 + '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.5.4) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@2.3.0(eslint@9.7.0)(typescript@5.5.4)': + '@stylistic/eslint-plugin-ts@2.4.0(eslint@9.8.0)(typescript@5.5.4)': dependencies: - '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.7.0) - '@types/eslint': 8.56.11 - '@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4) - eslint: 9.7.0 + '@stylistic/eslint-plugin-js': 2.4.0(eslint@9.8.0) + '@types/eslint': 9.6.0 + '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.5.4) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@swc-node/core@1.13.3(@swc/core@1.7.1)(@swc/types@0.1.12)': + '@swc-node/core@1.13.3(@swc/core@1.7.6)(@swc/types@0.1.12)': dependencies: - '@swc/core': 1.7.1 + '@swc/core': 1.7.6 '@swc/types': 0.1.12 - '@swc-node/register@1.10.9(@swc/core@1.7.1)(@swc/types@0.1.12)(typescript@5.5.4)': + '@swc-node/register@1.10.9(@swc/core@1.7.6)(@swc/types@0.1.12)(typescript@5.5.4)': dependencies: - '@swc-node/core': 1.13.3(@swc/core@1.7.1)(@swc/types@0.1.12) + '@swc-node/core': 1.13.3(@swc/core@1.7.6)(@swc/types@0.1.12) '@swc-node/sourcemap-support': 0.5.1 - '@swc/core': 1.7.1 + '@swc/core': 1.7.6 colorette: 2.0.20 debug: 4.3.5(supports-color@8.1.1) oxc-resolver: 1.10.2 @@ -1753,51 +1757,51 @@ snapshots: source-map-support: 0.5.21 tslib: 2.6.3 - '@swc/core-darwin-arm64@1.7.1': + '@swc/core-darwin-arm64@1.7.6': optional: true - '@swc/core-darwin-x64@1.7.1': + '@swc/core-darwin-x64@1.7.6': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.1': + '@swc/core-linux-arm-gnueabihf@1.7.6': optional: true - '@swc/core-linux-arm64-gnu@1.7.1': + '@swc/core-linux-arm64-gnu@1.7.6': optional: true - '@swc/core-linux-arm64-musl@1.7.1': + '@swc/core-linux-arm64-musl@1.7.6': optional: true - '@swc/core-linux-x64-gnu@1.7.1': + '@swc/core-linux-x64-gnu@1.7.6': optional: true - '@swc/core-linux-x64-musl@1.7.1': + '@swc/core-linux-x64-musl@1.7.6': optional: true - '@swc/core-win32-arm64-msvc@1.7.1': + '@swc/core-win32-arm64-msvc@1.7.6': optional: true - '@swc/core-win32-ia32-msvc@1.7.1': + '@swc/core-win32-ia32-msvc@1.7.6': optional: true - '@swc/core-win32-x64-msvc@1.7.1': + '@swc/core-win32-x64-msvc@1.7.6': optional: true - '@swc/core@1.7.1': + '@swc/core@1.7.6': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.1 - '@swc/core-darwin-x64': 1.7.1 - '@swc/core-linux-arm-gnueabihf': 1.7.1 - '@swc/core-linux-arm64-gnu': 1.7.1 - '@swc/core-linux-arm64-musl': 1.7.1 - '@swc/core-linux-x64-gnu': 1.7.1 - '@swc/core-linux-x64-musl': 1.7.1 - '@swc/core-win32-arm64-msvc': 1.7.1 - '@swc/core-win32-ia32-msvc': 1.7.1 - '@swc/core-win32-x64-msvc': 1.7.1 + '@swc/core-darwin-arm64': 1.7.6 + '@swc/core-darwin-x64': 1.7.6 + '@swc/core-linux-arm-gnueabihf': 1.7.6 + '@swc/core-linux-arm64-gnu': 1.7.6 + '@swc/core-linux-arm64-musl': 1.7.6 + '@swc/core-linux-x64-gnu': 1.7.6 + '@swc/core-linux-x64-musl': 1.7.6 + '@swc/core-win32-arm64-msvc': 1.7.6 + '@swc/core-win32-ia32-msvc': 1.7.6 + '@swc/core-win32-x64-msvc': 1.7.6 '@swc/counter@0.1.3': {} @@ -1818,14 +1822,14 @@ snapshots: dependencies: '@types/node': 20.14.11 - '@types/chai@4.3.16': {} + '@types/chai@4.3.17': {} - '@types/chrome@0.0.268': + '@types/chrome@0.0.269': dependencies: '@types/filesystem': 0.0.36 '@types/har-format': 1.2.15 - '@types/eslint@8.56.11': + '@types/eslint@9.6.0': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -1858,15 +1862,15 @@ snapshots: dependencies: '@types/node': 20.14.11 - '@typescript-eslint/eslint-plugin@8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4))(eslint@9.7.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 8.0.0-alpha.45 - '@typescript-eslint/type-utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@typescript-eslint/type-utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/visitor-keys': 8.0.0-alpha.45 - eslint: 9.7.0 + eslint: 9.8.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -1876,14 +1880,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 8.0.0-alpha.45 '@typescript-eslint/types': 8.0.0-alpha.45 '@typescript-eslint/typescript-estree': 8.0.0-alpha.45(typescript@5.5.4) '@typescript-eslint/visitor-keys': 8.0.0-alpha.45 debug: 4.3.5(supports-color@8.1.1) - eslint: 9.7.0 + eslint: 9.8.0 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -1899,10 +1903,10 @@ snapshots: '@typescript-eslint/types': 8.0.0-alpha.45 '@typescript-eslint/visitor-keys': 8.0.0-alpha.45 - '@typescript-eslint/type-utils@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 8.0.0-alpha.45(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) debug: 4.3.5(supports-color@8.1.1) ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -1945,24 +1949,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.17.0(eslint@9.7.0)(typescript@5.5.4)': + '@typescript-eslint/utils@7.17.0(eslint@9.8.0)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@typescript-eslint/scope-manager': 7.17.0 '@typescript-eslint/types': 7.17.0 '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4) - eslint: 9.7.0 + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@typescript-eslint/scope-manager': 8.0.0-alpha.45 '@typescript-eslint/types': 8.0.0-alpha.45 '@typescript-eslint/typescript-estree': 8.0.0-alpha.45(typescript@5.5.4) - eslint: 9.7.0 + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript @@ -2186,46 +2190,51 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + escalade@3.1.2: {} escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.7.0): + eslint-compat-utils@0.5.1(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 semver: 7.6.3 - eslint-config-sukka@6.1.6(eslint@9.7.0)(typescript@5.5.4): + eslint-config-sukka@6.1.10(@typescript-eslint/eslint-plugin@8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4): dependencies: - '@eslint-community/eslint-plugin-eslint-comments': 4.3.0(eslint@9.7.0) - '@eslint-sukka/shared': 6.1.6(eslint@9.7.0)(typescript@5.5.4) + '@eslint-community/eslint-plugin-eslint-comments': 4.3.0(eslint@9.8.0) + '@eslint-sukka/shared': 6.1.10(eslint@9.8.0)(typescript@5.5.4) '@eslint/compat': 1.1.1 - '@eslint/js': 9.7.0 - '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.7.0) - '@stylistic/eslint-plugin-plus': 2.3.0(eslint@9.7.0)(typescript@5.5.4) - '@stylistic/eslint-plugin-ts': 2.3.0(eslint@9.7.0)(typescript@5.5.4) - '@typescript-eslint/parser': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@eslint/js': 9.8.0 + '@stylistic/eslint-plugin-js': 2.4.0(eslint@9.8.0) + '@stylistic/eslint-plugin-plus': 2.4.0(eslint@9.8.0)(typescript@5.5.4) + '@stylistic/eslint-plugin-ts': 2.4.0(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) ci-info: 4.0.0 defu: 6.1.4 - eslint-import-resolver-ts-bundled: 6.1.6 - eslint-plugin-autofix: 2.1.0(eslint@9.7.0) - eslint-plugin-deprecation: 3.0.0(eslint@9.7.0)(typescript@5.5.4) - eslint-plugin-import-x: 3.1.0(eslint@9.7.0)(typescript@5.5.4) - eslint-plugin-jsonc: 2.16.0(eslint@9.7.0) - eslint-plugin-promise: 6.6.0(eslint@9.7.0) - eslint-plugin-sukka: 6.1.6(eslint@9.7.0)(typescript@5.5.4) - eslint-plugin-sukka-ts: 6.1.6(eslint@9.7.0)(typescript@5.5.4) - eslint-plugin-unused-imports: 4.0.0(eslint@9.7.0) + eslint-import-resolver-ts-bundled: 6.1.10 + eslint-plugin-autofix: 2.1.0(eslint@9.8.0) + eslint-plugin-deprecation: 3.0.0(eslint@9.8.0)(typescript@5.5.4) + eslint-plugin-import-x: 3.1.0(eslint@9.8.0)(typescript@5.5.4) + eslint-plugin-jsonc: 2.16.0(eslint@9.8.0) + eslint-plugin-promise: 7.0.0(eslint@9.8.0) + eslint-plugin-sukka: 6.1.10(eslint@9.8.0)(typescript@5.5.4) + eslint-plugin-sukka-ts: 6.1.10(eslint@9.8.0)(typescript@5.5.4) + eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0) jsonc-eslint-parser: 2.4.0 picocolors: 1.0.1 - typescript-eslint: 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + typescript-eslint: 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - eslint - supports-color - typescript - eslint-formatter-sukka@6.1.6: + eslint-formatter-sukka@6.1.10: dependencies: ci-info: 4.0.0 picocolors: 1.0.1 @@ -2238,42 +2247,42 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-ts-bundled@6.1.6: + eslint-import-resolver-ts-bundled@6.1.10: dependencies: - enhanced-resolve: 5.17.0 + enhanced-resolve: 5.17.1 - eslint-plugin-autofix@2.1.0(eslint@9.7.0): + eslint-plugin-autofix@2.1.0(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 eslint-rule-composer: 0.3.0 espree: 9.6.1 esutils: 2.0.3 lodash: 4.17.21 string-similarity: 4.0.4 - eslint-plugin-deprecation@3.0.0(eslint@9.7.0)(typescript@5.5.4): + eslint-plugin-deprecation@3.0.0(eslint@9.8.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4) - eslint: 9.7.0 + '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.5.4) + eslint: 9.8.0 ts-api-utils: 1.3.0(typescript@5.5.4) tslib: 2.6.3 typescript: 5.5.4 transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.8.0(eslint@9.7.0): + eslint-plugin-es-x@7.8.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) - eslint-plugin-import-x@3.1.0(eslint@9.7.0)(typescript@5.5.4): + eslint-plugin-import-x@3.1.0(eslint@9.8.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4) + '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.5.4) debug: 4.3.5(supports-color@8.1.1) doctrine: 3.0.0 - eslint: 9.7.0 + eslint: 9.8.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.6 is-glob: 4.0.3 @@ -2285,55 +2294,57 @@ snapshots: - supports-color - typescript - eslint-plugin-jsonc@2.16.0(eslint@9.7.0): + eslint-plugin-jsonc@2.16.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-n@17.9.0(eslint@9.7.0): + eslint-plugin-n@17.10.1(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) enhanced-resolve: 5.17.0 - eslint: 9.7.0 - eslint-plugin-es-x: 7.8.0(eslint@9.7.0) + eslint: 9.8.0 + eslint-plugin-es-x: 7.8.0(eslint@9.8.0) get-tsconfig: 4.7.6 globals: 15.8.0 ignore: 5.3.1 minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-promise@6.6.0(eslint@9.7.0): + eslint-plugin-promise@7.0.0(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 - eslint-plugin-sukka-ts@6.1.6(eslint@9.7.0)(typescript@5.5.4): + eslint-plugin-sukka-ts@6.1.10(eslint@9.8.0)(typescript@5.5.4): dependencies: - '@eslint-sukka/shared': 6.1.6(eslint@9.7.0)(typescript@5.5.4) - '@typescript-eslint/type-utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@eslint-sukka/shared': 6.1.10(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/type-utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) transitivePeerDependencies: - eslint - supports-color - typescript - eslint-plugin-sukka@6.1.6(eslint@9.7.0)(typescript@5.5.4): + eslint-plugin-sukka@6.1.10(eslint@9.8.0)(typescript@5.5.4): dependencies: - '@eslint-sukka/shared': 6.1.6(eslint@9.7.0)(typescript@5.5.4) + '@eslint-sukka/shared': 6.1.10(eslint@9.8.0)(typescript@5.5.4) transitivePeerDependencies: - eslint - supports-color - typescript - eslint-plugin-unused-imports@4.0.0(eslint@9.7.0): + eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 eslint-rule-composer: 0.3.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) eslint-rule-composer@0.3.0: {} @@ -2346,13 +2357,13 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.7.0: + eslint@9.8.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.17.1 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.7.0 + '@eslint/js': 9.8.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -2944,15 +2955,15 @@ snapshots: text-table@0.2.0: {} - tldts-core@6.1.34: {} + tldts-core@6.1.37: {} - tldts-experimental@6.1.34: + tldts-experimental@6.1.37: dependencies: - tldts-core: 6.1.34 + tldts-core: 6.1.37 - tldts@6.1.34: + tldts@6.1.37: dependencies: - tldts-core: 6.1.34 + tldts-core: 6.1.37 to-regex-range@5.0.1: dependencies: @@ -2976,11 +2987,11 @@ snapshots: type-fest@4.23.0: {} - typescript-eslint@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4): + typescript-eslint@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4))(eslint@9.7.0)(typescript@5.5.4) - '@typescript-eslint/parser': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.45(@typescript-eslint/parser@8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.8.0)(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: diff --git a/tsconfig.json b/tsconfig.json index e5367f72..3af67940 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,7 @@ "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, "strict": true, + "strictNullChecks": true, "skipLibCheck": true }, "include": [