Skip to content

Boundra v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 10:02
· 33 commits to main since this release
7dacef8

Boundra v0.2.0

Release Summary

Boundra v0.2.0 is a public preview focused on treating framework-specific workspace layouts and the real domain dependency graph as part of the same architecture contract. Boundary rules now behave consistently across custom paths such as SvelteKit projects, while Boundra also catches drift between cross-domain imports in source code and dependsOn declarations in domain manifests.

Highlights

  • Applies paths.apps, paths.domains, and paths.packages consistently across boundary decisions.
  • Includes .svelte files in the default scan and re-runs boundary diagnostics on Vite source updates.
  • Resolves relative-path tsconfig extends chains, JSONC, baseUrl, and child alias overrides.
  • Adds BR-006 to block cross-domain public API imports that are not declared in the source domain manifest.
  • Rejects cyclic domain dependencies during project loading and add-dependency.

Installation

Install or update on Node.js 20 or later:

pnpm add boundra@0.2.0 zod
pnpm exec boundra check-boundaries

Native archives and Rust source installation are also supported:

cargo install --git https://github.com/qtaghdi/boundra --tag v0.2.0 boundra-cli

Breaking Changes

  • A source domain importing another domain's public API must declare the target domain in dependsOn. Missing declarations now produce BR-006.
  • Cyclic dependsOn graphs are treated as project configuration errors and the CLI exits with code 2.

Existing cross-domain imports can be declared explicitly with:

pnpm exec boundra add-dependency <source-domain>/<target-domain>

Known Limitations

  • Boundra does not yet resolve package-name-based tsconfig extends; those remain owned by the TypeScript toolchain. Only relative-path extends are supported.
  • The Vite integration still performs a full boundary scan on each source update and does not yet use an incremental cache.
  • On first npm CLI execution without a cache, GitHub Release access and Unix tar or Windows PowerShell are required.

Verification

  • 74 Rust workspace tests
  • TypeScript type checking and runtime contract tests
  • Svelte Vite hot-update integration tests
  • configured framework-path and extended-tsconfig fixtures
  • BR-001 through BR-006 and dependency-cycle regression tests
  • packed npm runtime and native CLI clean-room verification
  • Linux x64, macOS x64/arm64, and Windows x64 release build workflow