Documentation
EkkoJS
Getting Started
Guides
API Reference
Rune Framework
App Runtimes
CLI Reference
EkkoJS
What is EkkoJS?
EkkoJS is a runtime for JavaScript and TypeScript that makes a clean break from the past. There's no CommonJS, no node_modules, and no URL imports, only modern paradigms: ES modules everywhere, TypeScript that just runs, security that's on by default, and a standard library rich enough to build real applications without reaching for a hundred dependencies.
Why EkkoJS?
- TypeScript runs directly. Point
ekkoat a.tsfile and it runs, no build step, no config, no separate toolchain. - Pure ESM, local-only. Every module is an ES module, and imports always resolve to local files or your declared dependencies. URL imports are a compile-time error, which closes off a whole class of supply-chain risk.
- Secure by default. Programs start with no access to the file system, network, or other capabilities. You grant exactly what's needed with
--allow, nothing leaks in by accident. - Batteries included. Over thirty built-in
ekko:*modules cover the things real apps need: HTTP servers and clients, a SQL database and ORM, authentication, GraphQL, real-time WebSockets, a full-stack web framework, and even desktop and terminal UI toolkits. - Fast. The whole runtime is compiled to native machine code, so startup is quick and throughput is high.
Start here
- Installation, install EkkoJS and run your first program.
- Modules & imports, how
ekko:imports work, with the full list of built-in modules. - Permissions, the security model and how to grant capabilities.
- API reference, every built-in module, with examples.
- The Rune framework, build full-stack web apps with server rendering and file-based routing.
A taste
Define your data model in its own module:
Then import it and build an API around it:
ekko run --allow=net,fs:./app.db server.tsA web server and a typed query builder, no dependencies to install, and user input is parameterized by default so there's no SQL injection to worry about. That's the EkkoJS experience.