mirror of
https://github.com/SukkaW/Surge.git
synced 2026-01-29 01:51:52 +08:00
Perf: reduce infra runtime costs
This commit is contained in:
82
Build/index.js
Normal file
82
Build/index.js
Normal file
@@ -0,0 +1,82 @@
|
||||
const { downloadPreviousBuild, downloadPublicSuffixList } = require('./download-previous-build');
|
||||
const { buildCommon } = require('./build-common');
|
||||
const { buildAntiBogusDomain } = require('./build-anti-bogus-domain');
|
||||
const { buildAppleCdn } = require('./build-apple-cdn');
|
||||
const { buildCdnConf } = require('./build-cdn-conf');
|
||||
const { buildPhishingDomainSet } = require('./build-phishing-domainset');
|
||||
const { buildRejectDomainSet } = require('./build-reject-domainset');
|
||||
const { buildTelegramCIDR } = require('./build-telegram-cidr');
|
||||
const { buildChnCidr } = require('./build-chn-cidr');
|
||||
const { buildSpeedtestDomainSet } = require('./build-speedtest-domainset');
|
||||
const { buildInternalCDNDomains } = require('./build-internal-cdn-rules');
|
||||
const { buildInternalReverseChnCIDR } = require('./build-internal-reverse-chn-cidr');
|
||||
const { buildInternalChnDomains } = require('./build-internal-chn-domains');
|
||||
const { buildDomesticRuleset } = require('./build-domestic-ruleset');
|
||||
const { validate } = require('./validate-domainset');
|
||||
|
||||
const { buildPublicHtml } = require('./build-public');
|
||||
|
||||
(async () => {
|
||||
// download-previous-build
|
||||
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
||||
const downloadPublicSuffixListPromise = downloadPublicSuffixList();
|
||||
// build:common
|
||||
const buildCommonPromise = downloadPreviousBuildPromise.then(() => buildCommon());
|
||||
// build:anti-bogus-domain
|
||||
const buildAntiBogusDomainPromise = downloadPreviousBuildPromise.then(() => buildAntiBogusDomain());
|
||||
// build:apple-cdn
|
||||
const buildAppleCdnPromise = downloadPreviousBuildPromise.then(() => buildAppleCdn());
|
||||
// build:cdn-conf
|
||||
const buildCdnConfPromise = Promise.all([
|
||||
downloadPreviousBuildPromise,
|
||||
downloadPublicSuffixListPromise
|
||||
]).then(() => buildCdnConf());
|
||||
// build:phishing-domainset
|
||||
const buildPhilishingDomainsetPromise = downloadPreviousBuildPromise.then(() => buildPhishingDomainSet());
|
||||
// build:reject-domainset
|
||||
const buildRejectDomainSetPromise = Promise.all([
|
||||
downloadPreviousBuildPromise,
|
||||
downloadPublicSuffixListPromise,
|
||||
buildPhilishingDomainsetPromise
|
||||
]).then(() => buildRejectDomainSet());
|
||||
// build:telegram-cidr
|
||||
const buildTelegramCIDRPromise = downloadPreviousBuildPromise.then(() => buildTelegramCIDR());
|
||||
// build:chn-cidr
|
||||
const buildChnCidrPromise = downloadPreviousBuildPromise.then(() => buildChnCidr());
|
||||
// build:speedtest-domainset
|
||||
const buildSpeedtestDomainSetPromise = downloadPreviousBuildPromise.then(() => buildSpeedtestDomainSet());
|
||||
// build:internal-cdn-rules
|
||||
const buildInternalCDNDomainsPromise = Promise.all([
|
||||
buildCommonPromise,
|
||||
buildCdnConfPromise
|
||||
]).then(() => buildInternalCDNDomains());
|
||||
// build:internal-reverse-chn-cidr
|
||||
const buildInternalReverseChnCIDRPromise = buildInternalReverseChnCIDR();
|
||||
// build:internal-chn-domains
|
||||
const buildInternalChnDomainsPromise = buildInternalChnDomains();
|
||||
// build:domestic-ruleset
|
||||
const buildDomesticRulesetPromise = downloadPreviousBuildPromise.then(() => buildDomesticRuleset());
|
||||
|
||||
await Promise.all([
|
||||
downloadPreviousBuildPromise,
|
||||
downloadPublicSuffixListPromise,
|
||||
buildCommonPromise,
|
||||
buildAntiBogusDomainPromise,
|
||||
buildAppleCdnPromise,
|
||||
buildCdnConfPromise,
|
||||
buildPhilishingDomainsetPromise,
|
||||
buildRejectDomainSetPromise,
|
||||
buildTelegramCIDRPromise,
|
||||
buildChnCidrPromise,
|
||||
buildSpeedtestDomainSetPromise,
|
||||
buildInternalCDNDomainsPromise,
|
||||
buildInternalReverseChnCIDRPromise,
|
||||
buildInternalChnDomainsPromise,
|
||||
buildDomesticRulesetPromise
|
||||
]);
|
||||
|
||||
await Promise.all([
|
||||
buildPublicHtml(),
|
||||
validate()
|
||||
]);
|
||||
})();
|
||||
Reference in New Issue
Block a user