1
0

Modernize frontend build pipeline with esbuild and ES modules

This commit is contained in:
2026-03-19 17:37:34 +01:00
parent 9cc4069aca
commit 9349896763
33 changed files with 1406 additions and 99 deletions

View File

@@ -8,26 +8,14 @@ if [ ! -d "$SCRIPT_DIR/kobopatch-src" ]; then
exit 1
fi
PUBLIC_DIR="$SCRIPT_DIR/../web/public"
echo "Building kobopatch WASM..."
cd "$SCRIPT_DIR"
GOOS=js GOARCH=wasm go build -o kobopatch.wasm .
echo "WASM binary size: $(du -h kobopatch.wasm | cut -f1)"
# Cache-busting timestamp
TS=$(date +%s)
echo "Copying artifacts..."
cp kobopatch.wasm "$SCRIPT_DIR/../web/src/wasm/kobopatch.wasm"
cp wasm_exec.js "$SCRIPT_DIR/../web/src/js/wasm_exec.js"
echo "Copying artifacts to $PUBLIC_DIR..."
mkdir -p "$PUBLIC_DIR/wasm"
cp kobopatch.wasm "$PUBLIC_DIR/wasm/kobopatch.wasm"
cp wasm_exec.js "$PUBLIC_DIR/js/wasm_exec.js"
# Update cache-busting timestamps
sed -i "s|kobopatch\.wasm?ts=[0-9]*|kobopatch.wasm?ts=$TS|g" "$PUBLIC_DIR/js/patch-worker.js"
sed -i "s|\.js?ts=[0-9]*|.js?ts=$TS|g" "$PUBLIC_DIR/index.html"
sed -i "s|\.css?ts=[0-9]*|.css?ts=$TS|g" "$PUBLIC_DIR/index.html"
echo "Build timestamp: $TS"
echo "Done."

View File

@@ -33,7 +33,7 @@ func TestIntegrationPatch(t *testing.T) {
}
// Read patch files from the patches zip.
patchesZipPath := "../web/public/patches/patches_4.45.23646.zip"
patchesZipPath := "../web/src/patches/patches_4.45.23646.zip"
patchesZip, err := os.ReadFile(patchesZipPath)
if err != nil {
t.Fatalf("could not read patches zip: %v", err)
@@ -82,9 +82,9 @@ overrides:
// with only "Remove footer (row3) on new home screen" enabled.
expectedSHA1 := map[string]string{
"usr/local/Kobo/libnickel.so.1.0.0": "ef64782895a47ac85f0829f06fffa4816d23512d",
"usr/local/Kobo/nickel": "80a607bac515457a6864be8be831df631a01005c",
"usr/local/Kobo/libadobe.so": "02dc99c71c4fef75401cd49ddc2e63f928a126e1",
"usr/local/Kobo/librmsdk.so.1.0.0": "e3819260c9fc539a53db47e9d3fe600ec11633d5",
"usr/local/Kobo/nickel": "80a607bac515457a6864be8be831df631a01005c",
"usr/local/Kobo/libadobe.so": "02dc99c71c4fef75401cd49ddc2e63f928a126e1",
"usr/local/Kobo/librmsdk.so.1.0.0": "e3819260c9fc539a53db47e9d3fe600ec11633d5",
}
// Extract the output tgz and check SHA1 of each patched binary.