mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-24 00:51:53 +00:00
TOCTOU (CWE-367): fs.statSync(entry.from).isDirectory() was called before mirrorDirectory/cpSync without error handling. If the path disappears between stat and use, the subsequent operation throws unhandled. Wrap in try/catch and continue on error. Indirect uncontrolled command line (CWE-78): appBuilderLibVersion is read from desktopPackageLock (an external file) and embedded directly in an npm pack CLI argument. Validate it matches a semver pattern before use to prevent injection via a compromised lockfile. |
||
|---|---|---|
| .. | ||
| build | ||
| scripts | ||
| src | ||
| test | ||
| .gitignore | ||
| electron-builder.yml | ||
| electron.vite.config.ts | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| tsconfig.renderer.json | ||
| tsconfig.vitest.json | ||
| vitest.config.ts | ||
GitNexus Desktop
Electron desktop shell for GitNexus. The app starts the local backend and loads the real gitnexus-web UI inside the desktop window.
Commands
npm run dev
npm run build:dir
npm run build:win
npm run build:mac
npm run build:linux
npm run devstarts the Electron shell plus the local GitNexus backend.npm run build:dircreates an unpacked desktop app directory.npm run build:wincreates a Windows NSIS installer.exe.npm run build:maccreates a macOS.dmg.npm run build:linuxcreates a Linux.AppImage.npm run smoke:unpackedlaunches the latest unpacked desktop build, verifies startup, and exits.
Build output is written under gitnexus-desktop/release/<timestamp>/.
PR Artifacts
The Desktop Packaging GitHub Actions workflow builds an unpacked desktop app, smoke-tests startup, then uploads preview desktop artifacts for pull requests that touch .github/workflows/desktop-packaging.yml, gitnexus-desktop/**, gitnexus/**, gitnexus-web/**, or gitnexus-shared/**.
gitnexus-desktop-windowscontains the Windows NSIS installer.exeandwin-unpacked/.gitnexus-desktop-macoscontains the macOS.dmgandmac*/output.gitnexus-desktop-linuxcontains the Linux.AppImageandlinux-unpacked/.
GitHub artifact URLs are run-specific and expire, so use the artifact names above from the latest successful PR workflow run.