Introduction
Pure is a cloud service that compiles TypeScript and JavaScript source code into self-contained native binaries. You send source; you receive an executable. The binary runs on Linux and macOS without Node, Bun, or any other runtime installed on the target machine.
What you get
Section titled “What you get”- A single binary per compilation (default), or a Node native addon (
.node) if you ask for one. Standalone binaries have no runtime dependencies; addons drop into an existing Node app viarequire(). Choose with thetargetfield on the compile request. - Real-time compile output. Stream log lines from the compiler over a WebSocket connection while the job runs.
- A presigned download URL. When compilation succeeds, you get a time-limited URL pointing to the artifact stored on Pure’s object storage.
- An npm-compatible package registry. Install Pure-compiled packages with
npm install— or publish your own. - Auto-detected install commands. Drop a lockfile in your tarball (
package-lock.json,pnpm-lock.yaml,yarn.lock, orbun.lock) and Pure runs the right install command before compiling. Override with your ownpre_commandwhenever you need something more specific.
How it works
Section titled “How it works”You submit a TypeScript or JavaScript project as a gzipped tarball. Pure extracts it, runs the install command (auto-detected from your lockfile, or whatever you supplied as pre_command), then compiles the entry point. The artifact — a native binary or a .node addon, depending on target — is stored on Pure’s object storage; you download it using the presigned URL in the compile.done message.
Compilation is asynchronous. The WebSocket connection streams progress as it happens — started, log lines, done — so you can display live output without polling.
Audiences
Section titled “Audiences”These docs cover two groups:
- Developers using the CLI —
pure buildis the command. See CLI → Build for flag reference and Quickstart for a working end-to-end walkthrough. - Developers calling the API directly — the compile endpoint is a WebSocket that accepts JSON control messages and binary frames. See Compile API for full protocol documentation.
The package registry has its own section: Package Registry.
What Pure is not
Section titled “What Pure is not”Pure is a SaaS-only service. There is no self-hosted version. Source code submitted via the API is processed on Pure’s infrastructure; see privacy policy for data handling details.
Pure is not a general-purpose cloud runtime. It compiles to native binaries — it does not host or execute those binaries for you.