浏览代码

Chore: minor changes

SukkaW 4 月之前
父节点
当前提交
9e9ee36292
共有 4 个文件被更改,包括 11 次插入14 次删除
  1. 5 11
      Build/build-microsoft-cdn.ts
  2. 1 1
      Build/build-sspanel-appprofile.ts
  3. 2 2
      Build/lib/create-file.ts
  4. 3 0
      Build/lib/fetch-assets.ts

+ 5 - 11
Build/build-microsoft-cdn.ts

@@ -1,6 +1,5 @@
 import { task } from './trace';
 import { SHARED_DESCRIPTION } from './constants/description';
-import { once } from 'foxts/once';
 import { RulesetOutput } from './lib/rules/ruleset';
 import Worktank from 'worktank';
 import { RULES } from './constants/microsoft-cdn';
@@ -48,18 +47,13 @@ const pool = new Worktank({
   }
 });
 
-export const getMicrosoftCdnRulesetPromise = once<Promise<[domains: string[], domainSuffixes: string[]]>>(async () => {
-  const res = await pool.exec(
-    'getMicrosoftCdnRuleset',
-    [__filename]
-  );
-  pool.terminate();
-
-  return res;
-});
+export const getMicrosoftCdnRulesetPromise = pool.exec(
+  'getMicrosoftCdnRuleset',
+  [__filename]
+).finally(() => pool.terminate());
 
 export const buildMicrosoftCdn = task(require.main === module, __filename)(async (span) => {
-  const [domains, domainSuffixes] = await span.traceChildPromise('get microsoft cdn domains', getMicrosoftCdnRulesetPromise());
+  const [domains, domainSuffixes] = await span.traceChildPromise('get microsoft cdn domains', getMicrosoftCdnRulesetPromise);
 
   return new RulesetOutput(span, 'microsoft_cdn', 'non_ip')
     .withTitle('Sukka\'s Ruleset - Microsoft CDN')

+ 1 - 1
Build/build-sspanel-appprofile.ts

@@ -61,7 +61,7 @@ export const buildSSPanelUIMAppProfile = task(require.main === module, __filenam
     // domestic - domains
     getDomesticAndDirectDomainsRulesetPromise(),
     getAppleCdnDomainsPromise(),
-    getMicrosoftCdnRulesetPromise(),
+    getMicrosoftCdnRulesetPromise,
     readFileIntoProcessedArray(path.join(OUTPUT_SURGE_DIR, 'non_ip/apple_cn.conf')),
     readFileIntoProcessedArray(path.join(OUTPUT_SURGE_DIR, 'non_ip/neteasemusic.conf')),
     // microsoft & apple - domains

+ 2 - 2
Build/lib/create-file.ts

@@ -29,8 +29,8 @@ export async function compareAndWriteFile(span: Span, linesA: string[], filePath
 
     // The default highwater mark is normally 16384,
     // So we make sure direct write to file if the content is
-    // most likely less than 500 lines
-    if (linesALen < 500) {
+    // most likely less than 250 lines
+    if (linesALen < 250) {
       return writeFile(filePath, fastStringArrayJoin(linesA, '\n') + '\n');
     }
 

+ 3 - 0
Build/lib/fetch-assets.ts

@@ -35,6 +35,9 @@ export async function fetchAssets(
       console.log(picocolors.gray('[fetch cancelled]'), picocolors.gray(url));
       throw reusedCustomAbortError;
     }
+    if (index >= 0) {
+      console.log(picocolors.yellowBright('[fetch fallback begin]'), picocolors.gray(url));
+    }
     const res = await $$fetch(url, { signal: controller.signal, ...defaultRequestInit });
 
     let stream = nullthrow(res.body, url + ' has an empty body')