SmallJS ( https://small-js.org )
SmallJS is a Smalltalk-to-JavaScript compiler. Here’s the official way to install it on Windows:
1. Install Prerequisites
Git (needed for Git Bash)
Download and install from:
https://git-scm.com/downloads
Visual Studio Code
Download and install from:
https://code.visualstudio.com/download
Node.js (version 25.x or newer)
Important: Install the latest Current version (not the LTS).
Download from:
https://nodejs.org/en/download
TypeScript (global)
Open a terminal (Command Prompt or PowerShell) and run:
npm install -g typescript
2. Download SmallJS
Go to: https://github.com/Small-JS/SmallJS
Click the green Code button → Download ZIP
Unzip the file to a folder (example: C:\SmallJS)
(Or clone it with Git if you prefer.)
3. Run the Install Script
Open the folder where you unzipped SmallJS.
Right-click on install.sh → Open with → choose Git Bash.
(You can set Git Bash as the default for .sh files.)
The script will:
Check prerequisites
Install the SmallJS VS Code extension
Install required npm packages
4. Build SmallJS
Still in Git Bash (in the SmallJS folder), run:
./build.sh
This compiles the compiler and runs the core tests.
After Installation
Open the project in Visual Studio Code.
You should have Smalltalk syntax highlighting and debugging support.
Here are the best current options (as of 2026):
1. Official Node.js SEA (Single Executable Applications) – Recommended
Node.js has built-in support for creating single executables.
Pros: Official, no third-party tools needed (in recent versions), relatively small size.
Cons: Still evolving; best with CommonJS (or bundled code).
Basic steps:
1. Bundle your app first (recommended)
npx ncc build index.js -o dist
2. Create config
echo '{"main":"dist/index.js","output":"myapp.exe"}' > sea-config.json
3. Build the executable (Node 20+)
node --experimental-sea-config sea-config.json
Newer Node versions (25+) have even simpler --build-sea support.
2. Bun (Easiest & Fastest)
bun build ./index.js --compile --outfile myapp.exe
Very simple and produces a real standalone executable.
3. Other Popular Tools
| Tool | Type | Ease | Notes | Best For |
|-------------------|-------------------|------|------------------------------------|-------------------|
| Bun | Runtime | ★★★★★ | One command | Most projects |
| Node.js SEA | Official | ★★★★ | Built into Node | Pure Node apps |
| pkg (yao-pkg) | Packager | ★★★★ | Mature, supports assets | Complex apps |
| nexe | Packager | ★★★ | Older but still works | Simple scripts |
| Electron | Framework | ★★★ | Full desktop app + GUI | GUI applications |
| NW.js | Framework | ★★★ | Similar to Electron | GUI applications |
Quick Recommendation
Simple script / CLI tool* → Use *Bun** (bun build --compile)
Pure Node.js app* → Use *Node.js SEA**
App with GUI* → Use *Electron** + electron-builder / electron-packager
Maximum compatibility* → Use *pkg**
Would you like a complete step-by-step guide for one of these methods (e.g. Bun or official Node SEA)?