diff --git a/Build/index.ts b/Build/index.ts index a8d67fb3..6972faeb 100644 --- a/Build/index.ts +++ b/Build/index.ts @@ -30,6 +30,7 @@ import { createSpan, printTraceResult, whyIsNodeRunning } from './trace'; import { buildDeprecateFiles } from './build-deprecate-files'; import { cacheGc } from './lib/make-fetch-happen'; import path from 'node:path'; +import { ROOT_DIR } from './constants/dir'; process.on('uncaughtException', (error) => { console.error('Uncaught exception:', error); @@ -40,7 +41,7 @@ process.on('unhandledRejection', (reason) => { process.exit(1); }); -const buildFinishedLock = path.join(__dirname, '../.BUILD_FINISHED'); +const buildFinishedLock = path.join(ROOT_DIR, '.BUILD_FINISHED'); (async () => { console.log('Version:', process.version); diff --git a/Build/lib/cache-filesystem.ts b/Build/lib/cache-filesystem.ts index 4b193aeb..0e89e4cd 100644 --- a/Build/lib/cache-filesystem.ts +++ b/Build/lib/cache-filesystem.ts @@ -18,6 +18,7 @@ import { Custom304NotModifiedError, CustomAbortError, CustomNoETagFallbackError, import type { IncomingHttpHeaders } from 'undici/types/header'; import { Headers } from 'undici'; +import { ROOT_DIR } from '../constants/dir'; export interface CacheOptions { /** Path to sqlite file dir */ @@ -429,13 +430,11 @@ export class Cache { } } -export const fsFetchCache = new Cache({ cachePath: path.resolve(__dirname, '../../.cache') }); +export const fsFetchCache = new Cache({ cachePath: path.resolve(ROOT_DIR, '.cache') }); // process.on('exit', () => { // fsFetchCache.destroy(); // }); -// export const fsCache = traceSync('initializing filesystem cache', () => new Cache({ cachePath: path.resolve(__dirname, '../../.cache'), type: 'buffer' })); - const separator = '\u0000'; export const serializeSet = (set: Set) => fastStringArrayJoin(Array.from(set), separator); export const deserializeSet = (str: string) => new Set(str.split(separator)); diff --git a/Build/lib/convert-clash-meta-mrs.ts b/Build/lib/convert-clash-meta-mrs.ts index 60dfa130..5946d9e1 100644 --- a/Build/lib/convert-clash-meta-mrs.ts +++ b/Build/lib/convert-clash-meta-mrs.ts @@ -8,8 +8,9 @@ import process from 'node:process'; import { exec } from 'tinyexec'; import { mkdirp } from './misc'; import { $$fetch } from './fetch-retry'; +import { ROOT_DIR } from '../constants/dir'; -const mihomoBinaryDir = path.join(__dirname, '../../node_modules/.cache/mihomo'); +const mihomoBinaryDir = path.join(ROOT_DIR, '.cache/mihomo'); const mihomoBinaryPath = path.join(mihomoBinaryDir, 'mihomo'); const mihomoBinaryUrl: Partial>>> = { diff --git a/Build/lib/fetch-retry.ts b/Build/lib/fetch-retry.ts index 49233f43..821554e7 100644 --- a/Build/lib/fetch-retry.ts +++ b/Build/lib/fetch-retry.ts @@ -16,6 +16,7 @@ export type UndiciResponseData = Dispatcher.ResponseData; import { inspect } from 'node:util'; import path from 'node:path'; +import { ROOT_DIR } from '../constants/dir'; const agent = new Agent({}); @@ -105,7 +106,7 @@ setGlobalDispatcher(agent.compose( }), interceptors.cache({ store: new BetterSqlite3CacheStore({ - location: path.resolve(__dirname, '../../.cache/undici-better-sqlite3-cache-store.db'), + location: path.join(ROOT_DIR, '.cache/undici-better-sqlite3-cache-store.db'), maxEntrySize: 1024 * 1024 * 50 // 50 MiB }) }) diff --git a/Build/lib/fs-memo.ts b/Build/lib/fs-memo.ts index efcd1b1e..46bcc3de 100644 --- a/Build/lib/fs-memo.ts +++ b/Build/lib/fs-memo.ts @@ -5,8 +5,9 @@ import picocolors from 'picocolors'; import { Cache } from './cache-filesystem'; import { createMemoize } from 'foxts/serialized-memo'; import type { MemoizeStorageProvider } from 'foxts/serialized-memo'; +import { ROOT_DIR } from '../constants/dir'; -const fsMemoCache = new Cache({ cachePath: path.resolve(__dirname, '../../.cache'), tableName: 'fs_memo_cache' }); +const fsMemoCache = new Cache({ cachePath: path.join(ROOT_DIR, '.cache'), tableName: 'fs_memo_cache' }); const fsMemoCacheProvider: MemoizeStorageProvider = { has(key) { diff --git a/Build/lib/make-fetch-happen.ts b/Build/lib/make-fetch-happen.ts index d1c9e179..7a6529b9 100644 --- a/Build/lib/make-fetch-happen.ts +++ b/Build/lib/make-fetch-happen.ts @@ -6,9 +6,10 @@ import fsp from 'node:fs/promises'; // import picocolors from 'picocolors'; import { task } from '../trace'; +import { ROOT_DIR } from '../constants/dir'; // import { bytes } from 'xbits'; -const cachePath = path.resolve(__dirname, '../../.cache/__make_fetch_happen__'); +const cachePath = path.join(ROOT_DIR, '.cache/__make_fetch_happen__'); // fs.mkdirSync(cachePath, { recursive: true }); // interface CacacheVerifyStats {