Fix: workaround normalize domain

This commit is contained in:
SukkaW 2024-08-04 23:00:47 +08:00
parent b3d3052630
commit 32ef8ef7b6
6 changed files with 280 additions and 258 deletions

View File

@ -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'));
});
});

View File

@ -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;

View File

@ -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;
}

View File

@ -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"
}

481
pnpm-lock.yaml generated
View File

@ -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:

View File

@ -11,6 +11,7 @@
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"strictNullChecks": true,
"skipLibCheck": true
},
"include": [