v0.14.0
Breaking changes 🚨
Config loading
Currently, configuration files are loaded with jiti, which relies on Babel. This approach is relatively slow (at least ~70ms slower compared to native).
In Rslib v0.13.3, we introduced a new CLI option --config-loader native
, which uses Node.js's native loader. This approach offers better performance and stricter behavior, but comes with certain requirements:
- Requires Node v22.18+ with built-in TypeScript support
- Import specifiers must include file extensions
- When using TypeScript,
package.json
must set"type": "module"
- Importing JSON requires
with { type: "json" }
In Rslib v0.14.0, we adjust the default configuration loading behavior. The new default is now --config-loader auto
, which:
- First attempts to use the faster native loader
- If that fails, it gracefully falls back to jiti for broader compatibility
This change to 'auto'
as the default is part of our long-term plan to transition config loading from jiti to Node.js native.
What's Changed
New Features 🎉
- feat!: config loader default to
'auto'
by @Timeless0911 in #1240 - feat(CLI): support
logLevel
by @Timeless0911 in #1238
Bug Fixes 🐞
- fix(docs): use
rp-not-doc
for rsbuild doc badge by @Timeless0911 in #1236
Other Changes
- chore(deps): update dependency ora to v9 by @renovate[bot] in #1230
- chore(deps): update dependency ubuntu to v24 by @Timeless0911 in #1231
- chore(renovate): ignore
jsdom
due to Node.js version limit by @Timeless0911 in #1233 - chore: update tailwind v4 in test cases by @Timeless0911 in #1232
- chore(deps): bump Rsbuild 1.5.9 by @Timeless0911 in #1234
- chore(deps): update all non-major dependencies by @renovate[bot] in #1235
- chore(deps): bump Rsbuild 1.5.11 by @Timeless0911 in #1241
- test: make test logs clear by @Timeless0911 in #1242
- Release v0.14.0 by @Timeless0911 in #1243
Full Changelog: v0.13.3...v0.14.0