Browse Source

Chore: prefer `tldts-experimental`

SukkaW 1 year ago
parent
commit
ecc635a455

+ 1 - 0
Build/lib/normalize-domain.ts

@@ -1,4 +1,5 @@
 // https://github.com/remusao/tldts/issues/2121
 // https://github.com/remusao/tldts/issues/2121
+// In short, single label domain suffix is ignored due to the size optimization, so no isIcann
 // import tldts from 'tldts-experimental';
 // import tldts from 'tldts-experimental';
 import tldts from 'tldts';
 import tldts from 'tldts';
 import { normalizeTldtsOpt } from '../constants/loose-tldts-opt';
 import { normalizeTldtsOpt } from '../constants/loose-tldts-opt';

+ 7 - 3
Build/lib/parse-dnsmasq.ts

@@ -1,12 +1,16 @@
 import { createReadlineInterfaceFromResponse } from './fetch-text-by-line';
 import { createReadlineInterfaceFromResponse } from './fetch-text-by-line';
-import { parse as tldtsParse } from 'tldts';
+
+// https://github.com/remusao/tldts/issues/2121
+// In short, single label domain suffix is ignored due to the size optimization, so no isIcann
+// import tldts from 'tldts-experimental';
+import tldts from 'tldts';
 import type { NodeFetchResponse } from './make-fetch-happen';
 import type { NodeFetchResponse } from './make-fetch-happen';
 import type { UndiciResponseData } from './fetch-retry';
 import type { UndiciResponseData } from './fetch-retry';
 import type { Response } from 'undici';
 import type { Response } from 'undici';
 
 
 function isDomainLoose(domain: string): boolean {
 function isDomainLoose(domain: string): boolean {
-  const { isIcann, isPrivate, isIp } = tldtsParse(domain);
-  return !!(!isIp && (isIcann || isPrivate));
+  const r = tldts.parse(domain);
+  return !!(!r.isIp && (r.isIcann || r.isPrivate));
 }
 }
 
 
 export function extractDomainsFromFelixDnsmasq(line: string): string | null {
 export function extractDomainsFromFelixDnsmasq(line: string): string | null {

+ 1 - 1
Build/validate-domain-alive.ts

@@ -1,7 +1,7 @@
 import DNS2 from 'dns2';
 import DNS2 from 'dns2';
 import { readFileByLine } from './lib/fetch-text-by-line';
 import { readFileByLine } from './lib/fetch-text-by-line';
 import { processLine } from './lib/process-line';
 import { processLine } from './lib/process-line';
-import tldts from 'tldts';
+import tldts from 'tldts-experimental';
 import { looseTldtsOpt } from './constants/loose-tldts-opt';
 import { looseTldtsOpt } from './constants/loose-tldts-opt';
 import { fdir as Fdir } from 'fdir';
 import { fdir as Fdir } from 'fdir';
 import { SOURCE_DIR } from './constants/dir';
 import { SOURCE_DIR } from './constants/dir';

+ 1 - 1
Build/validate-global-tld.ts

@@ -3,7 +3,7 @@ import { readFileByLine } from './lib/fetch-text-by-line';
 import { HostnameSmolTrie } from './lib/trie';
 import { HostnameSmolTrie } from './lib/trie';
 import { OUTPUT_SURGE_DIR, SOURCE_DIR } from './constants/dir';
 import { OUTPUT_SURGE_DIR, SOURCE_DIR } from './constants/dir';
 import { ICP_TLD } from './constants/domains';
 import { ICP_TLD } from './constants/domains';
-import tldts from 'tldts';
+import tldts from 'tldts-experimental';
 import { looseTldtsOpt } from './constants/loose-tldts-opt';
 import { looseTldtsOpt } from './constants/loose-tldts-opt';
 
 
 (async () => {
 (async () => {

+ 3 - 3
package.json

@@ -40,8 +40,8 @@
     "picocolors": "^1.1.1",
     "picocolors": "^1.1.1",
     "tar-fs": "^3.0.6",
     "tar-fs": "^3.0.6",
     "tinyexec": "^0.3.1",
     "tinyexec": "^0.3.1",
-    "tldts": "^6.1.67",
-    "tldts-experimental": "^6.1.67",
+    "tldts": "^6.1.68",
+    "tldts-experimental": "^6.1.68",
     "undici": "^7.1.0",
     "undici": "^7.1.0",
     "whoiser": "^1.18.0",
     "whoiser": "^1.18.0",
     "why-is-node-running": "^3.2.1",
     "why-is-node-running": "^3.2.1",
@@ -63,7 +63,7 @@
     "@types/node-fetch": "^2.6.12",
     "@types/node-fetch": "^2.6.12",
     "@types/tar-fs": "^2.0.4",
     "@types/tar-fs": "^2.0.4",
     "@types/tar-stream": "^3.1.3",
     "@types/tar-stream": "^3.1.3",
-    "eslint": "^9.16.0",
+    "eslint": "^9.17.0",
     "eslint-config-sukka": "^6.12.0",
     "eslint-config-sukka": "^6.12.0",
     "eslint-formatter-sukka": "^6.12.0",
     "eslint-formatter-sukka": "^6.12.0",
     "expect": "^29.7.0",
     "expect": "^29.7.0",

+ 117 - 117
pnpm-lock.yaml

@@ -72,11 +72,11 @@ importers:
         specifier: ^0.3.1
         specifier: ^0.3.1
         version: 0.3.1
         version: 0.3.1
       tldts:
       tldts:
-        specifier: ^6.1.67
-        version: 6.1.67
+        specifier: ^6.1.68
+        version: 6.1.68
       tldts-experimental:
       tldts-experimental:
-        specifier: ^6.1.67
-        version: 6.1.67
+        specifier: ^6.1.68
+        version: 6.1.68
       undici:
       undici:
         specifier: ^7.1.0
         specifier: ^7.1.0
         version: 7.1.0
         version: 7.1.0
@@ -95,7 +95,7 @@ importers:
     devDependencies:
     devDependencies:
       '@eslint-sukka/node':
       '@eslint-sukka/node':
         specifier: ^6.12.0
         specifier: ^6.12.0
-        version: 6.12.0(eslint@9.16.0)(typescript@5.7.2)
+        version: 6.12.0(eslint@9.17.0)(typescript@5.7.2)
       '@swc-node/register':
       '@swc-node/register':
         specifier: ^1.10.9
         specifier: ^1.10.9
         version: 1.10.9(@swc/core@1.10.1)(@swc/types@0.1.17)(typescript@5.7.2)
         version: 1.10.9(@swc/core@1.10.1)(@swc/types@0.1.17)(typescript@5.7.2)
@@ -136,11 +136,11 @@ importers:
         specifier: ^3.1.3
         specifier: ^3.1.3
         version: 3.1.3
         version: 3.1.3
       eslint:
       eslint:
-        specifier: ^9.16.0
-        version: 9.16.0
+        specifier: ^9.17.0
+        version: 9.17.0
       eslint-config-sukka:
       eslint-config-sukka:
         specifier: ^6.12.0
         specifier: ^6.12.0
-        version: 6.12.0(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)
+        version: 6.12.0(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)
       eslint-formatter-sukka:
       eslint-formatter-sukka:
         specifier: ^6.12.0
         specifier: ^6.12.0
         version: 6.12.0
         version: 6.12.0
@@ -220,8 +220,8 @@ packages:
     resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==}
     resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
 
-  '@eslint/js@9.16.0':
-    resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==}
+  '@eslint/js@9.17.0':
+    resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
 
   '@eslint/object-schema@2.1.4':
   '@eslint/object-schema@2.1.4':
@@ -1018,8 +1018,8 @@ packages:
     resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
     resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
 
-  eslint@9.16.0:
-    resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==}
+  eslint@9.17.0:
+    resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     hasBin: true
     hasBin: true
     peerDependencies:
     peerDependencies:
@@ -1753,14 +1753,14 @@ packages:
   tinyexec@0.3.1:
   tinyexec@0.3.1:
     resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
     resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
 
 
-  tldts-core@6.1.67:
-    resolution: {integrity: sha512-12K5O4m3uUW6YM5v45Z7wc6NTSmAYj4Tq3de7eXghZkp879IlfPJrUWeWFwu1FS94U5t2vwETgJ1asu8UGNKVQ==}
+  tldts-core@6.1.68:
+    resolution: {integrity: sha512-85TdlS/DLW/gVdf2oyyzqp3ocS30WxjaL4la85EArl9cHUR/nizifKAJPziWewSZjDZS71U517/i6ciUeqtB5Q==}
 
 
-  tldts-experimental@6.1.67:
-    resolution: {integrity: sha512-M5HZFMmtfxXcTQSTHu4Pn51CJdOK4hFw+y9KCj6bRRNaJRffNJIpTqSLixol+P+0v3NkXYxb1Mm90goJksCSrw==}
+  tldts-experimental@6.1.68:
+    resolution: {integrity: sha512-cQ7OdvIpATiNKu3bdyaDzn2bLqg6Ln3BpyGLyLwYfEcaNY3rXsXi+5apxtzfH/+KT30+gzN3gswdsdF+KFHflw==}
 
 
-  tldts@6.1.67:
-    resolution: {integrity: sha512-714VbegxoZ9WF5/IsVCy9rWXKUpPkJq87ebWLXQzNawce96l5oRrRf2eHzB4pT2g/4HQU1dYbu+sdXClYxlDKQ==}
+  tldts@6.1.68:
+    resolution: {integrity: sha512-JKF17jROiYkjJPT73hUTEiTp2OBCf+kAlB+1novk8i6Q6dWjHsgEjw9VLiipV4KTJavazXhY1QUXyQFSem2T7w==}
     hasBin: true
     hasBin: true
 
 
   to-regex-range@5.0.1:
   to-regex-range@5.0.1:
@@ -1916,35 +1916,35 @@ snapshots:
       tslib: 2.8.1
       tslib: 2.8.1
     optional: true
     optional: true
 
 
-  '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0)':
+  '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.17.0)':
     dependencies:
     dependencies:
       escape-string-regexp: 4.0.0
       escape-string-regexp: 4.0.0
-      eslint: 9.16.0
+      eslint: 9.17.0
       ignore: 5.3.2
       ignore: 5.3.2
 
 
-  '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0)':
+  '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)':
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
       eslint-visitor-keys: 3.4.3
       eslint-visitor-keys: 3.4.3
 
 
   '@eslint-community/regexpp@4.12.1': {}
   '@eslint-community/regexpp@4.12.1': {}
 
 
-  '@eslint-sukka/node@6.12.0(eslint@9.16.0)(typescript@5.7.2)':
+  '@eslint-sukka/node@6.12.0(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
-      '@eslint-sukka/shared': 6.12.0(eslint@9.16.0)(typescript@5.7.2)
-      eslint-plugin-n: 17.14.0(eslint@9.16.0)
-      eslint-plugin-sukka: 6.12.0(eslint@9.16.0)(typescript@5.7.2)
+      '@eslint-sukka/shared': 6.12.0(eslint@9.17.0)(typescript@5.7.2)
+      eslint-plugin-n: 17.14.0(eslint@9.17.0)
+      eslint-plugin-sukka: 6.12.0(eslint@9.17.0)(typescript@5.7.2)
     transitivePeerDependencies:
     transitivePeerDependencies:
       - eslint
       - eslint
       - supports-color
       - supports-color
       - typescript
       - typescript
 
 
-  '@eslint-sukka/shared@6.12.0(eslint@9.16.0)(typescript@5.7.2)':
+  '@eslint-sukka/shared@6.12.0(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
       '@dual-bundle/import-meta-resolve': 4.1.0
       '@dual-bundle/import-meta-resolve': 4.1.0
       '@package-json/types': 0.0.11
       '@package-json/types': 0.0.11
       '@types/eslint': 9.6.1
       '@types/eslint': 9.6.1
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
     transitivePeerDependencies:
     transitivePeerDependencies:
       - eslint
       - eslint
       - supports-color
       - supports-color
@@ -1976,7 +1976,7 @@ snapshots:
 
 
   '@eslint/js@9.15.0': {}
   '@eslint/js@9.15.0': {}
 
 
-  '@eslint/js@9.16.0': {}
+  '@eslint/js@9.17.0': {}
 
 
   '@eslint/object-schema@2.1.4': {}
   '@eslint/object-schema@2.1.4': {}
 
 
@@ -1997,7 +1997,7 @@ snapshots:
       '@remusao/guess-url-type': 1.3.0
       '@remusao/guess-url-type': 1.3.0
       '@remusao/small': 1.3.0
       '@remusao/small': 1.3.0
       '@remusao/smaz': 1.10.0
       '@remusao/smaz': 1.10.0
-      tldts-experimental: 6.1.67
+      tldts-experimental: 6.1.68
 
 
   '@henrygd/queue@1.0.7': {}
   '@henrygd/queue@1.0.7': {}
 
 
@@ -2136,20 +2136,20 @@ snapshots:
 
 
   '@sinclair/typebox@0.27.8': {}
   '@sinclair/typebox@0.27.8': {}
 
 
-  '@stylistic/eslint-plugin-js@2.11.0(eslint@9.16.0)':
+  '@stylistic/eslint-plugin-js@2.11.0(eslint@9.17.0)':
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
       eslint-visitor-keys: 4.2.0
       eslint-visitor-keys: 4.2.0
       espree: 10.3.0
       espree: 10.3.0
 
 
-  '@stylistic/eslint-plugin-plus@2.11.0(eslint@9.16.0)':
+  '@stylistic/eslint-plugin-plus@2.11.0(eslint@9.17.0)':
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
 
 
-  '@stylistic/eslint-plugin-ts@2.11.0(eslint@9.16.0)(typescript@5.7.2)':
+  '@stylistic/eslint-plugin-ts@2.11.0(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
-      eslint: 9.16.0
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
+      eslint: 9.17.0
       eslint-visitor-keys: 4.2.0
       eslint-visitor-keys: 4.2.0
       espree: 10.3.0
       espree: 10.3.0
     transitivePeerDependencies:
     transitivePeerDependencies:
@@ -2315,15 +2315,15 @@ snapshots:
     dependencies:
     dependencies:
       '@types/yargs-parser': 21.0.3
       '@types/yargs-parser': 21.0.3
 
 
-  '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)':
+  '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
       '@eslint-community/regexpp': 4.12.1
       '@eslint-community/regexpp': 4.12.1
-      '@typescript-eslint/parser': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@typescript-eslint/parser': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
       '@typescript-eslint/scope-manager': 8.15.0
       '@typescript-eslint/scope-manager': 8.15.0
-      '@typescript-eslint/type-utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@typescript-eslint/type-utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
       '@typescript-eslint/visitor-keys': 8.15.0
       '@typescript-eslint/visitor-keys': 8.15.0
-      eslint: 9.16.0
+      eslint: 9.17.0
       graphemer: 1.4.0
       graphemer: 1.4.0
       ignore: 5.3.2
       ignore: 5.3.2
       natural-compare: 1.4.0
       natural-compare: 1.4.0
@@ -2333,14 +2333,14 @@ snapshots:
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
 
 
-  '@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2)':
+  '@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
       '@typescript-eslint/scope-manager': 8.15.0
       '@typescript-eslint/scope-manager': 8.15.0
       '@typescript-eslint/types': 8.15.0
       '@typescript-eslint/types': 8.15.0
       '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2)
       '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2)
       '@typescript-eslint/visitor-keys': 8.15.0
       '@typescript-eslint/visitor-keys': 8.15.0
       debug: 4.3.7(supports-color@8.1.1)
       debug: 4.3.7(supports-color@8.1.1)
-      eslint: 9.16.0
+      eslint: 9.17.0
     optionalDependencies:
     optionalDependencies:
       typescript: 5.7.2
       typescript: 5.7.2
     transitivePeerDependencies:
     transitivePeerDependencies:
@@ -2351,12 +2351,12 @@ snapshots:
       '@typescript-eslint/types': 8.15.0
       '@typescript-eslint/types': 8.15.0
       '@typescript-eslint/visitor-keys': 8.15.0
       '@typescript-eslint/visitor-keys': 8.15.0
 
 
-  '@typescript-eslint/type-utils@8.15.0(eslint@9.16.0)(typescript@5.7.2)':
+  '@typescript-eslint/type-utils@8.15.0(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
       '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2)
       '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
       debug: 4.3.7(supports-color@8.1.1)
       debug: 4.3.7(supports-color@8.1.1)
-      eslint: 9.16.0
+      eslint: 9.17.0
       ts-api-utils: 1.4.0(typescript@5.7.2)
       ts-api-utils: 1.4.0(typescript@5.7.2)
     optionalDependencies:
     optionalDependencies:
       typescript: 5.7.2
       typescript: 5.7.2
@@ -2380,13 +2380,13 @@ snapshots:
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
 
 
-  '@typescript-eslint/utils@8.15.0(eslint@9.16.0)(typescript@5.7.2)':
+  '@typescript-eslint/utils@8.15.0(eslint@9.17.0)(typescript@5.7.2)':
     dependencies:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0)
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
       '@typescript-eslint/scope-manager': 8.15.0
       '@typescript-eslint/scope-manager': 8.15.0
       '@typescript-eslint/types': 8.15.0
       '@typescript-eslint/types': 8.15.0
       '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2)
       '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2)
-      eslint: 9.16.0
+      eslint: 9.17.0
     optionalDependencies:
     optionalDependencies:
       typescript: 5.7.2
       typescript: 5.7.2
     transitivePeerDependencies:
     transitivePeerDependencies:
@@ -2653,39 +2653,39 @@ snapshots:
 
 
   escape-string-regexp@4.0.0: {}
   escape-string-regexp@4.0.0: {}
 
 
-  eslint-compat-utils@0.5.1(eslint@9.16.0):
+  eslint-compat-utils@0.5.1(eslint@9.17.0):
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
       semver: 7.6.3
       semver: 7.6.3
 
 
-  eslint-compat-utils@0.6.3(eslint@9.16.0):
+  eslint-compat-utils@0.6.3(eslint@9.17.0):
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
       semver: 7.6.3
       semver: 7.6.3
 
 
-  eslint-config-sukka@6.12.0(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2):
+  eslint-config-sukka@6.12.0(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2):
     dependencies:
     dependencies:
-      '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0)
-      '@eslint-sukka/shared': 6.12.0(eslint@9.16.0)(typescript@5.7.2)
+      '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.17.0)
+      '@eslint-sukka/shared': 6.12.0(eslint@9.17.0)(typescript@5.7.2)
       '@eslint/js': 9.15.0
       '@eslint/js': 9.15.0
-      '@stylistic/eslint-plugin-js': 2.11.0(eslint@9.16.0)
-      '@stylistic/eslint-plugin-plus': 2.11.0(eslint@9.16.0)
-      '@stylistic/eslint-plugin-ts': 2.11.0(eslint@9.16.0)(typescript@5.7.2)
-      '@typescript-eslint/parser': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@stylistic/eslint-plugin-js': 2.11.0(eslint@9.17.0)
+      '@stylistic/eslint-plugin-plus': 2.11.0(eslint@9.17.0)
+      '@stylistic/eslint-plugin-ts': 2.11.0(eslint@9.17.0)(typescript@5.7.2)
+      '@typescript-eslint/parser': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
       ci-info: 4.1.0
       ci-info: 4.1.0
       defu: 6.1.4
       defu: 6.1.4
       eslint-import-resolver-ts-bundled: 6.12.0
       eslint-import-resolver-ts-bundled: 6.12.0
-      eslint-plugin-antfu: 2.7.0(eslint@9.16.0)
-      eslint-plugin-autofix: 2.2.0(eslint@9.16.0)
-      eslint-plugin-import-x: 4.4.3(eslint@9.16.0)(typescript@5.7.2)
-      eslint-plugin-jsonc: 2.18.2(eslint@9.16.0)
-      eslint-plugin-promise: 7.1.0(eslint@9.16.0)
-      eslint-plugin-regexp: 2.7.0(eslint@9.16.0)
-      eslint-plugin-sukka: 6.12.0(eslint@9.16.0)(typescript@5.7.2)
-      eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)
+      eslint-plugin-antfu: 2.7.0(eslint@9.17.0)
+      eslint-plugin-autofix: 2.2.0(eslint@9.17.0)
+      eslint-plugin-import-x: 4.4.3(eslint@9.17.0)(typescript@5.7.2)
+      eslint-plugin-jsonc: 2.18.2(eslint@9.17.0)
+      eslint-plugin-promise: 7.1.0(eslint@9.17.0)
+      eslint-plugin-regexp: 2.7.0(eslint@9.17.0)
+      eslint-plugin-sukka: 6.12.0(eslint@9.17.0)(typescript@5.7.2)
+      eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)
       jsonc-eslint-parser: 2.4.0
       jsonc-eslint-parser: 2.4.0
       picocolors: 1.1.1
       picocolors: 1.1.1
