Skip to content

Add Bun/Deno adapters, integration tests, AI docs, and CI - #11

Merged
chris-pardy merged 4 commits into
mainfrom
finishing-touches
Feb 16, 2026
Merged

Add Bun/Deno adapters, integration tests, AI docs, and CI#11
chris-pardy merged 4 commits into
mainfrom
finishing-touches

Conversation

@chris-pardy

Copy link
Copy Markdown
Owner

Summary

  • Bun adapter (packages/bun) — imports hooks from bun:test, builds with --external bun:test for tsup/esbuild compatibility
  • Deno adapter (packages/deno) — uses @std/testing/bdd via JSR, npm:@given3/core for core dependency, published via deno publish
  • Integration tests for all 6 adapters — each test covers basic lazy values, caching, dependency tracking, refinement in nested describes, and cleanup (10 tests per adapter, 60 total)
  • AI-ready documentationllms.txt (concise overview), llms-full.txt (comprehensive reference), agents.md (contributor guide for AI agents)
  • GitHub Actions improvements — PR workflow now runs typecheck, lint, and tests; deploy workflow configured for npm + JSR publishing with Bun and Deno setup steps
  • README updated with Bun and Deno installation instructions

Test plan

  • pnpm build succeeds for all packages (including Bun with externalized bun:test)
  • pnpm turbo test passes all 9 test tasks (core: 26 tests, 5 adapters: 10 each, examples: 8)
  • Jest tests work with --experimental-vm-modules for ESM support
  • Mocha tests work with --node-option experimental-transform-types
  • Node tests work with --experimental-transform-types and .mts imports
  • Bun tests run natively via bun test
  • Deno tests run via deno task test (requires Deno runtime)
  • GitHub Actions workflows are syntactically valid

🤖 Generated with Claude Code

chris-pardy-newfire and others added 4 commits February 16, 2026 12:50
- Add Bun adapter (packages/bun) importing hooks from bun:test
- Add Deno adapter (packages/deno) using @std/testing/bdd via JSR
- Add comprehensive integration tests for all 6 adapters covering
  lazy values, caching, dependency tracking, refinement, and cleanup
- Add AI-ready documentation: llms.txt, llms-full.txt, agents.md
- Update GitHub Actions: add typecheck/lint/test to PR workflow,
  configure deploy workflow for npm + JSR publishing
- Add publish scripts to all npm packages
- Update README with Bun and Deno installation instructions
- Fix Jest ESM config and .nvmrc trailing whitespace

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests using .mts imports require --experimental-transform-types at
runtime but tsc rejects them without allowImportingTsExtensions.
Exclude test directories from typecheck since tests are validated
by their native runners.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests use .mts imports for --experimental-transform-types runtime
compatibility. Enable allowImportingTsExtensions so tsc and eslint
accept these imports (noEmit is already set via root tsconfig).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add build.ts that copies core source files into _core/, renaming
.mts to .ts and rewriting internal imports for Deno compatibility.
This eliminates the npm:@given3/core dependency so the Deno adapter
is self-contained for both local development and JSR publishing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@chris-pardy
chris-pardy merged commit 5ab84c3 into main Feb 16, 2026
1 check passed
@chris-pardy
chris-pardy deleted the finishing-touches branch February 16, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants