Package management
npm-compatible installs with verified downloads, deterministic lockfiles, isolated dependency links, and a content-addressed store.
knot install Native tooling for Node.js projects
Install dependencies, transform TypeScript, and build for Node.js or the browser with a native CLI. Knot does not ship its own JavaScript VM; generated code runs in the runtime you choose.
$ knot install
resolving package graph
verifying integrity
✓ 31 packages linked
$ knot build src/main.ts
✓ dist/main.js written
01 / The premise
Resolve dependencies once, transform source locally, and emit deterministic JavaScript. Node.js or the browser remains responsible for execution.
02 / What exists today
Package management and a compiler subset are available now. Bundling and testing are still in progress.
npm-compatible installs with verified downloads, deterministic lockfiles, isolated dependency links, and a content-addressed store.
knot install Transform a supported TypeScript and JSX subset, follow imports, emit source maps, and leave execution to Node.js or the browser.
knot transpile src/index.ts Complete module graphs, tree-shake reachable code, split chunks, and publish JavaScript, CSS, HTML, and assets atomically.
knot build src/main.ts Coordinate Node.js workers for tests with deterministic sharding, snapshots, coverage, reports, and hard process deadlines.
knot test 03 / Measured, not promised
One combined view of cached installs on the same manifest. Lower is faster; each manager keeps its own lockfile.
Bun was 7.07 ms faster than Knot in this run. All tools used the same package manifest, but each generated its own lockfile and resolved graph.
Read the methodology| Tool | Median | Packages | No-op install |
|---|---|---|---|
| Knot | 46.45 ms | 31 | 19.18 ms |
| Bun | 39.38 ms | 29 | 20.48 ms |
| pnpm | 550.56 ms | 29 | 339.88 ms |
| npm | 915.21 ms | 29 | 288.44 ms |
The fixture manifest was identical for every tool. Each run used warm caches, a separate temporary directory, and five timed installs after deleting node_modules. These measurements do not cover cold caches, first registry resolution, lifecycle scripts, workspaces, or identical lock graphs across tools.
04 / Install
Knot 0.0.1 is published as @matheusbbarni/knot. The published launcher requires Node.js 18 or newer. Use the source build only when you need the latest repository changes.
npm install --global @matheusbbarni/knotbun add --global @matheusbbarni/knotpnpm add --global @matheusbbarni/knot05 / Next features
The dependable core ships first. Broader bundling and test execution follow the same native, deterministic path.
Verified installs, strict package visibility, compiler transforms, graph analysis, and deterministic output.
Broader syntax support, code splitting, CSS and asset handling, atomic production publication, and watch mode.
Native coordination with isolated Node.js workers, assertions, mocks, snapshots, coverage, and reporters.