-      typescript-eslint: 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      typescript-eslint: 8.15.0(eslint@9.17.0)(typescript@5.7.2)
     transitivePeerDependencies:
     transitivePeerDependencies:
       - '@eslint/json'
       - '@eslint/json'
       - '@typescript-eslint/eslint-plugin'
       - '@typescript-eslint/eslint-plugin'
@@ -2710,38 +2710,38 @@ snapshots:
     dependencies:
     dependencies:
       enhanced-resolve: 5.17.1
       enhanced-resolve: 5.17.1
 
 
-  eslint-json-compat-utils@0.2.1(eslint@9.16.0)(jsonc-eslint-parser@2.4.0):
+  eslint-json-compat-utils@0.2.1(eslint@9.17.0)(jsonc-eslint-parser@2.4.0):
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
       esquery: 1.6.0
       esquery: 1.6.0
       jsonc-eslint-parser: 2.4.0
       jsonc-eslint-parser: 2.4.0
 
 
-  eslint-plugin-antfu@2.7.0(eslint@9.16.0):
+  eslint-plugin-antfu@2.7.0(eslint@9.17.0):
     dependencies:
     dependencies:
       '@antfu/utils': 0.7.10
       '@antfu/utils': 0.7.10
-      eslint: 9.16.0
+      eslint: 9.17.0
 
 
-  eslint-plugin-autofix@2.2.0(eslint@9.16.0):
+  eslint-plugin-autofix@2.2.0(eslint@9.17.0):
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
       eslint-rule-composer: 0.3.0
       eslint-rule-composer: 0.3.0
       espree: 9.6.1
       espree: 9.6.1
       esutils: 2.0.3
       esutils: 2.0.3
       string-similarity: 4.0.4
       string-similarity: 4.0.4
 
 
