From 659a448919ca653250de21bcac858e4739953170 Mon Sep 17 00:00:00 2001 From: Hannes Hapke Date: Thu, 16 Jul 2026 09:27:39 -0700 Subject: [PATCH 1/2] fix: build updates --- src/frontend/config/webpack.config.js | 13 ++++++++++++- src/frontend/package.json | 3 ++- uv.lock | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/frontend/config/webpack.config.js b/src/frontend/config/webpack.config.js index 4742fdb8..50978c4e 100644 --- a/src/frontend/config/webpack.config.js +++ b/src/frontend/config/webpack.config.js @@ -38,7 +38,18 @@ module.exports = (env, argv) => { "@babel/preset-env", { targets: { browsers: ["last 2 versions"] } }, ], - ["@babel/preset-react", { runtime: "automatic" }], + // Tie preset-react's dev flag to the build mode. Babel 8's + // preset-react defaults `development` from NODE_ENV/BABEL_ENV, + // which the npm scripts leave unset — so a `--mode production` + // build would otherwise emit dev `jsxDEV()` calls while webpack + // bundles React's PRODUCTION jsx-dev-runtime (where jsxDEV is + // undefined), throwing "jsxDEV is not a function" and rendering + // a white screen. Keying off isProduction keeps the two halves + // of the build in agreement. + [ + "@babel/preset-react", + { runtime: "automatic", development: !isProduction }, + ], "@babel/preset-typescript", ], }, diff --git a/src/frontend/package.json b/src/frontend/package.json index 3187cf24..e285db96 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -4,6 +4,7 @@ "version": "1.6.3", "description": "Dataiku's Kiji Privacy Proxy", "author": "Dataiku - Open Source Lab", + "_comment_electronVersion": "build.electronVersion must stay in sync with the electron devDependency by hand. It can't be omitted: npm workspaces hoist electron to the repo-root node_modules, so electron-builder (run from src/frontend) can't auto-detect it and rejects the '^' range. Keep this note at the top level — electron-builder strictly validates the build object and rejects unknown keys inside it.", "main": "src/electron/electron-main.js", "scripts": { "build": "webpack --config config/webpack.config.js --mode production", @@ -79,7 +80,7 @@ "build": { "appId": "com.kiji.proxy", "productName": "Kiji Privacy Proxy", - "electronVersion": "28.3.3", + "electronVersion": "43.0.0", "npmRebuild": false, "icon": "assets/icon.png", "publish": { diff --git a/uv.lock b/uv.lock index d9518501..63c0bd4e 100644 --- a/uv.lock +++ b/uv.lock @@ -1646,7 +1646,7 @@ wheels = [ [[package]] name = "kiji-proxy" -version = "1.6.0" +version = "1.6.3" source = { editable = "." } dependencies = [ { name = "absl-py" }, From 87057377f2ef89a11a6d7b640fb0cf7ea7e1dd35 Mon Sep 17 00:00:00 2001 From: Hannes Hapke Date: Thu, 16 Jul 2026 09:28:09 -0700 Subject: [PATCH 2/2] updated build file --- .changeset/clean-numbers-leave.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/clean-numbers-leave.md diff --git a/.changeset/clean-numbers-leave.md b/.changeset/clean-numbers-leave.md new file mode 100644 index 00000000..afd0ded7 --- /dev/null +++ b/.changeset/clean-numbers-leave.md @@ -0,0 +1,5 @@ +--- +"kiji-privacy-proxy": patch +--- + +fix build