diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 311c18db0..842997448 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -174,6 +174,20 @@ pnpm dev:tamagotchi > nr dev:tamagotchi > ``` +> [!NOTE] +> +> The `dev` and `start` scripts run `install-electron` before `electron-vite`. +> +> Electron 42 removed the `postinstall` script. The `electron` package now downloads its binary +> when you first run its `bin` entry. `electron-vite` reads `node_modules/electron/path.txt` +> directly, so it never starts that download. A fresh install therefore fails with +> `Error: Electron uninstall`. +> +> `install-electron` runs the same code as the removed `postinstall` script. It returns +> immediately when the binary is already present. +> +> Remove this step after `electron-vite` supports the lazy download. + ### Stage Web (Browser version for [airi.moeru.ai](https://airi.moeru.ai)) ```shell diff --git a/apps/stage-tamagotchi/package.json b/apps/stage-tamagotchi/package.json index 22102642a..8d1b4928e 100644 --- a/apps/stage-tamagotchi/package.json +++ b/apps/stage-tamagotchi/package.json @@ -16,10 +16,10 @@ "typecheck": "vue-tsc --noEmit", "app:dev": "pnpm run dev", "app:build": "pnpm run build", - "start": "electron-vite preview", - "start:xwayland": "electron-vite preview -- --ozone-platform=x11", - "dev": "electron-vite dev", - "dev:xwayland": "electron-vite dev -- --ozone-platform=x11", + "start": "install-electron && electron-vite preview", + "start:xwayland": "install-electron && electron-vite preview -- --ozone-platform=x11", + "dev": "install-electron && electron-vite dev", + "dev:xwayland": "install-electron && electron-vite dev -- --ozone-platform=x11", "build": "electron-vite build", "postinstall": "electron-builder install-app-deps", "build:unpack": "pnpm run build && electron-builder --dir",