fix(nx/edit-docs): rebuild script not working properly

This commit is contained in:
Elian Doran 2025-05-02 20:02:29 +03:00
parent 6e46ab0598
commit e596adca00
No known key found for this signature in database
2 changed files with 45 additions and 10 deletions

View File

@ -14,28 +14,26 @@
"nx": {
"name": "edit-docs",
"targets": {
"postbuild": {
"rebuild-deps": {
"executor": "nx:run-commands",
"dependsOn": [
"build"
],
"dependsOn": [ "build" ],
"defaultConfiguration": "default",
"cache": true,
"configurations": {
"default": {
"command": "electron-rebuild",
"cwd": "{projectRoot}/dist"
"command": "cross-env DEBUG=* tsx scripts/rebuild.ts",
"cwd": "{projectRoot}"
},
"nixos": {
"command": "electron-rebuild -v $(nix-shell -p electron_35 --run \"electron --version\")",
"cwd": "{projectRoot}/dist"
"command": "electron-rebuild -f -v $(nix-shell -p electron_35 --run \"electron --version\") dist/main.js -m dist",
"cwd": "{projectRoot}"
}
}
},
"serve": {
"executor": "nx:run-commands",
"dependsOn": [
"postbuild"
"rebuild-deps"
],
"defaultConfiguration": "default",
"configurations": {

View File

@ -0,0 +1,37 @@
/**
* @module
*
* This script is used internally by the `rebuild-deps` target of the `desktop`. Normally we could use
* `electron-rebuild` CLI directly, but it would rebuild the monorepo-level dependencies and breaks
* the server build (and it doesn't expose a CLI option to override this).
*/
// TODO: Deduplicate with apps/desktop/scripts/rebuild.ts.
import { fileURLToPath } from "url";
import { dirname, join } from "path";
import rebuild from "@electron/rebuild"
import { readFileSync } from "fs";
const scriptDir = dirname(fileURLToPath(import.meta.url));
const rootDir = join(scriptDir, "..");
function getElectronVersion() {
const packageJsonPath = join(rootDir, "package.json");
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
return packageJson.devDependencies.electron;
}
function main() {
const distDir = join(rootDir, "dist");
rebuild({
// We force the project root path to avoid electron-rebuild from rebuilding the monorepo-level dependency and breaking the server.
projectRootPath: distDir,
buildPath: distDir,
force: true,
electronVersion: getElectronVersion(),
});
}
main();