Make ESLint Happy
Some checks failed
Build / Build (push) Has been cancelled
Build / Diff output (push) Has been cancelled
Build / Deploy (3.114.12) (push) Has been cancelled

This commit is contained in:
SukkaW
2026-06-30 16:07:44 +08:00
parent d472b9f79a
commit f1054035f7
14 changed files with 30 additions and 31 deletions

View File

@@ -41,9 +41,8 @@ export async function compareAndWriteFile(span: Span, linesA: string[], filePath
}
const writeStream = fs.createWriteStream(filePath);
let p;
for (let i = 0; i < linesALen; i++) {
p = asyncWriteToStream(writeStream, linesA[i] + '\n');
const p = asyncWriteToStream(writeStream, linesA[i] + '\n');
// eslint-disable-next-line no-await-in-loop -- stream high water mark
if (p) await p;
}

View File

@@ -21,6 +21,7 @@ import path from 'node:path';
import fs from 'node:fs';
import { CACHE_DIR } from '../constants/dir';
import { isAbortErrorLike } from 'foxts/abort-error';
import { isErrorLikeObject } from 'foxts/extract-error-message';
if (!fs.existsSync(CACHE_DIR)) {
fs.mkdirSync(CACHE_DIR, { recursive: true });
@@ -58,6 +59,7 @@ const agent = new Agent({
if (
errorCode === 'ERR_UNESCAPED_CHARACTERS'
|| errorCode === 'UND_ERR_DESTROYED'
// eslint-disable-next-line sukka/prefer-foxts-error-util -- we already know this is Error type
|| err.message === 'Request path contains unescaped characters'
|| err.name === 'AbortError'
) {
@@ -277,7 +279,7 @@ export async function requestWithLog(url: string, opt?: Parameters<typeof undici
if (isAbortErrorLike(err)) {
console.log(picocolors.gray('[fetch abort]'), url);
} else {
console.log(picocolors.gray('[fetch fail]'), url, { name: err instanceof Error ? err.name : undefined }, err);
console.log(picocolors.gray('[fetch fail]'), url, { name: isErrorLikeObject(err) ? err.name : undefined }, err);
}
throw err;

View File

@@ -113,9 +113,8 @@ export class FileOutput {
}
bulkAddDomain(domains: Array<string | null>) {
let d: string | null;
for (let i = 0, len = domains.length; i < len; i++) {
d = domains[i];
const d = domains[i];
if (d !== null) {
this.domainTrie.add(d, false, null, 0);
}

View File

@@ -57,7 +57,6 @@ export async function treeDir(rootPath: string): Promise<TreeTypeArray> {
path: childRelativeToRoot
};
node.push(newNode);
continue;
}
}
};

View File

@@ -285,10 +285,9 @@ abstract class Triebase<Meta = unknown> {
const suffixStack: string[][] = [initialSuffix];
let node: TrieNode<Meta> = initialNode;
let r;
do {
r = dfsImpl(nodeStack, suffixStack);
const r = dfsImpl(nodeStack, suffixStack);
node = r[0]!;
const suffix = r[1];
@@ -588,20 +587,20 @@ export class HostnameSmolTrie<Meta = unknown> extends Triebase<Meta> {
}
function cleanUpEmptyTrailNode(node: TrieNode<unknown>) {
if (
let current = node;
while (
// the current node is not an "end node", a.k.a. not the start of a domain
missingBit(node[0], START)
missingBit(current[0], START)
// also no leading "." (no subdomain)
&& missingBit(node[0], INCLUDE_ALL_SUBDOMAIN)
&& missingBit(current[0], INCLUDE_ALL_SUBDOMAIN)
// child is empty
&& node[2].size === 0
// has parent: we need to detele the cureent node from the parent
// we also need to recursively clean up the parent node
&& node[1]
&& current[2].size === 0
// has parent: we need to delete the current node from the parent
// we also need to clean up the parent node
&& current[1]
) {
node[1][2].delete(node[3]);
// finish of the current stack
return cleanUpEmptyTrailNode(node[1]);
current[1][2].delete(current[3]);
current = current[1];
}
}

View File

@@ -162,7 +162,6 @@ export class ClashClassicRuleSet extends BaseWriteStrategy {
}
if (v === 6) {
this.result.push(`SRC-IP-CIDR6,${value}/128`);
continue;
}
}
}