mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
Minify output rules
This commit is contained in:
parent
ce6b811f02
commit
5d86ba3d2d
@ -5,6 +5,7 @@ const { isIPv4, isIPv6 } = require('net');
|
|||||||
const { compareAndWriteFile } = require('./lib/string-array-compare');
|
const { compareAndWriteFile } = require('./lib/string-array-compare');
|
||||||
const { withBannerArray } = require('./lib/with-banner');
|
const { withBannerArray } = require('./lib/with-banner');
|
||||||
const { fetchRemoteTextAndCreateReadlineInterface } = require('./lib/fetch-remote-text-by-line');
|
const { fetchRemoteTextAndCreateReadlineInterface } = require('./lib/fetch-remote-text-by-line');
|
||||||
|
const { minifyRules } = require('./lib/minify-rules');
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
console.time('Total Time - build-anti-bogus-domain');
|
console.time('Total Time - build-anti-bogus-domain');
|
||||||
@ -52,7 +53,7 @@ const { fetchRemoteTextAndCreateReadlineInterface } = require('./lib/fetch-remot
|
|||||||
' - https://github.com/felixonmars/dnsmasq-china-list'
|
' - https://github.com/felixonmars/dnsmasq-china-list'
|
||||||
],
|
],
|
||||||
new Date(),
|
new Date(),
|
||||||
content.split('\n')
|
minifyRules(content.split('\n'))
|
||||||
),
|
),
|
||||||
resultPath
|
resultPath
|
||||||
)
|
)
|
||||||
|
|||||||
@ -3,6 +3,7 @@ const fs = require('fs');
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { compareAndWriteFile } = require('./lib/string-array-compare');
|
const { compareAndWriteFile } = require('./lib/string-array-compare');
|
||||||
const { withBannerArray } = require('./lib/with-banner');
|
const { withBannerArray } = require('./lib/with-banner');
|
||||||
|
const { minifyRules } = require('./lib/minify-rules');
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
console.time('Total Time - build-cdn-conf');
|
console.time('Total Time - build-cdn-conf');
|
||||||
@ -44,7 +45,7 @@ const { withBannerArray } = require('./lib/with-banner');
|
|||||||
'This file contains object storage and static assets CDN domains.'
|
'This file contains object storage and static assets CDN domains.'
|
||||||
],
|
],
|
||||||
new Date(),
|
new Date(),
|
||||||
content.split('\n')
|
minifyRules(content.split('\n'))
|
||||||
),
|
),
|
||||||
resultPath
|
resultPath
|
||||||
)
|
)
|
||||||
|
|||||||
@ -4,9 +4,8 @@ const fs = require('fs');
|
|||||||
const fse = require('fs-extra');
|
const fse = require('fs-extra');
|
||||||
const { join, resolve } = require('path');
|
const { join, resolve } = require('path');
|
||||||
const { tmpdir } = require('os');
|
const { tmpdir } = require('os');
|
||||||
const { Stream, Readable } = require('stream');
|
const { Readable } = require('stream');
|
||||||
const { promisify } = require('util');
|
const { pipeline } = require('stream/promises');
|
||||||
const pipeline = promisify(Stream.pipeline);
|
|
||||||
|
|
||||||
const fileExists = (path) => {
|
const fileExists = (path) => {
|
||||||
return fs.promises.access(path, fs.constants.F_OK)
|
return fs.promises.access(path, fs.constants.F_OK)
|
||||||
|
|||||||
13
Build/lib/minify-rules.js
Normal file
13
Build/lib/minify-rules.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// @ts-check
|
||||||
|
/**
|
||||||
|
* @param {string[]} rules
|
||||||
|
*/
|
||||||
|
exports.minifyRules = (rules) => rules.filter(line => {
|
||||||
|
if (line[0] === '#') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (line.trim().length === 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user