cloudaxe-opencode/packages/opencode
Kit Langton 5bc6a7f6d0 test(cli): opt-in pre-built binary for ~3x faster subprocess spawns
\`bun run --conditions=browser src/index.ts\` pays ~15s of JIT + plugin
init + DB migration per subprocess spawn in isolation mode. A pre-built
binary cuts that to ~5s — most of which is now the SQLite \`:memory:\`
migration that runs regardless of execution mode.

Adds \`script/prebuild-test-cli.ts\` which wraps the existing build.ts
with \`--single --skip-embed-web-ui --skip-install\`, then symlinks the
platform-specific output to \`dist/test-cli/bin/opencode\` so the
harness has a stable path.

The harness (test/lib/cli-process.ts) reads OPENCODE_TEST_CLI_PATH and
spawns the binary directly when set; falls back to dev mode otherwise.
Strictly opt-in — default behavior, CI, and local iteration are
unchanged. Anyone who wants the speedup runs:

  bun script/prebuild-test-cli.ts
  export OPENCODE_TEST_CLI_PATH="\$PWD/dist/test-cli/bin/opencode"
  bun test test/cli/

Measured locally:
  Dev mode (default):  29.9s  (331 tests)
  Binary mode:         22.1s  (-26%, after one-time 2.8s build)

The win compounds as more subprocess tests are added — every new test
that hits DB migration saves ~10s vs dev mode.
2026-05-19 11:36:15 -04:00
..
bin fix(cli): forward signals from npm shim (#26259) 2026-05-08 14:00:51 -05:00
migration chore: generate 2026-05-12 05:20:22 +00:00
script test(cli): opt-in pre-built binary for ~3x faster subprocess spawns 2026-05-19 11:36:15 -04:00
specs use keymap state for layer visibility (#26246) 2026-05-19 17:07:26 +02:00
src chore: generate 2026-05-19 15:11:40 +00:00
test test(cli): opt-in pre-built binary for ~3x faster subprocess spawns 2026-05-19 11:36:15 -04:00
.gitignore Load models.dev snapshot from build global (#28077) 2026-05-17 21:59:44 -04:00
AGENTS.md refactor(instance): remove legacy runtime fallback (#27757) 2026-05-15 23:05:44 +05:30
BUN_SHELL_MIGRATION_PLAN.md
bunfig.toml
Dockerfile
drizzle.config.ts
git
package.json sync release versions for v1.15.5 2026-05-18 20:57:13 +00:00
parsers-config.ts feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda (#28198) 2026-05-18 13:08:08 -04:00
README.md
sst-env.d.ts
tsconfig.json core: remove @effect/language-service plugin and optimize hot path type performance 2026-04-30 23:21:05 -04:00

js

To install dependencies:

bun install

To run:

bun run index.ts

This project was created using bun init in bun v1.2.12. Bun is a fast all-in-one JavaScript runtime.