mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 17:20:35 +08:00
Feat: use Cisco Top 1M Domain for validation
This commit is contained in:
parent
c2cc6d72ac
commit
07725d6c00
@ -1,18 +1,21 @@
|
|||||||
import { processLine } from './lib/process-line';
|
import { processLine } from './lib/process-line';
|
||||||
import { fastNormalizeDomain } from './lib/normalize-domain';
|
import { fastNormalizeDomain } from './lib/normalize-domain';
|
||||||
import { HostnameSmolTrie } from './lib/trie';
|
import { HostnameSmolTrie } from './lib/trie';
|
||||||
// import { Readable } from 'stream';
|
import yauzl from 'yauzl-promise';
|
||||||
import { parse } from 'csv-parse/sync';
|
|
||||||
import { fetchRemoteTextByLine } from './lib/fetch-text-by-line';
|
import { fetchRemoteTextByLine } from './lib/fetch-text-by-line';
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
import { OUTPUT_SURGE_DIR } from './constants/dir';
|
import { OUTPUT_SURGE_DIR } from './constants/dir';
|
||||||
import { createRetrieKeywordFilter as createKeywordFilter } from 'foxts/retrie';
|
import { createRetrieKeywordFilter as createKeywordFilter } from 'foxts/retrie';
|
||||||
import { $$fetch } from './lib/fetch-retry';
|
import { $$fetch } from './lib/fetch-retry';
|
||||||
import runAgainstSourceFile from './lib/run-against-source-file';
|
import runAgainstSourceFile from './lib/run-against-source-file';
|
||||||
|
import { nullthrow } from 'foxts/guard';
|
||||||
|
import { Buffer } from 'node:buffer';
|
||||||
|
|
||||||
export async function parseGfwList() {
|
export async function parseGfwList() {
|
||||||
|
const { parse: csvParser } = await import('csv-parse');
|
||||||
|
|
||||||
const whiteSet = new Set<string>();
|
const whiteSet = new Set<string>();
|
||||||
const trie = new HostnameSmolTrie();
|
const gfwListTrie = new HostnameSmolTrie();
|
||||||
|
|
||||||
const excludeGfwList = createKeywordFilter([
|
const excludeGfwList = createKeywordFilter([
|
||||||
'.*',
|
'.*',
|
||||||
@ -44,42 +47,71 @@ export async function parseGfwList() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (line.startsWith('||')) {
|
if (line.startsWith('||')) {
|
||||||
trie.add('.' + line.slice(2));
|
gfwListTrie.add('.' + line.slice(2));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (line.startsWith('|')) {
|
if (line.startsWith('|')) {
|
||||||
trie.add(line.slice(1));
|
gfwListTrie.add(line.slice(1));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (line.startsWith('.')) {
|
if (line.startsWith('.')) {
|
||||||
trie.add(line);
|
gfwListTrie.add(line);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const d = fastNormalizeDomain(line);
|
const d = fastNormalizeDomain(line);
|
||||||
if (d) {
|
if (d) {
|
||||||
trie.add(d);
|
gfwListTrie.add(d);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for await (const l of await fetchRemoteTextByLine('https://raw.githubusercontent.com/Loyalsoldier/cn-blocked-domain/release/domains.txt', true)) {
|
for await (const l of await fetchRemoteTextByLine('https://raw.githubusercontent.com/Loyalsoldier/cn-blocked-domain/release/domains.txt', true)) {
|
||||||
trie.add(l);
|
gfwListTrie.add(l);
|
||||||
}
|
}
|
||||||
for await (const l of await fetchRemoteTextByLine('https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt', true)) {
|
for await (const l of await fetchRemoteTextByLine('https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt', true)) {
|
||||||
trie.add(l);
|
gfwListTrie.add(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
const topDomainsRes = await (await $$fetch('https://downloads.majestic.com/majestic_million.csv', {
|
const topDomainTrie = new HostnameSmolTrie();
|
||||||
|
|
||||||
|
const csvParse = csvParser({ columns: false, skip_empty_lines: true });
|
||||||
|
const topDomainsZipBody = await (await $$fetch('https://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip', {
|
||||||
headers: {
|
headers: {
|
||||||
accept: '*/*',
|
accept: '*/*',
|
||||||
'user-agent': 'curl/8.12.1'
|
'user-agent': 'curl/8.12.1'
|
||||||
}
|
}
|
||||||
})).text();
|
})).arrayBuffer();
|
||||||
const topDomains = parse(topDomainsRes);
|
let entry: yauzl.Entry | null = null;
|
||||||
|
for await (const e of await yauzl.fromBuffer(Buffer.from(topDomainsZipBody))) {
|
||||||
|
if (e.filename === 'top-1m.csv') {
|
||||||
|
entry = e;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const { promise, resolve, reject } = Promise.withResolvers<HostnameSmolTrie>();
|
||||||
|
|
||||||
|
const readable = await nullthrow(entry, 'top-1m.csv entry not found').openReadStream();
|
||||||
|
const parser = readable.pipe(csvParse);
|
||||||
|
parser.on('readable', () => {
|
||||||
|
let record;
|
||||||
|
while ((record = parser.read()) !== null) {
|
||||||
|
topDomainTrie.add(record[1]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
parser.on('end', () => {
|
||||||
|
resolve(topDomainTrie);
|
||||||
|
});
|
||||||
|
parser.on('error', (err) => {
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
await promise;
|
||||||
|
|
||||||
const keywordSet = new Set<string>();
|
const keywordSet = new Set<string>();
|
||||||
|
|
||||||
const callback = (domain: string, includeAllSubdomain: boolean) => {
|
const callback = (domain: string, includeAllSubdomain: boolean) => {
|
||||||
trie.whitelist(domain, includeAllSubdomain);
|
gfwListTrie.whitelist(domain, includeAllSubdomain);
|
||||||
};
|
};
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
@ -94,24 +126,24 @@ export async function parseGfwList() {
|
|||||||
runAgainstSourceFile(path.resolve(OUTPUT_SURGE_DIR, 'domainset/cdn.conf'), callback, 'domainset')
|
runAgainstSourceFile(path.resolve(OUTPUT_SURGE_DIR, 'domainset/cdn.conf'), callback, 'domainset')
|
||||||
]);
|
]);
|
||||||
|
|
||||||
whiteSet.forEach(domain => trie.whitelist(domain));
|
whiteSet.forEach(domain => gfwListTrie.whitelist(domain));
|
||||||
|
|
||||||
const kwfilter = createKeywordFilter([...keywordSet]);
|
const kwfilter = createKeywordFilter([...keywordSet]);
|
||||||
|
|
||||||
const missingTop10000Gfwed = new Set<string>();
|
const missingTop10000Gfwed = new Set<string>();
|
||||||
|
|
||||||
for await (const [domain] of topDomains) {
|
topDomainTrie.dump((domain) => {
|
||||||
if (trie.has(domain) && !kwfilter(domain)) {
|
if (gfwListTrie.has(domain) && !kwfilter(domain)) {
|
||||||
missingTop10000Gfwed.add(domain);
|
missingTop10000Gfwed.add(domain);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
console.log(missingTop10000Gfwed.size, '');
|
console.log(missingTop10000Gfwed.size, '');
|
||||||
console.log(Array.from(missingTop10000Gfwed).join('\n'));
|
console.log(Array.from(missingTop10000Gfwed).join('\n'));
|
||||||
|
|
||||||
return [
|
return [
|
||||||
whiteSet,
|
whiteSet,
|
||||||
trie,
|
gfwListTrie,
|
||||||
missingTop10000Gfwed
|
missingTop10000Gfwed
|
||||||
] as const;
|
] as const;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,8 @@
|
|||||||
"why-is-node-running": "^3.2.2",
|
"why-is-node-running": "^3.2.2",
|
||||||
"worktank": "^2.7.3",
|
"worktank": "^2.7.3",
|
||||||
"xbits": "^0.2.0",
|
"xbits": "^0.2.0",
|
||||||
"yaml": "^2.7.1"
|
"yaml": "^2.7.1",
|
||||||
|
"yauzl-promise": "^4.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint-sukka/node": "^6.18.2",
|
"@eslint-sukka/node": "^6.18.2",
|
||||||
@ -59,6 +60,7 @@
|
|||||||
"@types/node": "^22.15.2",
|
"@types/node": "^22.15.2",
|
||||||
"@types/punycode": "^2.1.4",
|
"@types/punycode": "^2.1.4",
|
||||||
"@types/tar-fs": "^2.0.4",
|
"@types/tar-fs": "^2.0.4",
|
||||||
|
"@types/yauzl-promise": "^4.0.1",
|
||||||
"eslint": "^9.25.1",
|
"eslint": "^9.25.1",
|
||||||
"eslint-config-sukka": "^6.18.2",
|
"eslint-config-sukka": "^6.18.2",
|
||||||
"eslint-formatter-sukka": "^6.18.2",
|
"eslint-formatter-sukka": "^6.18.2",
|
||||||
|
|||||||
259
pnpm-lock.yaml
generated
259
pnpm-lock.yaml
generated
@ -94,6 +94,9 @@ importers:
|
|||||||
yaml:
|
yaml:
|
||||||
specifier: ^2.7.1
|
specifier: ^2.7.1
|
||||||
version: 2.7.1
|
version: 2.7.1
|
||||||
|
yauzl-promise:
|
||||||
|
specifier: ^4.0.0
|
||||||
|
version: 4.0.0
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@eslint-sukka/node':
|
'@eslint-sukka/node':
|
||||||
specifier: ^6.18.2
|
specifier: ^6.18.2
|
||||||
@ -128,6 +131,9 @@ importers:
|
|||||||
'@types/tar-fs':
|
'@types/tar-fs':
|
||||||
specifier: ^2.0.4
|
specifier: ^2.0.4
|
||||||
version: 2.0.4
|
version: 2.0.4
|
||||||
|
'@types/yauzl-promise':
|
||||||
|
specifier: ^4.0.1
|
||||||
|
version: 4.0.1
|
||||||
eslint:
|
eslint:
|
||||||
specifier: ^9.25.1
|
specifier: ^9.25.1
|
||||||
version: 9.25.1
|
version: 9.25.1
|
||||||
@ -163,6 +169,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
|
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
|
'@babel/runtime@7.27.0':
|
||||||
|
resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==}
|
||||||
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@dual-bundle/import-meta-resolve@4.1.0':
|
'@dual-bundle/import-meta-resolve@4.1.0':
|
||||||
resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==}
|
resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==}
|
||||||
|
|
||||||
@ -292,6 +302,93 @@ packages:
|
|||||||
'@napi-rs/wasm-runtime@0.2.8':
|
'@napi-rs/wasm-runtime@0.2.8':
|
||||||
resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==}
|
resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==}
|
||||||
|
|
||||||
|
'@node-rs/crc32-android-arm-eabi@1.10.6':
|
||||||
|
resolution: {integrity: sha512-vZAMuJXm3TpWPOkkhxdrofWDv+Q+I2oO7ucLRbXyAPmXFNDhHtBxbO1rk9Qzz+M3eep8ieS4/+jCL1Q0zacNMQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
'@node-rs/crc32-android-arm64@1.10.6':
|
||||||
|
resolution: {integrity: sha512-Vl/JbjCinCw/H9gEpZveWCMjxjcEChDcDBM8S4hKay5yyoRCUHJPuKr4sjVDBeOm+1nwU3oOm6Ca8dyblwp4/w==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
'@node-rs/crc32-darwin-arm64@1.10.6':
|
||||||
|
resolution: {integrity: sha512-kARYANp5GnmsQiViA5Qu74weYQ3phOHSYQf0G+U5wB3NB5JmBHnZcOc46Ig21tTypWtdv7u63TaltJQE41noyg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
|
'@node-rs/crc32-darwin-x64@1.10.6':
|
||||||
|
resolution: {integrity: sha512-Q99bevJVMfLTISpkpKBlXgtPUItrvTWKFyiqoKH5IvscZmLV++NH4V13Pa17GTBmv9n18OwzgQY4/SRq6PQNVA==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
|
'@node-rs/crc32-freebsd-x64@1.10.6':
|
||||||
|
resolution: {integrity: sha512-66hpawbNjrgnS9EDMErta/lpaqOMrL6a6ee+nlI2viduVOmRZWm9Rg9XdGTK/+c4bQLdtC6jOd+Kp4EyGRYkAg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [freebsd]
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-arm-gnueabihf@1.10.6':
|
||||||
|
resolution: {integrity: sha512-E8Z0WChH7X6ankbVm8J/Yym19Cq3otx6l4NFPS6JW/cWdjv7iw+Sps2huSug+TBprjbcEA+s4TvEwfDI1KScjg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-arm64-gnu@1.10.6':
|
||||||
|
resolution: {integrity: sha512-LmWcfDbqAvypX0bQjQVPmQGazh4dLiVklkgHxpV4P0TcQ1DT86H/SWpMBMs/ncF8DGuCQ05cNyMv1iddUDugoQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-arm64-musl@1.10.6':
|
||||||
|
resolution: {integrity: sha512-k8ra/bmg0hwRrIEE8JL1p32WfaN9gDlUUpQRWsbxd1WhjqvXea7kKO6K4DwVxyxlPhBS9Gkb5Urq7Y4mXANzaw==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-x64-gnu@1.10.6':
|
||||||
|
resolution: {integrity: sha512-IfjtqcuFK7JrSZ9mlAFhb83xgium30PguvRjIMI45C3FJwu18bnLk1oR619IYb/zetQT82MObgmqfKOtgemEKw==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-x64-musl@1.10.6':
|
||||||
|
resolution: {integrity: sha512-LbFYsA5M9pNunOweSt6uhxenYQF94v3bHDAQRPTQ3rnjn+mK6IC7YTAYoBjvoJP8lVzcvk9hRj8wp4Jyh6Y80g==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@node-rs/crc32-wasm32-wasi@1.10.6':
|
||||||
|
resolution: {integrity: sha512-KaejdLgHMPsRaxnM+OG9L9XdWL2TabNx80HLdsCOoX9BVhEkfh39OeahBo8lBmidylKbLGMQoGfIKDjq0YMStw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [wasm32]
|
||||||
|
|
||||||
|
'@node-rs/crc32-win32-arm64-msvc@1.10.6':
|
||||||
|
resolution: {integrity: sha512-x50AXiSxn5Ccn+dCjLf1T7ZpdBiV1Sp5aC+H2ijhJO4alwznvXgWbopPRVhbp2nj0i+Gb6kkDUEyU+508KAdGQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
'@node-rs/crc32-win32-ia32-msvc@1.10.6':
|
||||||
|
resolution: {integrity: sha512-DpDxQLaErJF9l36aghe1Mx+cOnYLKYo6qVPqPL9ukJ5rAGLtCdU0C+Zoi3gs9ySm8zmbFgazq/LvmsZYU42aBw==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [ia32]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
'@node-rs/crc32-win32-x64-msvc@1.10.6':
|
||||||
|
resolution: {integrity: sha512-5B1vXosIIBw1m2Rcnw62IIfH7W9s9f7H7Ma0rRuhT8HR4Xh8QCgw6NJSI2S2MCngsGktYnAhyUvs81b7efTyQw==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
'@node-rs/crc32@1.10.6':
|
||||||
|
resolution: {integrity: sha512-+llXfqt+UzgoDzT9of5vPQPGqTAVCohU74I9zIBkNo5TH6s2P31DFJOGsJQKN207f0GHnYv5pV3wh3BCY/un/A==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@ -542,6 +639,9 @@ packages:
|
|||||||
'@types/yargs@17.0.33':
|
'@types/yargs@17.0.33':
|
||||||
resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
|
resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
|
||||||
|
|
||||||
|
'@types/yauzl-promise@4.0.1':
|
||||||
|
resolution: {integrity: sha512-qYEC3rJwqiJpdQ9b+bPNeuSY0c3JUM8vIuDy08qfuVN7xHm3ZDsHn2kGphUIB0ruEXrPGNXZ64nMUcu4fDjViQ==}
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@8.29.1':
|
'@typescript-eslint/eslint-plugin@8.29.1':
|
||||||
resolution: {integrity: sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==}
|
resolution: {integrity: sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
@ -899,6 +999,14 @@ packages:
|
|||||||
deep-is@0.1.4:
|
deep-is@0.1.4:
|
||||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||||
|
|
||||||
|
define-data-property@1.1.4:
|
||||||
|
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
define-properties@1.2.1:
|
||||||
|
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
defu@6.1.4:
|
defu@6.1.4:
|
||||||
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
|
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
|
||||||
|
|
||||||
@ -937,6 +1045,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
|
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
|
||||||
engines: {node: '>=10.13.0'}
|
engines: {node: '>=10.13.0'}
|
||||||
|
|
||||||
|
es-define-property@1.0.1:
|
||||||
|
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
es-errors@1.3.0:
|
||||||
|
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
escalade@3.2.0:
|
escalade@3.2.0:
|
||||||
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@ -1230,6 +1346,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
|
resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
globalthis@1.0.4:
|
||||||
|
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
gopd@1.2.0:
|
||||||
|
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
graceful-fs@4.2.11:
|
graceful-fs@4.2.11:
|
||||||
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
||||||
|
|
||||||
@ -1244,6 +1368,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
|
resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
has-property-descriptors@1.0.2:
|
||||||
|
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
|
||||||
|
|
||||||
hash-wasm@4.12.0:
|
hash-wasm@4.12.0:
|
||||||
resolution: {integrity: sha512-+/2B2rYLb48I/evdOIhP+K/DD2ca2fgBjp6O+GBEnCDk2e4rpeXIK8GvIyRPjTezgmWn9gmKwkQjjx6BtqDHVQ==}
|
resolution: {integrity: sha512-+/2B2rYLb48I/evdOIhP+K/DD2ca2fgBjp6O+GBEnCDk2e4rpeXIK8GvIyRPjTezgmWn9gmKwkQjjx6BtqDHVQ==}
|
||||||
|
|
||||||
@ -1299,6 +1426,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
is-it-type@5.1.2:
|
||||||
|
resolution: {integrity: sha512-q/gOZQTNYABAxaXWnBKZjTFH4yACvWEFtgVOj+LbgxYIgAJG1xVmUZOsECSrZPIemYUQvaQWVilSFVbh4Eyt8A==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
is-number@7.0.0:
|
is-number@7.0.0:
|
||||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||||
engines: {node: '>=0.12.0'}
|
engines: {node: '>=0.12.0'}
|
||||||
@ -1443,6 +1574,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
object-keys@1.1.1:
|
||||||
|
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
|
|
||||||
@ -1546,6 +1681,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
|
resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
|
||||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||||
|
|
||||||
|
regenerator-runtime@0.14.1:
|
||||||
|
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
|
||||||
|
|
||||||
regexp-ast-analysis@0.7.1:
|
regexp-ast-analysis@0.7.1:
|
||||||
resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
|
resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
|
||||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||||
@ -1614,6 +1752,10 @@ packages:
|
|||||||
simple-get@4.0.1:
|
simple-get@4.0.1:
|
||||||
resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
|
resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
|
||||||
|
|
||||||
|
simple-invariant@2.0.1:
|
||||||
|
resolution: {integrity: sha512-1sbhsxqI+I2tqlmjbz99GXNmZtr6tKIyEgGGnJw/MKGblalqk/XoOYYFJlBzTKZCxx8kLaD3FD5s9BEEjx5Pyg==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
slash@3.0.0:
|
slash@3.0.0:
|
||||||
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
|
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@ -1834,6 +1976,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
yauzl-promise@4.0.0:
|
||||||
|
resolution: {integrity: sha512-/HCXpyHXJQQHvFq9noqrjfa/WpQC2XYs3vI7tBiAi4QiIU1knvYhZGaO1QPjwIVMdqflxbmwgMXtYeaRiAE0CA==}
|
||||||
|
engines: {node: '>=16'}
|
||||||
|
|
||||||
yocto-queue@0.1.0:
|
yocto-queue@0.1.0:
|
||||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@ -1848,6 +1994,10 @@ snapshots:
|
|||||||
|
|
||||||
'@babel/helper-validator-identifier@7.25.9': {}
|
'@babel/helper-validator-identifier@7.25.9': {}
|
||||||
|
|
||||||
|
'@babel/runtime@7.27.0':
|
||||||
|
dependencies:
|
||||||
|
regenerator-runtime: 0.14.1
|
||||||
|
|
||||||
'@dual-bundle/import-meta-resolve@4.1.0': {}
|
'@dual-bundle/import-meta-resolve@4.1.0': {}
|
||||||
|
|
||||||
'@emnapi/core@1.3.1':
|
'@emnapi/core@1.3.1':
|
||||||
@ -2021,6 +2171,67 @@ snapshots:
|
|||||||
'@tybys/wasm-util': 0.9.0
|
'@tybys/wasm-util': 0.9.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-android-arm-eabi@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-android-arm64@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-darwin-arm64@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-darwin-x64@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-freebsd-x64@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-arm-gnueabihf@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-arm64-gnu@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-arm64-musl@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-x64-gnu@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-linux-x64-musl@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-wasm32-wasi@1.10.6':
|
||||||
|
dependencies:
|
||||||
|
'@napi-rs/wasm-runtime': 0.2.8
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-win32-arm64-msvc@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-win32-ia32-msvc@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32-win32-x64-msvc@1.10.6':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@node-rs/crc32@1.10.6':
|
||||||
|
optionalDependencies:
|
||||||
|
'@node-rs/crc32-android-arm-eabi': 1.10.6
|
||||||
|
'@node-rs/crc32-android-arm64': 1.10.6
|
||||||
|
'@node-rs/crc32-darwin-arm64': 1.10.6
|
||||||
|
'@node-rs/crc32-darwin-x64': 1.10.6
|
||||||
|
'@node-rs/crc32-freebsd-x64': 1.10.6
|
||||||
|
'@node-rs/crc32-linux-arm-gnueabihf': 1.10.6
|
||||||
|
'@node-rs/crc32-linux-arm64-gnu': 1.10.6
|
||||||
|
'@node-rs/crc32-linux-arm64-musl': 1.10.6
|
||||||
|
'@node-rs/crc32-linux-x64-gnu': 1.10.6
|
||||||
|
'@node-rs/crc32-linux-x64-musl': 1.10.6
|
||||||
|
'@node-rs/crc32-wasm32-wasi': 1.10.6
|
||||||
|
'@node-rs/crc32-win32-arm64-msvc': 1.10.6
|
||||||
|
'@node-rs/crc32-win32-ia32-msvc': 1.10.6
|
||||||
|
'@node-rs/crc32-win32-x64-msvc': 1.10.6
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.stat': 2.0.5
|
'@nodelib/fs.stat': 2.0.5
|
||||||
@ -2233,6 +2444,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@types/yargs-parser': 21.0.3
|
'@types/yargs-parser': 21.0.3
|
||||||
|
|
||||||
|
'@types/yauzl-promise@4.0.1':
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 22.15.2
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@8.29.1(@typescript-eslint/parser@8.29.1(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3)':
|
'@typescript-eslint/eslint-plugin@8.29.1(@typescript-eslint/parser@8.29.1(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
@ -2589,6 +2804,18 @@ snapshots:
|
|||||||
|
|
||||||
deep-is@0.1.4: {}
|
deep-is@0.1.4: {}
|
||||||
|
|
||||||
|
define-data-property@1.1.4:
|
||||||
|
dependencies:
|
||||||
|
es-define-property: 1.0.1
|
||||||
|
es-errors: 1.3.0
|
||||||
|
gopd: 1.2.0
|
||||||
|
|
||||||
|
define-properties@1.2.1:
|
||||||
|
dependencies:
|
||||||
|
define-data-property: 1.1.4
|
||||||
|
has-property-descriptors: 1.0.2
|
||||||
|
object-keys: 1.1.1
|
||||||
|
|
||||||
defu@6.1.4: {}
|
defu@6.1.4: {}
|
||||||
|
|
||||||
detect-libc@2.0.3: {}
|
detect-libc@2.0.3: {}
|
||||||
@ -2618,6 +2845,10 @@ snapshots:
|
|||||||
graceful-fs: 4.2.11
|
graceful-fs: 4.2.11
|
||||||
tapable: 2.2.1
|
tapable: 2.2.1
|
||||||
|
|
||||||
|
es-define-property@1.0.1: {}
|
||||||
|
|
||||||
|
es-errors@1.3.0: {}
|
||||||
|
|
||||||
escalade@3.2.0: {}
|
escalade@3.2.0: {}
|
||||||
|
|
||||||
escape-string-regexp@2.0.0: {}
|
escape-string-regexp@2.0.0: {}
|
||||||
@ -2981,6 +3212,13 @@ snapshots:
|
|||||||
|
|
||||||
globals@15.14.0: {}
|
globals@15.14.0: {}
|
||||||
|
|
||||||
|
globalthis@1.0.4:
|
||||||
|
dependencies:
|
||||||
|
define-properties: 1.2.1
|
||||||
|
gopd: 1.2.0
|
||||||
|
|
||||||
|
gopd@1.2.0: {}
|
||||||
|
|
||||||
graceful-fs@4.2.11: {}
|
graceful-fs@4.2.11: {}
|
||||||
|
|
||||||
graphemer@1.4.0: {}
|
graphemer@1.4.0: {}
|
||||||
@ -2989,6 +3227,10 @@ snapshots:
|
|||||||
|
|
||||||
has-own-prop@2.0.0: {}
|
has-own-prop@2.0.0: {}
|
||||||
|
|
||||||
|
has-property-descriptors@1.0.2:
|
||||||
|
dependencies:
|
||||||
|
es-define-property: 1.0.1
|
||||||
|
|
||||||
hash-wasm@4.12.0: {}
|
hash-wasm@4.12.0: {}
|
||||||
|
|
||||||
hasown@2.0.2:
|
hasown@2.0.2:
|
||||||
@ -3032,6 +3274,11 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-extglob: 2.1.1
|
is-extglob: 2.1.1
|
||||||
|
|
||||||
|
is-it-type@5.1.2:
|
||||||
|
dependencies:
|
||||||
|
'@babel/runtime': 7.27.0
|
||||||
|
globalthis: 1.0.4
|
||||||
|
|
||||||
is-number@7.0.0: {}
|
is-number@7.0.0: {}
|
||||||
|
|
||||||
is-plain-obj@2.1.0: {}
|
is-plain-obj@2.1.0: {}
|
||||||
@ -3192,6 +3439,8 @@ snapshots:
|
|||||||
|
|
||||||
normalize-path@3.0.0: {}
|
normalize-path@3.0.0: {}
|
||||||
|
|
||||||
|
object-keys@1.1.1: {}
|
||||||
|
|
||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
@ -3313,6 +3562,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
|
|
||||||
|
regenerator-runtime@0.14.1: {}
|
||||||
|
|
||||||
regexp-ast-analysis@0.7.1:
|
regexp-ast-analysis@0.7.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
@ -3370,6 +3621,8 @@ snapshots:
|
|||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
simple-concat: 1.0.1
|
simple-concat: 1.0.1
|
||||||
|
|
||||||
|
simple-invariant@2.0.1: {}
|
||||||
|
|
||||||
slash@3.0.0: {}
|
slash@3.0.0: {}
|
||||||
|
|
||||||
source-map-support@0.5.21:
|
source-map-support@0.5.21:
|
||||||
@ -3614,4 +3867,10 @@ snapshots:
|
|||||||
y18n: 5.0.8
|
y18n: 5.0.8
|
||||||
yargs-parser: 21.1.1
|
yargs-parser: 21.1.1
|
||||||
|
|
||||||
|
yauzl-promise@4.0.0:
|
||||||
|
dependencies:
|
||||||
|
'@node-rs/crc32': 1.10.6
|
||||||
|
is-it-type: 5.1.2
|
||||||
|
simple-invariant: 2.0.1
|
||||||
|
|
||||||
yocto-queue@0.1.0: {}
|
yocto-queue@0.1.0: {}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user