diff --git a/Build/build-telegram-cidr.ts b/Build/build-telegram-cidr.ts index 875459c2..e736965e 100644 --- a/Build/build-telegram-cidr.ts +++ b/Build/build-telegram-cidr.ts @@ -5,7 +5,7 @@ import { SHARED_DESCRIPTION } from './constants/description'; import { once } from 'foxts/once'; import { RulesetOutput } from './lib/rules/ruleset'; import { $$fetch } from './lib/fetch-retry'; -import { fastIpVersion } from './lib/misc'; +import { fastIpVersion } from 'foxts/fast-ip-version'; export const getTelegramCIDRPromise = once(async () => { const resp = await $$fetch('https://core.telegram.org/resources/cidr.txt'); diff --git a/Build/lib/misc.ts b/Build/lib/misc.ts index 93196212..54619416 100644 --- a/Build/lib/misc.ts +++ b/Build/lib/misc.ts @@ -2,6 +2,7 @@ import { dirname } from 'node:path'; import fs from 'node:fs'; import type { PathLike } from 'node:fs'; import fsp from 'node:fs/promises'; +import { appendArrayInPlace } from 'foxts/append-array-in-place'; export type MaybePromise = T | Promise; @@ -49,19 +50,23 @@ export const writeFile: Write = async (destination: string, input, dir = dirname return fsp.writeFile(destination, input, { encoding: 'utf-8' }); }; -export const removeFiles = async (files: string[]) => Promise.all(files.map((file) => fsp.rm(file, { force: true }))); - export function withBannerArray(title: string, description: string[] | readonly string[], date: Date, content: string[]) { - return [ + const result: string[] = [ '#########################################', `# ${title}`, `# Last Updated: ${date.toISOString()}`, - `# Size: ${content.length}`, - ...description.map(line => (line ? `# ${line}` : '#')), - '#########################################', - ...content, - '################## EOF ##################' + `# Size: ${content.length}` ]; + + appendArrayInPlace(result, description.map(line => (line ? `# ${line}` : '#'))); + + result.push('#########################################'); + + appendArrayInPlace(result, content); + + result.push('################## EOF ##################', ''); + + return result; }; export function notSupported(name: string) { @@ -84,7 +89,3 @@ export function isDirectoryEmptySync(path: PathLike) { directoryHandle.closeSync(); } } - -export function fastIpVersion(ip: string) { - return ip.includes(':') ? 6 : (ip.includes('.') ? 4 : 0); -} diff --git a/Build/lib/rules/base.ts b/Build/lib/rules/base.ts index 6a06e9f0..5b073096 100644 --- a/Build/lib/rules/base.ts +++ b/Build/lib/rules/base.ts @@ -1,7 +1,7 @@ import type { Span } from '../../trace'; import { HostnameSmolTrie } from '../trie'; import { not, nullthrow } from 'foxts/guard'; -import { fastIpVersion } from '../misc'; +import { fastIpVersion } from 'foxts/fast-ip-version'; import type { MaybePromise } from '../misc'; import type { BaseWriteStrategy } from '../writing-strategy/base'; import { merge as mergeCidr } from 'fast-cidr-tools'; diff --git a/Build/lib/writing-strategy/clash.ts b/Build/lib/writing-strategy/clash.ts index 339b1937..2454664d 100644 --- a/Build/lib/writing-strategy/clash.ts +++ b/Build/lib/writing-strategy/clash.ts @@ -1,7 +1,8 @@ import { appendSetElementsToArray } from 'foxts/append-set-elements-to-array'; import { BaseWriteStrategy } from './base'; import { noop } from 'foxts/noop'; -import { fastIpVersion, notSupported, withBannerArray } from '../misc'; +import { notSupported, withBannerArray } from '../misc'; +import { fastIpVersion } from 'foxts/fast-ip-version'; import { OUTPUT_CLASH_DIR } from '../../constants/dir'; import { appendArrayInPlace } from 'foxts/append-array-in-place'; import { MARKER_DOMAIN } from '../../constants/description'; diff --git a/Build/lib/writing-strategy/singbox.ts b/Build/lib/writing-strategy/singbox.ts index e3b9b7ef..103b2e83 100644 --- a/Build/lib/writing-strategy/singbox.ts +++ b/Build/lib/writing-strategy/singbox.ts @@ -1,7 +1,8 @@ import { BaseWriteStrategy } from './base'; import { appendArrayInPlace } from 'foxts/append-array-in-place'; import { noop } from 'foxts/noop'; -import { fastIpVersion, withIdentityContent } from '../misc'; +import { withIdentityContent } from '../misc'; +import { fastIpVersion } from 'foxts/fast-ip-version'; import stringify from 'json-stringify-pretty-compact'; import { OUTPUT_SINGBOX_DIR } from '../../constants/dir'; import { MARKER_DOMAIN } from '../../constants/description'; diff --git a/package.json b/package.json index a1a2ed29..3de9450e 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "fast-cidr-tools": "^0.3.2", "fast-fifo": "^1.3.2", "fdir": "^6.4.6", - "foxts": "^3.5.0", + "foxts": "^3.6.0", "hash-wasm": "^4.12.0", "json-stringify-pretty-compact": "3.0.0", "null-prototype-object": "^1.2.0", @@ -53,7 +53,7 @@ "devDependencies": { "@eslint-sukka/node": "^6.22.1", "@swc-node/register": "^1.10.10", - "@swc/core": "^1.12.4", + "@swc/core": "^1.12.5", "@types/async-retry": "^1.4.9", "@types/better-sqlite3": "^7.6.13", "@types/cli-progress": "^3.11.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cdcf6b8c..5757f170 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,8 +53,8 @@ importers: specifier: ^6.4.6 version: 6.4.6(picomatch@4.0.2) foxts: - specifier: ^3.5.0 - version: 3.5.0 + specifier: ^3.6.0 + version: 3.6.0 hash-wasm: specifier: ^4.12.0 version: 4.12.0 @@ -109,10 +109,10 @@ importers: version: 6.22.1(eslint@9.29.0)(typescript@5.8.3) '@swc-node/register': specifier: ^1.10.10 - version: 1.10.10(@swc/core@1.12.4)(@swc/types@0.1.23)(typescript@5.8.3) + version: 1.10.10(@swc/core@1.12.5)(@swc/types@0.1.23)(typescript@5.8.3) '@swc/core': - specifier: ^1.12.4 - version: 1.12.4 + specifier: ^1.12.5 + version: 1.12.5 '@types/async-retry': specifier: ^1.4.9 version: 1.4.9 @@ -232,10 +232,6 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.28.0': - resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.29.0': resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -515,68 +511,68 @@ packages: '@swc-node/sourcemap-support@0.5.1': resolution: {integrity: sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==} - '@swc/core-darwin-arm64@1.12.4': - resolution: {integrity: sha512-HihKfeitjZU2ab94Zf893sxzFryLKX0TweGsNXXOLNtkSMLw50auuYfpRM0BOL9/uXXtuCWgRIF6P030SAX5xQ==} + '@swc/core-darwin-arm64@1.12.5': + resolution: {integrity: sha512-3WF+naP/qkt5flrTfJr+p07b522JcixKvIivM7FgvllA6LjJxf+pheoILrTS8IwrNAK/XtHfKWYcGY+3eaA4mA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.12.4': - resolution: {integrity: sha512-meYCXHyYb6RDdu2N5PNAf0EelyxPBFhRcVo4kBFLuvuNb0m6EUg///VWy8MUMXq9/s9uzGS9kJVXXdRdr/d6FA==} + '@swc/core-darwin-x64@1.12.5': + resolution: {integrity: sha512-GCcD3dft8YN7unTBcW02Fx41jXp2MNQHCjx5ceWSEYOGvn7vBSUp7k7LkfTxGN5Ftxb9a1mxhPq8r4rD2u/aPw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.12.4': - resolution: {integrity: sha512-szfDbf7mE8V64of0q/LSqbk+em+T+TD3uqnH40Z7Qu/aL8vi5CHgyLjWG2SLkLLpyjgkAUF6AKrupgnBYcC2NA==} + '@swc/core-linux-arm-gnueabihf@1.12.5': + resolution: {integrity: sha512-jWlzP/Y4+wbE/EJM+WGIDQsklLFV3g5LmbYTBgrY4+5nb517P31mkBzf5y2knfNWPrL7HzNu0578j3Zi2E6Iig==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.12.4': - resolution: {integrity: sha512-n0IY76w+Scx8m3HIVRvLkoResuwsQgjDfAk9bxn99dq4leQO+mE0fkPl0Yw/1BIsPh+kxGfopIJH9zsZ1Z2YrA==} + '@swc/core-linux-arm64-gnu@1.12.5': + resolution: {integrity: sha512-GkzgIUz+2r6J6Tn3hb7/4ByaWHRrRZt4vuN9BLAd+y65m2Bt0vlEpPtWhrB/TVe4hEkFR+W5PDETLEbUT4i0tQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.12.4': - resolution: {integrity: sha512-wE5jmFi5cEQyLy8WmCWmNwfKETrnzy2D8YNi/xpYWpLPWqPhcelpa6tswkfYlbsMmmOh7hQNoTba1QdGu0jvHQ==} + '@swc/core-linux-arm64-musl@1.12.5': + resolution: {integrity: sha512-g0AJ7QmZPj3Uw+C5pDa48LAUG7JBgQmB0mN5cW+s2mjaFKT0mTSxYALtx/MDZwJExDPo0yJV8kSbFO1tvFPyhg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.12.4': - resolution: {integrity: sha512-6S50Xd/7ePjEwrXyHMxpKTZ+KBrgUwMA8hQPbArUOwH4S5vHBr51heL0iXbUkppn1bkSr0J0IbOove5hzn+iqQ==} + '@swc/core-linux-x64-gnu@1.12.5': + resolution: {integrity: sha512-PeYoSziNy+iNiBHPtAsO84bzBne/mbCsG5ijYkAhS1GVsDgohClorUvRXXhcUZoX2gr8TfSI9WLHo30K+DKiHg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.12.4': - resolution: {integrity: sha512-hbYRyaHhC13vYKuGG5BrAG5fjjWEQFfQetuFp/4QKEoXDzdnabJoixxWTQACDL3m0JW32nJ+gUzsYIPtFYkwXg==} + '@swc/core-linux-x64-musl@1.12.5': + resolution: {integrity: sha512-EJrfCCIyuV5LLmYgKtIMwtgsnjVesdFe0IgQzEKs9OfB6cL6g7WO9conn8BkGX8jphVa7jChKxShDGkreWWDzA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.12.4': - resolution: {integrity: sha512-e6EbfjPL8GA/bb1lc9Omtxjlz+1ThTsAuBsy4Q3Kpbuh6B3jclg8KzxU/6t91v23wG593mieTyR5f3Pr7X3AWw==} + '@swc/core-win32-arm64-msvc@1.12.5': + resolution: {integrity: sha512-FnwT7fxkJJMgsfiDoZKEVGyCzrPFbzpflFAAoTCUCu3MaHw6mW55o/MAAfofvJ1iIcEpec4o93OilsmKtpyO5Q==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.12.4': - resolution: {integrity: sha512-RG2FzmllBTUf4EksANlIvLckcBrLZEA0t13LIa6L213UZKQfEuDNHezqESgoVhJMg2S/tWauitATOCFgZNSmjg==} + '@swc/core-win32-ia32-msvc@1.12.5': + resolution: {integrity: sha512-jW6l4KFt9mIXSpGseE6BQOEFmbIeXeShDuWgldEJXKeXf/uPs8wrqv80XBIUwVpK0ZbmJwPQ0waGVj8UM3th2Q==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.12.4': - resolution: {integrity: sha512-oRHKnZlR83zaMeVUCmHENa4j5uNRAWbmEpjYbzRcfC45LPFNWKGWGAGERLx0u87XMUtTGqnVYxnBTHN/rzDHOw==} + '@swc/core-win32-x64-msvc@1.12.5': + resolution: {integrity: sha512-AZszwuEjlz1tSNLQRm3T5OZJ5eebxjJlDQnnzXJmg0B7DJMRoaAe1HTLOmejxjFK6yWr7fh+pSeCw2PgQLxgqA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.12.4': - resolution: {integrity: sha512-hn30ebV4njAn0NAUM+3a0qCF+MJgqTNSrfA/hUAbC6TVjOQy2OYGQwkUvCu/V7S2+rZxrUsTpKOnZ7qqECZV9Q==} + '@swc/core@1.12.5': + resolution: {integrity: sha512-KxA0PHHIuUBmQ/Oi+xFpVzILj2Oo37sTtftCbyowQlyx5YOknEOw1kLpas5hMcpznXgFyAWbpK71xQps4INPgA==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '>=0.5.17' @@ -802,11 +798,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -1199,10 +1190,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@4.2.1: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1217,10 +1204,6 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1322,8 +1305,8 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} - foxts@3.5.0: - resolution: {integrity: sha512-gr1TsgUMJQ/T/zCIamTWg4VwfPrgbX8HMtmWKEzDMn8wiJZzzZZ5TeLjGSUXet49nvU3ZT9/4ZIcs5w53EnmCg==} + foxts@3.6.0: + resolution: {integrity: sha512-cnADo1dCBjJE4kvXJmpE4uoEjdeKCO5TLdMKBIoCvxJ6Z/vdjvpdlM1+B0gaYxu20RfDSwHJV2eFYcpM1rI9ig==} fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -1874,18 +1857,12 @@ packages: tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - tldts-core@7.0.5: - resolution: {integrity: sha512-o+2zicH2+bzj5PHV5M4U8OsRBJDOO0zADiTKZQTGdHSymGQYS21+V/YNrMxAxH9SopzMEXt5JuiRoOIZT5ZU9g==} - tldts-core@7.0.8: resolution: {integrity: sha512-Ze39mm8EtocSXPbH6cv5rDeBBhehp8OLxWJKZXLEyv2dKMlblJsoAw2gmA0ZaU6iOwNlCZ4LrmaTW1reUQEmJw==} tldts-experimental@6.1.86: resolution: {integrity: sha512-X3N3+SrwSajvANDyIBFa6tf/nO0VoqaXvvINSnQkZMGbzNlD+9G7Xb24Mtk3ZBVZJRGY7UynAJJL8kRVt6Z46Q==} - tldts-experimental@7.0.5: - resolution: {integrity: sha512-Ab2t64xKlD2TrYwBeVLDCXCQlTeDZcvbQz8higr/wVS0SJosYmURHErgD2UMqST/5uzEV8VDxMYJnjww+RFvhw==} - tldts-experimental@7.0.8: resolution: {integrity: sha512-47LInzMIelfHqD1Gx5+PRYQBl6vU3Xt5KYY6AhqITIKldzu/ctwzdUpbm7AdmsRyzxnly9YH4GLHTtXPwhQhTw==} @@ -2114,8 +2091,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.28.0': {} - '@eslint/js@9.29.0': {} '@eslint/object-schema@2.1.6': {} @@ -2139,7 +2114,7 @@ snapshots: '@remusao/guess-url-type': 2.1.0 '@remusao/small': 2.1.0 '@remusao/smaz': 2.2.0 - tldts-experimental: 7.0.5 + tldts-experimental: 7.0.8 '@ghostery/url-parser@1.2.0': dependencies: @@ -2337,16 +2312,16 @@ snapshots: '@sinclair/typebox@0.34.33': {} - '@swc-node/core@1.13.3(@swc/core@1.12.4)(@swc/types@0.1.23)': + '@swc-node/core@1.13.3(@swc/core@1.12.5)(@swc/types@0.1.23)': dependencies: - '@swc/core': 1.12.4 + '@swc/core': 1.12.5 '@swc/types': 0.1.23 - '@swc-node/register@1.10.10(@swc/core@1.12.4)(@swc/types@0.1.23)(typescript@5.8.3)': + '@swc-node/register@1.10.10(@swc/core@1.12.5)(@swc/types@0.1.23)(typescript@5.8.3)': dependencies: - '@swc-node/core': 1.13.3(@swc/core@1.12.4)(@swc/types@0.1.23) + '@swc-node/core': 1.13.3(@swc/core@1.12.5)(@swc/types@0.1.23) '@swc-node/sourcemap-support': 0.5.1 - '@swc/core': 1.12.4 + '@swc/core': 1.12.5 colorette: 2.0.20 debug: 4.4.1(supports-color@8.1.1) oxc-resolver: 5.0.0 @@ -2362,51 +2337,51 @@ snapshots: source-map-support: 0.5.21 tslib: 2.8.1 - '@swc/core-darwin-arm64@1.12.4': + '@swc/core-darwin-arm64@1.12.5': optional: true - '@swc/core-darwin-x64@1.12.4': + '@swc/core-darwin-x64@1.12.5': optional: true - '@swc/core-linux-arm-gnueabihf@1.12.4': + '@swc/core-linux-arm-gnueabihf@1.12.5': optional: true - '@swc/core-linux-arm64-gnu@1.12.4': + '@swc/core-linux-arm64-gnu@1.12.5': optional: true - '@swc/core-linux-arm64-musl@1.12.4': + '@swc/core-linux-arm64-musl@1.12.5': optional: true - '@swc/core-linux-x64-gnu@1.12.4': + '@swc/core-linux-x64-gnu@1.12.5': optional: true - '@swc/core-linux-x64-musl@1.12.4': + '@swc/core-linux-x64-musl@1.12.5': optional: true - '@swc/core-win32-arm64-msvc@1.12.4': + '@swc/core-win32-arm64-msvc@1.12.5': optional: true - '@swc/core-win32-ia32-msvc@1.12.4': + '@swc/core-win32-ia32-msvc@1.12.5': optional: true - '@swc/core-win32-x64-msvc@1.12.4': + '@swc/core-win32-x64-msvc@1.12.5': optional: true - '@swc/core@1.12.4': + '@swc/core@1.12.5': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.23 optionalDependencies: - '@swc/core-darwin-arm64': 1.12.4 - '@swc/core-darwin-x64': 1.12.4 - '@swc/core-linux-arm-gnueabihf': 1.12.4 - '@swc/core-linux-arm64-gnu': 1.12.4 - '@swc/core-linux-arm64-musl': 1.12.4 - '@swc/core-linux-x64-gnu': 1.12.4 - '@swc/core-linux-x64-musl': 1.12.4 - '@swc/core-win32-arm64-msvc': 1.12.4 - '@swc/core-win32-ia32-msvc': 1.12.4 - '@swc/core-win32-x64-msvc': 1.12.4 + '@swc/core-darwin-arm64': 1.12.5 + '@swc/core-darwin-x64': 1.12.5 + '@swc/core-linux-arm-gnueabihf': 1.12.5 + '@swc/core-linux-arm64-gnu': 1.12.5 + '@swc/core-linux-arm64-musl': 1.12.5 + '@swc/core-linux-x64-gnu': 1.12.5 + '@swc/core-linux-x64-musl': 1.12.5 + '@swc/core-win32-arm64-msvc': 1.12.5 + '@swc/core-win32-ia32-msvc': 1.12.5 + '@swc/core-win32-x64-msvc': 1.12.5 '@swc/counter@0.1.3': {} @@ -2572,7 +2547,7 @@ snapshots: '@typescript-eslint/visitor-keys@8.33.1': dependencies: '@typescript-eslint/types': 8.33.1 - eslint-visitor-keys: 4.2.0 + eslint-visitor-keys: 4.2.1 '@unrs/resolver-binding-darwin-arm64@1.7.9': optional: true @@ -2627,16 +2602,10 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.7.9': optional: true - acorn-jsx@5.3.2(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 - acorn@8.14.0: {} - acorn@8.15.0: {} ajv@6.12.6: @@ -2873,7 +2842,7 @@ snapshots: dependencies: '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.29.0) '@eslint-sukka/shared': 6.22.1(eslint@9.29.0)(typescript@5.8.3) - '@eslint/js': 9.28.0 + '@eslint/js': 9.29.0 '@typescript-eslint/parser': 8.33.1(eslint@9.29.0)(typescript@5.8.3) ci-info: 4.2.0 defu: 6.1.4 @@ -2887,7 +2856,7 @@ snapshots: eslint-plugin-regexp: 2.7.0(eslint@9.29.0) eslint-plugin-sukka: 6.22.1(eslint@9.29.0)(typescript@5.8.3) eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0) - foxts: 3.5.0 + foxts: 3.6.0 jsonc-eslint-parser: 2.4.0 picocolors: 1.1.1 typescript-eslint: 8.33.1(eslint@9.29.0)(typescript@5.8.3) @@ -2986,7 +2955,7 @@ snapshots: eslint: 9.29.0 eslint-compat-utils: 0.6.4(eslint@9.29.0) eslint-json-compat-utils: 0.2.1(eslint@9.29.0)(jsonc-eslint-parser@2.4.0) - espree: 10.3.0 + espree: 10.4.0 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 @@ -3037,7 +3006,7 @@ snapshots: '@eslint-sukka/shared': 6.22.1(eslint@9.29.0)(typescript@5.8.3) '@typescript-eslint/type-utils': 8.33.1(eslint@9.29.0)(typescript@5.8.3) '@typescript-eslint/utils': 8.33.1(eslint@9.29.0)(typescript@5.8.3) - foxts: 3.5.0 + foxts: 3.6.0 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -3059,8 +3028,6 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} - eslint-visitor-keys@4.2.1: {} eslint@9.29.0: @@ -3103,12 +3070,6 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.3.0: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.2.0 - espree@10.4.0: dependencies: acorn: 8.15.0 @@ -3117,8 +3078,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -3203,7 +3164,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - foxts@3.5.0: + foxts@3.6.0: dependencies: fast-escape-html: 1.1.0 @@ -3383,7 +3344,7 @@ snapshots: jsonc-eslint-parser@2.4.0: dependencies: - acorn: 8.14.0 + acorn: 8.15.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.7.2 @@ -3769,18 +3730,12 @@ snapshots: tldts-core@6.1.86: {} - tldts-core@7.0.5: {} - tldts-core@7.0.8: {} tldts-experimental@6.1.86: dependencies: tldts-core: 6.1.86 - tldts-experimental@7.0.5: - dependencies: - tldts-core: 7.0.5 - tldts-experimental@7.0.8: dependencies: tldts-core: 7.0.8 @@ -3827,7 +3782,7 @@ snapshots: undici-cache-store-better-sqlite3@1.0.0(undici@7.10.0): dependencies: better-sqlite3: 11.10.0 - foxts: 3.5.0 + foxts: 3.6.0 undici: 7.10.0 undici-types@7.8.0: {}