-  eslint-plugin-es-x@7.8.0(eslint@9.16.0):
+  eslint-plugin-es-x@7.8.0(eslint@9.17.0):
     dependencies:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0)
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
       '@eslint-community/regexpp': 4.12.1
       '@eslint-community/regexpp': 4.12.1
-      eslint: 9.16.0
-      eslint-compat-utils: 0.5.1(eslint@9.16.0)
+      eslint: 9.17.0
+      eslint-compat-utils: 0.5.1(eslint@9.17.0)
 
 
-  eslint-plugin-import-x@4.4.3(eslint@9.16.0)(typescript@5.7.2):
+  eslint-plugin-import-x@4.4.3(eslint@9.17.0)(typescript@5.7.2):
     dependencies:
     dependencies:
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
       debug: 4.3.7(supports-color@8.1.1)
       debug: 4.3.7(supports-color@8.1.1)
       doctrine: 3.0.0
       doctrine: 3.0.0
-      eslint: 9.16.0
+      eslint: 9.17.0
       eslint-import-resolver-node: 0.3.9
       eslint-import-resolver-node: 0.3.9
       get-tsconfig: 4.8.1
       get-tsconfig: 4.8.1
       is-glob: 4.0.3
       is-glob: 4.0.3
@@ -2753,12 +2753,12 @@ snapshots:
       - supports-color
       - supports-color
       - typescript
       - typescript
 
 
