Migration to esbuild Build System, Streamlined Type Exports, and CI Workflow Updates
This release centers on transitioning the project build system from Vite to esbuild. The primary focus is on modernization, improving maintainability, and clarifying package outputs and exports for consumers. The CI workflows and documentation build process have been updated for greater modularity and reliability.
Build System Migration
- Replaced Vite and related plugins with a custom
build.mjsscript utilizing esbuild for ESM output and automated TypeScript declaration generation. - Removed all references to Vite (
vite.config.ts, related dependencies, Vite-specific scripts) and SWC frompackage.json. - Updated project entry point in
package.jsonto provide ESM output only, removing CommonJS entry and clarifying the exports field. - Improved
.npmignoreto exclude documentation, examples, source code, and build scripts from npm packages.
TypeScript and Exports Improvements
- Enhanced TypeScript configuration (
tsconfig.json) for stricter output management, specifyingrootDirassrcand restricting output to thedistdirectory. - Updated
src/api.tsandsrc/index.tsto more clearly export option types, improving external type discovery and import consistency.
Testing and CI Updates
- Introduced
vitest.config.tsto replace Vite-based testing configuration with a dedicated Vitest setup, decoupling tests from the former build tool. - Modularized the documentation build logic into a reusable GitHub Actions composite action (
.github/actions/build-docs), applied across documentation deployment and test workflows. This change improves maintainability and consistency in documentation builds. - Updated CI workflows to use the new documentation build action and removed redundant or Vite-dependent build steps.
Dependency Updates
- Bumped
@fjell/loggingdependency to version 4.4.18. - Updated
esbuilddevDependency to 0.25.8.
Notable Impact and Migration Notes
- Builds now use esbuild directly; there is no longer a CommonJS output or Vite-based development server. Consumers should import from the ESM entry point.
- All testing and documentation pipelines are unaffected in semantics but benefit from simplified and more modular configurations.
- Refer to the migration guide or repository documentation for adapting any custom workflows or development practices previously dependent on Vite.