@@ -9,14 +9,43 @@ const { buildTelegramCIDR } = require('./build-telegram-cidr');
9
9
const { buildChnCidr } = require ( './build-chn-cidr' ) ;
10
10
const { buildSpeedtestDomainSet } = require ( './build-speedtest-domainset' ) ;
11
11
const { buildInternalCDNDomains } = require ( './build-internal-cdn-rules' ) ;
12
- const { buildInternalReverseChnCIDR } = require ( './build-internal-reverse-chn-cidr' ) ;
13
12
const { buildInternalChnDomains } = require ( './build-internal-chn-domains' ) ;
14
13
const { buildDomesticRuleset } = require ( './build-domestic-ruleset' ) ;
15
14
const { validate } = require ( './validate-domainset' ) ;
16
15
17
16
const { buildPublicHtml } = require ( './build-public' ) ;
18
17
18
+ const { Worker } = require ( 'jest-worker' ) ;
19
+
20
+ /**
21
+ * @template T
22
+ * @typedef {import('jest-worker').Worker & T } WithWorker
23
+ */
24
+
25
+ /**
26
+ * @template T
27
+ * @param {string } path
28
+ * @returns {WithWorker<T> }
29
+ */
30
+ const requireWorker = ( path ) => {
31
+ const _worker = ( new Worker (
32
+ require . resolve ( path ) ,
33
+ {
34
+ numWorkers : 1 ,
35
+ maxRetries : 0 ,
36
+ enableWorkerThreads : true
37
+ }
38
+ ) ) ;
39
+ _worker . getStderr ( ) . pipe ( process . stderr ) ;
40
+ _worker . getStdout ( ) . pipe ( process . stdout ) ;
41
+
42
+ return _worker ;
43
+ } ;
44
+
19
45
( async ( ) => {
46
+ const buildInternalReverseChnCIDRWorker = /** @type {WithWorker<import('./build-internal-reverse-chn-cidr')> } */ ( requireWorker ( './build-internal-reverse-chn-cidr' ) ) ;
47
+ const { buildInternalReverseChnCIDR } = buildInternalReverseChnCIDRWorker ;
48
+
20
49
// download-previous-build
21
50
const downloadPreviousBuildPromise = downloadPreviousBuild ( ) ;
22
51
const downloadPublicSuffixListPromise = downloadPublicSuffixList ( ) ;
@@ -77,6 +106,7 @@ const { buildPublicHtml } = require('./build-public');
77
106
78
107
await Promise . all ( [
79
108
buildPublicHtml ( ) ,
80
- validate ( )
109
+ validate ( ) ,
110
+ buildInternalReverseChnCIDRWorker . end ( )
81
111
] ) ;
82
112
} ) ( ) ;
0 commit comments