-  eslint-plugin-jsonc@2.18.2(eslint@9.16.0):
+  eslint-plugin-jsonc@2.18.2(eslint@9.17.0):
     dependencies:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0)
-      eslint: 9.16.0
-      eslint-compat-utils: 0.6.3(eslint@9.16.0)
-      eslint-json-compat-utils: 0.2.1(eslint@9.16.0)(jsonc-eslint-parser@2.4.0)
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
+      eslint: 9.17.0
+      eslint-compat-utils: 0.6.3(eslint@9.17.0)
+      eslint-json-compat-utils: 0.2.1(eslint@9.17.0)(jsonc-eslint-parser@2.4.0)
       espree: 9.6.1
       espree: 9.6.1
       graphemer: 1.4.0
       graphemer: 1.4.0
       jsonc-eslint-parser: 2.4.0
       jsonc-eslint-parser: 2.4.0
@@ -2767,49 +2767,49 @@ snapshots:
     transitivePeerDependencies:
     transitivePeerDependencies:
       - '@eslint/json'
       - '@eslint/json'
 
 
-  eslint-plugin-n@17.14.0(eslint@9.16.0):
+  eslint-plugin-n@17.14.0(eslint@9.17.0):
     dependencies:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0)
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
       enhanced-resolve: 5.17.1
       enhanced-resolve: 5.17.1
