@@ -10,13 +10,9 @@ import fs from 'fs-extra';
1010import ejs from 'ejs' ;
1111import process from 'process' ;
1212import path from 'path' ;
13- import {
14- copyArray ,
15- changeCwdtoRoot ,
16- getNumberOfCommits ,
17- } from './build_js/utils.js' ;
13+ import * as utils from './build_js/utils.js' ;
1814
19- changeCwdtoRoot ( ) ;
15+ utils . changeCwdtoRoot ( ) ;
2016let working_directory = process . cwd ( ) ;
2117const distribution = `${ working_directory } /build/dist` ;
2218let [ browser , version ] = process . argv . slice ( 2 ) ;
@@ -48,16 +44,12 @@ fs.mkdirSync(browserDir);
4844// Copy privacy.md and src except js
4945let src = [ './src' , './docs/PRIVACY.md' ] ;
5046let exceptions = [ './src/js/' , 'version.txt' ] ;
51- await copyArray ( src , browserDir , exceptions ) ;
47+ await utils . copyArray ( src , browserDir , exceptions ) ;
5248
5349//copy js
5450src = [ './src/js' ] ;
55- exceptions = [
56- 'injection_script-original.js' ,
57- 'injection_script.js' ,
58- 'rules.json' ,
59- ] ;
60- await copyArray ( src , browserDir , exceptions ) ;
51+ exceptions = [ 'injection_script-original.js' , 'injection_script.js' ] ;
52+ await utils . copyArray ( src , browserDir , exceptions ) ;
6153
6254let bypasses = { } ;
6355for ( const i of fs . readdirSync ( `${ working_directory } /src/bypasses` ) ) {
@@ -87,25 +79,26 @@ fs.writeFileSync(outputPath, result);
8779if ( browser === 'all' ) {
8880 const chromiumDir = `${ working_directory } /build/FastForward.chromium` ;
8981 fs . mkdirSync ( chromiumDir ) ;
90- await copyArray ( [ browserDir ] , chromiumDir ) ;
82+ await utils . copyArray ( [ browserDir ] , chromiumDir ) ;
9183}
9284
93- /*Compile */
85+ /*version */
9486let packageVersion = '' ;
9587if ( version === 'ver' ) {
9688 packageVersion = fs . readFileSync ( 'version.txt' , 'utf-8' ) . trim ( ) ;
9789} else if ( version === 'nover' ) {
98- const lastCommit = getNumberOfCommits ( ) ;
90+ const lastCommit = utils . getNumberOfCommits ( ) ;
9991 packageVersion = `0.${ lastCommit } ` ;
10092}
10193
10294async function buildExtension ( browser ) {
10395 const targetBrowser = browser === 'firefox' ? 'firefox-desktop' : 'chromium' ;
104- const browserDir = `${ working_directory } /build/FastForward.${ browser } ` ;
105- const manfistFile = `${ working_directory } /platform_spec/${ browser } /manifest.json` ;
106- await copyArray ( [ manfistFile ] , browserDir ) ;
96+ const browserOutDir = `${ working_directory } /build/FastForward.${ browser } ` ;
97+ const browserSrcDir = `${ working_directory } /platform_spec/${ browser } ` ;
98+ const manfistFile = `${ browserSrcDir } /manifest.json` ;
99+ await utils . copyArray ( [ manfistFile ] , browserOutDir ) ;
107100 fs . writeFileSync (
108- `${ browserDir } /manifest.json` ,
101+ `${ browserOutDir } /manifest.json` ,
109102 JSON . stringify (
110103 Object . assign ( JSON . parse ( fs . readFileSync ( manfistFile , 'utf8' ) ) , {
111104 version : packageVersion ,
@@ -114,10 +107,15 @@ async function buildExtension(browser) {
114107 4 //pretty print
115108 )
116109 ) ;
110+ await utils . convertRulesToDNRRulesets (
111+ `${ browserOutDir } /rules.json` ,
112+ `${ browserOutDir } /ip_logger_blocker.json` ,
113+ `${ browserOutDir } /tracker_bypass.json`
114+ ) ;
117115
118116 await webExt . cmd . build (
119117 {
120- sourceDir : browserDir ,
118+ sourceDir : browserOutDir ,
121119 artifactsDir : `${ distribution } ` ,
122120 overwriteDest : true ,
123121 browser : targetBrowser ,
0 commit comments