Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
79287ed
add mise.toml with zig & bun
justjake Apr 9, 2026
aa21f28
add node version
justjake Apr 9, 2026
04d8dab
bun shim
justjake Apr 9, 2026
cfb51d9
improve compat
justjake Apr 9, 2026
02e5703
improve node compat using .js/.d.ts
justjake Apr 9, 2026
4343848
parse.keypress -> parse.keypress.js (always use .js for import)
justjake Apr 9, 2026
3ed3fca
import.meta.dir -> import.meta.dirname (node compat)
justjake Apr 9, 2026
94b6651
vitest config
justjake Apr 9, 2026
f0b8989
add test:nodejs to test script
justjake Apr 9, 2026
462b2b6
improve ffi compat
justjake Apr 9, 2026
833d981
fix circular import under nodejs
justjake Apr 9, 2026
5afa771
remove double .. in foo.test.ts.nodejs..snap
justjake Apr 9, 2026
77c586d
NodeBun.spawnSync
justjake Apr 9, 2026
9adca2b
shim Worker
justjake Apr 9, 2026
dec884f
type: wasm -> returns path to wasm file
justjake Apr 9, 2026
7c5ce55
fix stripANSI and stringWidth
justjake Apr 9, 2026
4abe3a8
fix test -> use extension
justjake Apr 9, 2026
134b091
inject compat into subprocess execSync
justjake Apr 9, 2026
7f74456
Improve pointer bi-directional mapping in callbacks etc
justjake Apr 9, 2026
510b8b8
improve test compat
justjake Apr 9, 2026
1a1189c
renderable.test: async import instead of require
justjake Apr 9, 2026
508de9b
skip testing bun-only plugin under node
justjake Apr 9, 2026
bf4bcd3
fix type: file to return abs path, not url
justjake Apr 9, 2026
d9dc389
work around difference in toEqual w/ array + properties
justjake Apr 9, 2026
236af0b
fix const enum using node built in ts transform
justjake Apr 9, 2026
0e4b492
try out some examples
justjake Apr 9, 2026
19226bd
replace Bun.serve w/ node createServer
justjake Apr 9, 2026
1762f66
fix test failure under vitest if describe has no tests
justjake Apr 9, 2026
d85a814
Fix FFI difference w/ empty ArrayBuffer
justjake Apr 9, 2026
321502e
Fix Worker shim to throw error async
justjake Apr 9, 2026
d2f45ad
SPOOKY: potentially double-render if Yoga layout dirtied by onSizeCha…
justjake Apr 9, 2026
6c69fd6
check in nodejs snapshots
justjake Apr 9, 2026
93f2d25
remove wordaround for bug in nodejs type:file shim
justjake Apr 9, 2026
b880fad
clean up dep incongruity
justjake Apr 9, 2026
e954987
remove rando env var
justjake Apr 9, 2026
29d8a21
plan
justjake Apr 9, 2026
4be74ec
replace runtime bun shims w/ static shims
justjake Apr 10, 2026
9d5c9f2
move bun-ffi-structs fork into nodejs/
justjake Apr 10, 2026
8337e31
remove type variance
justjake Apr 10, 2026
047a00d
improve chances an example works w/ registerBun
justjake Apr 10, 2026
b1b4323
react, solid tests
justjake Apr 10, 2026
ba1925d
fix build error
justjake Apr 10, 2026
2a3a68f
changes in react to make it work under node
justjake Apr 10, 2026
d964bde
test build articats: dist-test
justjake Apr 10, 2026
dd9d451
fix dist-test installing >1 copy of transitive deps
justjake Apr 10, 2026
07b5a71
ci
justjake Apr 10, 2026
d9b7cde
oxfmt
justjake Apr 10, 2026
8767e9f
vitest: await expect(...).rejects.toThrow()
justjake Apr 10, 2026
a2dd388
fix nodejs Worker confusing windows absolute paths for URLs
justjake Apr 10, 2026
0058f6d
Improve external plugin path normalization for node/windows
justjake Apr 10, 2026
37d4bf9
oops
justjake Apr 10, 2026
1e77a62
fmt
justjake Apr 10, 2026
d8c58b6
make rgbaUnpackTransform toArrayBuffer safe
justjake Apr 11, 2026
84daecc
zero copy ffi w/ unsafe-pointers (built for this purpose)
justjake Apr 11, 2026
c7ebd25
path exclude better i guess
justjake Apr 11, 2026
f38ba19
fmt
justjake Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 22 additions & 6 deletions .github/workflows/build-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
branches: [main]