-      eslint: 9.16.0
-      eslint-plugin-es-x: 7.8.0(eslint@9.16.0)
+      eslint: 9.17.0
+      eslint-plugin-es-x: 7.8.0(eslint@9.17.0)
       get-tsconfig: 4.8.1
       get-tsconfig: 4.8.1
       globals: 15.12.0
       globals: 15.12.0
       ignore: 5.3.2
       ignore: 5.3.2
       minimatch: 9.0.5
       minimatch: 9.0.5
       semver: 7.6.3
       semver: 7.6.3
 
 
-  eslint-plugin-promise@7.1.0(eslint@9.16.0):
+  eslint-plugin-promise@7.1.0(eslint@9.17.0):
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
 
 
-  eslint-plugin-regexp@2.7.0(eslint@9.16.0):
+  eslint-plugin-regexp@2.7.0(eslint@9.17.0):
     dependencies:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0)
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
       '@eslint-community/regexpp': 4.12.1
       '@eslint-community/regexpp': 4.12.1
       comment-parser: 1.4.1
       comment-parser: 1.4.1
-      eslint: 9.16.0
+      eslint: 9.17.0
       jsdoc-type-pratt-parser: 4.1.0
       jsdoc-type-pratt-parser: 4.1.0
       refa: 0.12.1
       refa: 0.12.1
       regexp-ast-analysis: 0.7.1
       regexp-ast-analysis: 0.7.1
       scslre: 0.3.0
       scslre: 0.3.0
 
 
