dir.ts 923 B

12345678910111213141516171819202122
  1. import path from 'node:path';
  2. import os from 'node:os';
  3. import fs from 'node:fs';
  4. import { isCI } from 'ci-info';
  5. export const ROOT_DIR = path.resolve(__dirname, '../..');
  6. export const CACHE_DIR = path.resolve(ROOT_DIR, '.cache');
  7. export const SOURCE_DIR = path.join(ROOT_DIR, 'Source');
  8. export const PUBLIC_DIR = isCI
  9. ? fs.mkdtempSync(path.join(os.tmpdir(), 'sukkaw-surge-public-'))
  10. : path.resolve(ROOT_DIR, 'public');
  11. export const OUTPUT_SURGE_DIR = path.join(PUBLIC_DIR, 'List');
  12. export const OUTPUT_CLASH_DIR = path.resolve(PUBLIC_DIR, 'Clash');
  13. export const OUTPUT_SINGBOX_DIR = path.resolve(PUBLIC_DIR, 'sing-box');
  14. export const OUTPUT_MODULES_DIR = path.resolve(PUBLIC_DIR, 'Modules');
  15. export const OUTPUT_MODULES_RULES_DIR = path.resolve(OUTPUT_MODULES_DIR, 'Rules');
  16. export const OUTPUT_INTERNAL_DIR = path.resolve(PUBLIC_DIR, 'Internal');
  17. export const OUTPUT_MOCK_DIR = path.resolve(PUBLIC_DIR, 'Mock');