smalljs
This is an old revision of the document!
SmallJS
SmallJS ( https://small-js.org )
Installing
How to Install SmallJS on Windows
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.
==== Compile JavaScript into a standalone .exe file on Windows. ====
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)?
smalljs.1786562279.txt.gz · Last modified: 2026/08/12 19:17 by donald
