@devscholar/node-with-window
v0.0.19
Published
lightweight Electron substitute for Node.js/Deno/Bun
Readme
Node with Window
⚠️ Alpha — expect breaking changes.
A cross-platform windowing library for Node.js with an Electron-compatible API. Uses WPF + WebView2 on Windows and GTK 4 + WebKitGTK on Linux.


Install
npm install @devscholar/node-with-windowOn Windows, also download the WebView2 SDK DLLs:
node node_modules/@devscholar/node-with-window/scripts/webview2-install.js installQuick start
Use nww-forge to scaffold a new app:
npx @devscholar/nww-forge init my-app
cd my-app
npm startSee docs/quick-start.md for a step-by-step guide.
Prerequisites
Windows
- Node.js 18+
- PowerShell 5.1
- .NET Framework 4.8
- WebView2 runtime (pre-installed on Windows 11; install from Microsoft on Windows 10)
Linux
- Node.js 18+
- GJS (GNOME JavaScript runtime)
- GTK 4
- WebKitGTK 6.0
These are typically pre-installed on Ubuntu 24.04 LTS / GNOME desktops. If missing:
sudo apt install gjs gir1.2-gtk-4.0 gir1.2-webkit-6.0macOS
Due to the limited energy of the developers, this project does not currently support macOS. If there is a real need, you can submit an issue for feedback. The author of this project cannot afford to buy a MacBook, so he can only accept installing a Hackintosh virtual machine on Windows. Because this project does not require compiling native components and plans to use JXA technology as the backend, Apple's decision to stop releasing new x86 versions of macOS theoretically has no impact on this project.
API
The API mirrors Electron — replace
import ... from 'electron' with import ... from '@devscholar/node-with-window'.
Examples
See node-with-window-examples.
Developing
After making changes to node-with-window itself, rebuild:
cd node-with-window && npm run build