mirror of
https://github.com/anomalyco/opentui.git
synced 2026-09-19 01:26:03 +08:00
2.1 KiB
2.1 KiB
Development Guide
Prerequisites
Setup
git clone https://github.com/anomalyco/opentui.git
cd opentui
bun install
Building
bun run build
Note: Only needed when changing native Zig code. TypeScript changes don't require rebuilding.
Running Examples
cd packages/core
bun run src/examples/index.ts
Testing
# TypeScript tests
cd packages/core
bun test
# Native tests
bun run test:native
# Filter native tests
bun run test:native -Dtest-filter="test name"
# Benchmarks
bun run bench:native
Local Development Linking
Link your local OpenTUI to another project:
./scripts/link-opentui-dev.sh /path/to/your/project
Options:
--react- Also link@opentui/reactand React dependencies--solid- Also link@opentui/solidand SolidJS dependencies--dist- Link builtdistdirectories instead of source--copy- Copy instead of symlink (requires--dist)--subdeps- Find and link packages that depend on opentui (e.g.,opentui-spinner)
Examples:
# Link core only
./scripts/link-opentui-dev.sh /path/to/your/project
# Link core and solid with subdependency discovery
./scripts/link-opentui-dev.sh /path/to/your/project --solid --subdeps
# Link built artifacts
./scripts/link-opentui-dev.sh /path/to/your/project --react --dist
# Copy for Docker/Windows
./scripts/link-opentui-dev.sh /path/to/your/project --dist --copy
The script automatically links:
- Main packages:
@opentui/core,@opentui/solid,@opentui/react - Peer dependencies:
yoga-layout,solid-js,react,react-dom,react-reconciler - Subdependencies (with
--subdeps): Packages likeopentui-spinnerthat depend on opentui
Requirements: Target project must have node_modules (run bun install first).
Debugging
OpenTUI captures console.log output. Toggle the built-in console with backtick or use Environment Variables for debugging.