Skip to content

Commit

Permalink
Produce separate builds with and without filterlist
Browse files Browse the repository at this point in the history
  • Loading branch information
muodov committed Oct 17, 2024
1 parent 5140329 commit 53ae421
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 12 deletions.
16 changes: 9 additions & 7 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@ set -ex

ESBUILD="node_modules/.bin/esbuild --bundle"

$ESBUILD --format=iife --target=es2021 playwright/content.ts --outfile=dist/autoconsent.playwright.js
$ESBUILD --format=esm --target=es2021 lib/web.ts --outfile=dist/autoconsent.esm.js
$ESBUILD --format=cjs --target=es2021 --platform=node lib/web.ts --outfile=dist/autoconsent.cjs.js
$ESBUILD --format=iife --define:BUNDLE_FILTERLIST=true --target=es2021 playwright/content.ts --outfile=dist/autoconsent.playwright.js
$ESBUILD --format=esm --define:BUNDLE_FILTERLIST=true --target=es2021 lib/web.ts --outfile=dist/autoconsent.extra.esm.js
$ESBUILD --format=cjs --define:BUNDLE_FILTERLIST=true --target=es2021 --platform=node lib/web.ts --outfile=dist/autoconsent.extra.cjs.js
$ESBUILD --format=esm --define:BUNDLE_FILTERLIST=false --target=es2021 lib/web.ts --outfile=dist/autoconsent.esm.js
$ESBUILD --format=cjs --define:BUNDLE_FILTERLIST=false --target=es2021 --platform=node lib/web.ts --outfile=dist/autoconsent.cjs.js

# Extension
$ESBUILD addon/background.ts --outfile=dist/addon-mv3/background.bundle.js
$ESBUILD addon/content.ts --outfile=dist/addon-mv3/content.bundle.js
$ESBUILD addon/popup.ts --outfile=dist/addon-mv3/popup.bundle.js
$ESBUILD addon/devtools/panel.ts --outfile=dist/addon-mv3/devtools/panel.js
$ESBUILD addon/background.ts --define:BUNDLE_FILTERLIST=true --outfile=dist/addon-mv3/background.bundle.js
$ESBUILD addon/content.ts --define:BUNDLE_FILTERLIST=true --outfile=dist/addon-mv3/content.bundle.js
$ESBUILD addon/popup.ts --define:BUNDLE_FILTERLIST=true --outfile=dist/addon-mv3/popup.bundle.js
$ESBUILD addon/devtools/panel.ts --define:BUNDLE_FILTERLIST=true --outfile=dist/addon-mv3/devtools/panel.js

## Copy extension files into place
mkdir -p dist/addon-firefox
Expand Down
2 changes: 1 addition & 1 deletion lib/web.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { DomActions } from './dom-actions';
import { normalizeConfig } from './utils';
import { deserializeFilterList, getCosmeticStylesheet, getFilterlistSelectors } from './filterlist-utils';
import { FiltersEngine } from '@cliqz/adblocker';
import { serializedEngine } from './filterlist-engine';
import serializedEngine from './filterlist-engine';

function filterCMPs(rules: AutoCMP[], config: Config) {
return rules.filter((cmp) => {
Expand Down
12 changes: 10 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,16 @@
"name": "@duckduckgo/autoconsent",
"version": "10.16.0",
"description": "",
"main": "dist/autoconsent.cjs.js",
"module": "dist/autoconsent.esm.js",
"exports": {
".": {
"import": "./dist/autoconsent.esm.js",
"require": "./dist/autoconsent.cjs.js"
},
"./extra": {
"import": "./dist/autoconsent.extra.esm.js",
"require": "./dist/autoconsent.extra.cjs.js"
}
},
"directories": {
"lib": "lib"
},
Expand Down
11 changes: 9 additions & 2 deletions rules/rebuild-filterlist.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,15 @@ const engineJson = JSON.stringify(Array.from(serializedEngine));

fs.writeFile(
path.join(rulesDir, "../lib/filterlist-engine.ts"),
`export const serializedEngine = new Uint8Array(
`
declare global {
const BUNDLE_FILTERLIST: boolean;
}
const serializedEngine = /* @__PURE__ */ new Uint8Array(
${engineJson}
);`,
);
const emptyEngine = /* @__PURE__ */ new Uint8Array([]);
export default BUNDLE_FILTERLIST ? serializedEngine : emptyEngine;
`,
() => console.log("Written filterlist-engine.ts")
);

0 comments on commit 53ae421

Please sign in to comment.