-  eslint-plugin-sukka@6.12.0(eslint@9.16.0)(typescript@5.7.2):
+  eslint-plugin-sukka@6.12.0(eslint@9.17.0)(typescript@5.7.2):
     dependencies:
     dependencies:
-      '@eslint-sukka/shared': 6.12.0(eslint@9.16.0)(typescript@5.7.2)
-      '@typescript-eslint/type-utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
+      '@eslint-sukka/shared': 6.12.0(eslint@9.17.0)(typescript@5.7.2)
+      '@typescript-eslint/type-utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
     optionalDependencies:
     optionalDependencies:
       typescript: 5.7.2
       typescript: 5.7.2
     transitivePeerDependencies:
     transitivePeerDependencies:
       - eslint
       - eslint
       - supports-color
       - supports-color
 
 
-  eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0):
+  eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0):
     dependencies:
     dependencies:
-      eslint: 9.16.0
+      eslint: 9.17.0
     optionalDependencies:
     optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)
+      '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)
 
 
   eslint-rule-composer@0.3.0: {}
   eslint-rule-composer@0.3.0: {}
 
 
@@ -2822,14 +2822,14 @@ snapshots:
 
 
   eslint-visitor-keys@4.2.0: {}
   eslint-visitor-keys@4.2.0: {}
 
 
