Changelog¶
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
[Unreleased]¶
[0.1.0] - 2026-03-12¶
Added¶
- Core TypeScript compilation with oxc-bazel (Rust-based, per-file transform)
- Type-checking with tsgo (Go port of TypeScript) as Bazel validation action
- Isolated declarations support (.d.ts compilation boundary for incremental builds)
- npm dependency management via pnpm-lock.yaml parser (v6 and v9 formats)
- Multiple npm package version support with semver-correct alias resolution
- npm bin script generation (
@npm//:vitest_bin,@npm//:esbuild_bin, etc.) - Conditional exports (
package.json"exports"field) resolution - pnpm workspace support (
workspace:*protocol) - Dependency cycle detection and breaking (Kosaraju's SCC algorithm)
- Gazelle extension for BUILD file auto-generation
- Gazelle every-dir default (every directory with .ts files is a package)
- Gazelle directives:
ts_package_boundary,ts_isolated_declarations,ts_path_alias,ts_runtime_dep,ts_exclude,ts_warn_unresolved,ts_codegen - Gazelle auto-detection of TanStack Router, Prisma, GraphQL codegen, OpenAPI generators
- Gazelle reads
tsconfig.jsoncompilerOptions.pathsautomatically ts_testwith vitest (auto node_modules from deps, DOM testing, coverage, snapshots, custom config, environment selection)ts_binary(runnable, entry_file convention, index.js default)ts_bundlewith real Vite integration (ESM/CJS, tree-shaking, minification, chunk splitting, source maps, app mode, env_vars)ts_dev_serverwith ibazel HMR support and React Fast Refresh- Vite plugin injection via
vite_configattr (unlocks Remix, SvelteKit, TanStack Start) ts_codegenrule for code generation (TanStack routes, Prisma, GraphQL, OpenAPI, custom)css_library,css_module(typed .d.ts from regex extraction),asset_library,json_library(fully typed .d.ts)ts_lintrule (ESLint/oxlint as validation action)ts_npm_publishrule (tarball with auto-filled main/types/exports)- ESLint plugin for isolated declarations migration (
require-explicit-typesrule, 31 test cases) ts_compile_legacymacro for gradual isolated declarations adoptionvite_typesattr onts_compileforimport.meta.envand asset URL typespath_aliasesattr onts_compilefor tsgo type-checking with path aliases- JS runtime toolchain (Node.js via rules_nodejs, pluggable for Deno/Bun/workerd)
- ARM toolchain_utils (v1.3.0) integration for resolved toolchain targets
- Linux ARM64 platform support (oxc built from source, tsgo from npm)
- Windows Node.js toolchain registered (node_modules action cross-platform)
- IDE support via
bazel run //:refresh_tsconfig(generates tsconfig.json with paths) - GitHub Actions CI workflow
- Bootstrap integration tests (8 tests covering full user journeys)
- Examples: basic, app (zod), react-app (React + testing-library), tanstack-app (TanStack Router SPA)
- BCR presubmit configuration
- Release automation scripts