aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/compress-worker.mjs13
-rwxr-xr-xcontrib/ensure-reproducible-builds.sh29
-rwxr-xr-xcontrib/strip-srcmap.sh6
3 files changed, 48 insertions, 0 deletions
diff --git a/contrib/compress-worker.mjs b/contrib/compress-worker.mjs
new file mode 100755
index 0000000..5c26694
--- /dev/null
+++ b/contrib/compress-worker.mjs
@@ -0,0 +1,13 @@
+#!/usr/bin/env node
+import { readFileSync, writeFileSync } from 'node:fs';
+import { brotliCompressSync } from 'zlib';
+
+writeFileSync(
+ 'static/generated/ts-worker.js.br',
+ brotliCompressSync(
+ readFileSync(
+ 'node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js'
+ ),
+ {}
+ )
+);
diff --git a/contrib/ensure-reproducible-builds.sh b/contrib/ensure-reproducible-builds.sh
new file mode 100755
index 0000000..f9b880a
--- /dev/null
+++ b/contrib/ensure-reproducible-builds.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env zsh
+set -e
+echo "First Build"
+make mozaddons
+# Zips are unstable with hashes
+cd artifacts
+ZIPNAME="$(jq -r '.name + "-" + .version + "-unsigned.zip"' ../manifest.json)"
+unzip "$ZIPNAME"
+rm "$ZIPNAME"
+HASH1="$( (find . -type f -print0 | sort -z | xargs -0 sha512sum;
+ find . \( -type f -o -type d \) -print0 | sort -z | \
+ xargs -0 stat -c '%n %a') \
+ | sha512sum)"
+cd ..
+echo "Got Hash $HASH1"
+sleep 1;
+echo "Second Build"
+make mozaddons
+# Zips are unstable with hashes
+cd artifacts
+unzip "$ZIPNAME"
+rm "$ZIPNAME"
+HASH2="$( (find . -type f -print0 | sort -z | xargs -0 sha512sum;
+ find . \( -type f -o -type d \) -print0 | sort -z | \
+ xargs -0 stat -c '%n %a') \
+ | sha512sum)"
+cd ..
+echo "Got Hash $HASH2"
+if [[ "$HASH1" != "$HASH2" ]]; then echo -e "\x1b[0;31mNot reproducible!\x1b[0m"; fi; \ No newline at end of file
diff --git a/contrib/strip-srcmap.sh b/contrib/strip-srcmap.sh
new file mode 100755
index 0000000..a87ab03
--- /dev/null
+++ b/contrib/strip-srcmap.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env zsh
+set -eax
+# some source maps are >20MB, we can't keep that going.
+for f in $(find build/uwu -name '*.js' -or -name '*.mjs'); do
+ grep -v sourceMappingURL= "$f" > /tmp/a && mv /tmp/a "$f"
+done