diff --git a/Build/build-reject-domainset.ts b/Build/build-reject-domainset.ts index 1b618502..224f7373 100644 --- a/Build/build-reject-domainset.ts +++ b/Build/build-reject-domainset.ts @@ -82,9 +82,9 @@ export const buildRejectDomainSet = task(import.meta.main, import.meta.path)(asy const [type, value] = line.split(','); if (type === 'DOMAIN-KEYWORD') { - domainKeywordsSet.add(value.trim()); + domainKeywordsSet.add(value); } else if (type === 'DOMAIN-SUFFIX') { - domainSets.add(`.${value.trim()}`); // Add to domainSets for later deduplication + domainSets.add('.' + value); // Add to domainSets for later deduplication } } diff --git a/Build/trim-source.ts b/Build/trim-source.ts new file mode 100644 index 00000000..ea23f697 --- /dev/null +++ b/Build/trim-source.ts @@ -0,0 +1,47 @@ +import path from 'path'; +import { fdir as Fdir } from 'fdir'; +import { readFileByLine } from './lib/fetch-text-by-line'; + +const sourceDir = path.resolve(import.meta.dir, '../Source'); + +(async () => { + const promises: Array> = []; + + const paths = await new Fdir() + .withFullPaths() + // .exclude((dirName, dirPath) => { + // if (dirName === 'domainset' || dirName === 'ip' || dirName === 'non_ip') { + // return false; + // } + // console.error(picocolors.red(`[build-comman] Unknown dir: ${dirPath}`)); + // return true; + // }) + .filter((filepath, isDirectory) => { + if (isDirectory) return true; + + const extname = path.extname(filepath); + if (extname === '.js' || extname === '.ts') { + return false; + } + + return true; + }) + .crawl(sourceDir) + .withPromise(); + + for (let i = 0, len = paths.length; i < len; i++) { + const fullPath = paths[i]; + promises.push(trimFileLines(fullPath)); + } + + return Promise.all(promises); +})(); + +async function trimFileLines(file: string) { + let result = ''; + for await (const line of readFileByLine(file)) { + result += line.trim() + '\n'; + } + + return Bun.write(file, result); +}