User Tools

Site Tools


smalljs

SmallJS

SmallJS ( https://small-js.org )

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.txt · Last modified: 2026/08/12 19:19 by donald