-  eslint@9.16.0:
+  eslint@9.17.0:
     dependencies:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0)
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
       '@eslint-community/regexpp': 4.12.1
       '@eslint-community/regexpp': 4.12.1
       '@eslint/config-array': 0.19.0
       '@eslint/config-array': 0.19.0
       '@eslint/core': 0.9.0
       '@eslint/core': 0.9.0
       '@eslint/eslintrc': 3.2.0
       '@eslint/eslintrc': 3.2.0
-      '@eslint/js': 9.16.0
+      '@eslint/js': 9.17.0
       '@eslint/plugin-kit': 0.2.3
       '@eslint/plugin-kit': 0.2.3
       '@humanfs/node': 0.16.6
       '@humanfs/node': 0.16.6
       '@humanwhocodes/module-importer': 1.0.1
       '@humanwhocodes/module-importer': 1.0.1
@@ -3617,15 +3617,15 @@ snapshots:
 
 
   tinyexec@0.3.1: {}
   tinyexec@0.3.1: {}
 
 
-  tldts-core@6.1.67: {}
+  tldts-core@6.1.68: {}
 
 
-  tldts-experimental@6.1.67:
+  tldts-experimental@6.1.68:
     dependencies:
     dependencies:
-      tldts-core: 6.1.67
+      tldts-core: 6.1.68
 
 
-  tldts@6.1.67:
+  tldts@6.1.68:
     dependencies:
     dependencies:
-      tldts-core: 6.1.67
+      tldts-core: 6.1.68
 
 
   to-regex-range@5.0.1:
   to-regex-range@5.0.1:
     dependencies:
     dependencies:
@@ -3645,12 +3645,12 @@ snapshots:
     dependencies:
     dependencies:
       prelude-ls: 1.2.1
       prelude-ls: 1.2.1
 
 
-  typescript-eslint@8.15.0(eslint@9.16.0)(typescript@5.7.2):
+  typescript-eslint@8.15.0(eslint@9.17.0)(typescript@5.7.2):
     dependencies:
     dependencies:
-      '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)
-      '@typescript-eslint/parser': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.15.0(eslint@9.16.0)(typescript@5.7.2)
-      eslint: 9.16.0
+      '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)
+      '@typescript-eslint/parser': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
+      '@typescript-eslint/utils': 8.15.0(eslint@9.17.0)(typescript@5.7.2)
+      eslint: 9.17.0
     optionalDependencies:
     optionalDependencies:
       typescript: 5.7.2
       typescript: 5.7.2
     transitivePeerDependencies:
     transitivePeerDependencies: