Browse Source

Fix: incorrect modules copy dest

SukkaW 5 months ago
parent
commit
bbfe1e8440
4 changed files with 22 additions and 11 deletions
  1. 15 8
      Build/build-deprecate-files.ts
  2. 3 3
      Build/build-public.ts
  3. 1 0
      package.json
  4. 3 0
      pnpm-lock.yaml

+ 15 - 8
Build/build-deprecate-files.ts

@@ -3,11 +3,12 @@ import { compareAndWriteFile } from './lib/create-file';
 import { task } from './trace';
 import path from 'node:path';
 import fsp from 'node:fs/promises';
+import { globSync } from 'tinyglobby';
+import { appendArrayInPlace } from 'foxts/append-array-in-place';
 
 const DEPRECATED_FILES = [
   ['non_ip/global_plus', 'This file has been merged with non_ip/global'],
-  ['domainset/reject_sukka', 'This file has been merged with domainset/reject'],
-  ['Internal/reversed-chn-cidr.txt', 'This file has been replaced by https://chnroutes2.cdn.skk.moe/reversed-chnroutes.txt']
+  ['domainset/reject_sukka', 'This file has been merged with domainset/reject']
 ];
 
 const REMOVED_FILES = [
@@ -17,15 +18,21 @@ const REMOVED_FILES = [
   'Clash/non_ip/clash_fake_ip_filter.txt',
   'sing-box/domainset/steam.json',
   'Modules/sukka_unlock_abema.sgmodule',
-  'Modules/sukka_exclude_reservered_ip.sgmodule'
+  'Modules/sukka_exclude_reservered_ip.sgmodule',
+  'Modules/Rules/*.sgmodule',
+  'Internal/mihomo_nameserver_policy/*.conf'
+];
+
+const REMOVED_FOLDERS = [
+  'List/Internal',
+  'Clash/Internal'
 ];
 
 export const buildDeprecateFiles = task(require.main === module, __filename)((span) => span.traceChildAsync('create deprecated files', async (childSpan) => {
-  const promises: Array<Promise<unknown>> = REMOVED_FILES
-    .map(f => fsp.rm(
-      path.join(PUBLIC_DIR, f),
-      { force: true, recursive: true }
-    ));
+  const promises: Array<Promise<unknown>> = globSync(REMOVED_FILES, { cwd: PUBLIC_DIR, absolute: true })
+    .map(f => fsp.rm(f, { force: true, recursive: true }));
+
+  appendArrayInPlace(promises, REMOVED_FOLDERS.map(folder => fsp.rm(path.join(PUBLIC_DIR, folder), { force: true, recursive: true })));
 
   for (const [filePath, description] of DEPRECATED_FILES) {
     const content = [

+ 3 - 3
Build/build-public.ts

@@ -6,7 +6,7 @@ import { task } from './trace';
 import { treeDir, TreeFileType } from './lib/tree-dir';
 import type { TreeType, TreeTypeArray } from './lib/tree-dir';
 
-import { OUTPUT_MOCK_DIR, OUTPUT_MODULES_RULES_DIR, PUBLIC_DIR, ROOT_DIR } from './constants/dir';
+import { OUTPUT_MOCK_DIR, OUTPUT_MODULES_DIR, PUBLIC_DIR, ROOT_DIR } from './constants/dir';
 import { writeFile } from './lib/misc';
 import { fastStringCompare } from 'foxts/fast-string-compare';
 import type { VoidOrVoidArray } from './lib/misc';
@@ -57,8 +57,8 @@ export const buildPublic = task(require.main === module, __filename)(async (span
   await span.traceChildAsync('copy rest of the files', async () => {
     const p: Array<Promise<any>> = [];
 
-    fs.mkdirSync(OUTPUT_MODULES_RULES_DIR, { recursive: true });
-    p.push(copyDirContents(path.join(ROOT_DIR, 'Modules'), OUTPUT_MODULES_RULES_DIR, p));
+    fs.mkdirSync(OUTPUT_MODULES_DIR, { recursive: true });
+    p.push(copyDirContents(path.join(ROOT_DIR, 'Modules'), OUTPUT_MODULES_DIR, p));
 
     fs.mkdirSync(OUTPUT_MOCK_DIR, { recursive: true });
     p.push(copyDirContents(path.join(ROOT_DIR, 'Mock'), OUTPUT_MOCK_DIR, p));

+ 1 - 0
package.json

@@ -38,6 +38,7 @@
     "picocolors": "^1.1.1",
     "tar-fs": "^3.1.1",
     "telegram": "^2.26.22",
+    "tinyglobby": "^0.2.15",
     "tldts": "^7.0.17",
     "tldts-experimental": "^7.0.17",
     "undici": "^7.16.0",

+ 3 - 0
pnpm-lock.yaml

@@ -71,6 +71,9 @@ importers:
       telegram:
         specifier: ^2.26.22
         version: 2.26.22
+      tinyglobby:
+        specifier: ^0.2.15
+        version: 0.2.15
       tldts:
         specifier: ^7.0.17
         version: 7.0.17