env:
NODE_VERSION: 22
ZIG_VERSION: 0.15.2
# Workaround for bug in Zig 0.15.2 (fixed in next version)
# https://github.com/ziglang/zig/issues/25805
Expand Down Expand Up @@ -69,6 +70,11 @@ jobs:
with:
bun-version: latest

- name: Setup Node.js
uses: actions/setup-node@v6.3.0
with:
node-version: ${{ env.NODE_VERSION }}

- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
Expand All @@ -89,20 +95,30 @@ jobs:
ls -la packages/core/node_modules/@opentui/
ls -la packages/core/node_modules/@opentui/core-${{ matrix.platform }}/

- name: Build TypeScript library
run: |
cd packages/core
bun run build:lib

- name: Run native tests
run: |
cd packages/core/src/zig
zig build test --summary all
cd packages/core
bun run test:native

- name: Build TypeScript library
- name: Run Bun tests
run: |
cd packages/core
bun run build:lib
bun run test:bun

- name: Run Node.js tests
run: |
cd packages/core
bun run test:nodejs

- name: Run TypeScript tests
- name: Run dist tests
run: |
cd packages/core
bun run test:js
bun run test:dist

# Gate job for branch protection
build-complete:
Expand Down
20 changes: 18 additions & 2 deletions .github/workflows/build-react.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
branches: [main]

env:
NODE_VERSION: 22
# Workaround for bug in Zig 0.15.2 (fixed in next version)
# https://github.com/ziglang/zig/issues/25805
ZIG_GLOBAL_CACHE_DIR: ${{ github.workspace }}/.zig-global-cache
Expand All @@ -29,6 +30,11 @@ jobs:
with:
bun-version: latest

- name: Setup Node.js
uses: actions/setup-node@v6.3.0
with:
node-version: ${{ env.NODE_VERSION }}

- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
Expand All @@ -47,10 +53,20 @@ jobs:
cd packages/react
bun run build --ci

- name: Run tests
- name: Run Bun tests
run: |
cd packages/react
bun run test:bun

- name: Run Node.js tests
run: |
cd packages/react
bun run test:nodejs

- name: Run dist tests
run: |
cd packages/react
bun run test
bun run test:dist

# Gate job for branch protection
build-complete:
Expand Down
20 changes: 18 additions & 2 deletions .github/workflows/build-solid.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
branches: [main]

env:
NODE_VERSION: 22
# Workaround for bug in Zig 0.15.2 (fixed in next version)
# https://github.com/ziglang/zig/issues/25805
ZIG_GLOBAL_CACHE_DIR: ${{ github.workspace }}/.zig-global-cache
Expand All @@ -29,6 +30,11 @@ jobs:
with:
bun-version: latest

- name: Setup Node.js
uses: actions/setup-node@v6.3.0
with:
node-version: ${{ env.NODE_VERSION }}

- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
Expand All @@ -47,10 +53,20 @@ jobs:
cd packages/solid
bun run build --ci

- name: Run tests
- name: Run Bun tests
run: |
cd packages/solid
bun run test:bun

- name: Run Node.js tests
run: |
cd packages/solid
bun run test:nodejs

- name: Run dist tests
run: |
cd packages/solid
bun run test
bun run test:dist

# Gate job for branch protection
build-complete:
Expand Down
Loading