# nEngine Editor — desktop distribution via electron-builder (F4, D41 #4/#6). # # Packages the D40 editor itself as a distributable desktop application. This # is the EDITOR's own electron-builder config — nengine-pack (apps/pack, D30/ # D32/D36) stays the GAME packer and is deliberately NOT extended. Output goes # to `dist-app/` (kept separate from the build artifacts in `dist/` so # electron-builder's emptyOutDir can never wipe the tsc/vite outputs). appId: com.nengine.editor productName: nEngine Editor # The package name `@nengine/editor` would produce the unsafe executable name # `@nengineeditor` — AppImage refuses `@` in the internal executable path. executableName: nengine-editor directories: output: dist-app files: # The compiled app: main process (ESM, tsc.main -> dist/main), sandboxed # preload (CJS, tsc.preload -> dist/preload) and the vite renderer bundle # (dist/renderer). `main` in package.json points at dist/main/main.js; the # main process serves dist/renderer over the local loopback HTTP server. - dist/** - package.json # Runtime node_modules (production dependencies) are auto-collected by # electron-builder: @nengine/core / @nengine/mcp / @nengine/pack (workspace # symlinks -> their built dist), @modelcontextprotocol/sdk (used directly by # the embedded MCP server), yaml, zod, and transitively vite (via @nengine/pack # — the package dialog runs the real vite build). @nengine/render stays a # devDependency: the vite-built renderer bundle inlines it and the main process # never imports it at runtime, so pixi.js is not dragged into the packaged app. # electron-builder v26 handles the pnpm workspace symlink layout (verified F4). linux: target: - AppImage category: Development win: target: - nsis nsis: oneClick: true