Browse Source

Minify output rules

SukkaW 2 years ago
parent
commit
5d86ba3d2d

+ 2 - 1
Build/build-anti-bogus-domain.js

@@ -5,6 +5,7 @@ const { isIPv4, isIPv6 } = require('net');
 const { compareAndWriteFile } = require('./lib/string-array-compare');
 const { withBannerArray } = require('./lib/with-banner');
 const { fetchRemoteTextAndCreateReadlineInterface } = require('./lib/fetch-remote-text-by-line');
+const { minifyRules } = require('./lib/minify-rules');
 
 (async () => {
   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'
       ],
       new Date(),
-      content.split('\n')
+      minifyRules(content.split('\n'))
     ),
     resultPath
   )

+ 2 - 1
Build/build-cdn-conf.js

@@ -3,6 +3,7 @@ const fs = require('fs');
 const path = require('path');
 const { compareAndWriteFile } = require('./lib/string-array-compare');
 const { withBannerArray } = require('./lib/with-banner');
+const { minifyRules } = require('./lib/minify-rules');
 
 (async () => {
   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.'
         ],
         new Date(),
-        content.split('\n')
+        minifyRules(content.split('\n'))
     ),
     resultPath
   )

+ 2 - 3
Build/download-previous-build.js

@@ -4,9 +4,8 @@ const fs = require('fs');
 const fse = require('fs-extra');
 const { join, resolve } = require('path');
 const { tmpdir } = require('os');
-const { Stream, Readable } = require('stream');
-const { promisify } = require('util');
-const pipeline = promisify(Stream.pipeline);
+const { Readable } = require('stream');
+const { pipeline } = require('stream/promises');
 
 const fileExists = (path) => {
   return fs.promises.access(path, fs.constants.F_OK)

+ 13 - 0
Build/lib/minify-rules.js

@@ -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;
+});