Releases: web-infra-dev/rslib
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
v0.13.3
What's Changed
New Features 🎉
- feat(CLI): add
--config-loader
option by @chenjiahan in #1225
Performance 🚀
- perf(plugin-dts): require typescript to improve startup performance by @chenjiahan in #1224
Bug Fixes 🐞
Other Changes
- chore: fix critical and high Dependabot alerts by @fi3ework in #1219
- chore: add AGENTS.md by @fi3ework in #1221
- chore(deps): update all non-major dependencies by @renovate[bot] in #1222
- chore(build): prebundle tinyglobby to reduce deps count by @Timeless0911 in #1226
- chore(build): prebundle deps in
rsbuild-plugin-dts
by @Timeless0911 in #1227 - Release v0.13.3 by @Timeless0911 in #1228
Full Changelog: v0.13.2...v0.13.3
v0.13.2
v0.13.1
What's Changed
Bug Fixes 🐞
- fix(dts): tsgo bin path should begin with file protocol in windows by @Timeless0911 in #1211
Document 📖
- docs: add hint for whether to enable
dts.build
by @Timeless0911 in #1212
Other Changes
- chore: bump Rslib and enable tsgo in local by @Timeless0911 in #1210
- chore(deps): bump Rsbuild 1.5.5 by @Timeless0911 in #1213
- chore(deps): update all non-major dependencies by @renovate[bot] in #1214
- chore(workflow): remove experimental typescript setting by @Timeless0911 in #1215
- Release v0.13.1 by @Timeless0911 in #1216
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Highlights 💡
Faster declaration generation with tsgo
Rslib now can generate declaration files with tsgo, which can provide faster generation of declaration files, especially for large projects.
Tip
This feature is currently an experimental feature. Since tsgo is still in the experimental stage, there may be some bugs and unresolved issues or limitations. So, make sure to fully test it in your project before enabling this option.
export default {
lib: [
{
dts: {
tsgo: true,
},
},
],
};
What's Changed
New Features 🎉
- feat(dts): support
dts.tsgo
by @Timeless0911 in #1205
Document 📖
Other Changes
- test: use Rstest
projects
by @9aoy in #1201 - chore(deps): update all non-major dependencies by @renovate[bot] in #1203
- chore(deps): update actions/setup-node action to v5 by @renovate[bot] in #1208
- chore(deps): update all non-major dependencies by @renovate[bot] in #1207
- Release v0.13.0 by @Timeless0911 in #1209
Full Changelog: v0.12.4...v0.13.0
v0.12.4
What's Changed
New Features 🎉
- feat: only split async chunks for umd format by @Timeless0911 in #1194
Bug Fixes 🐞
- fix: correct ESM interop by @fi3ework in #1193
- fix: should glob dot files in bundleless mode by @Karibash in #1196
- fix: should add index main file when
redirect.js.path
set tofalse
by @Timeless0911 in #1198
Other Changes
- chore(dts): enhance error logs for dts mainEntryPointFilePath not found by @Timeless0911 in #1197
- chore(deps): update all non-major dependencies by @renovate[bot] in #1199
- Release v0.12.4 by @Timeless0911 in #1200
New Contributors
Full Changelog: v0.12.3...v0.12.4
v0.12.3
What's Changed
New Features 🎉
- feat: do not print detailed file size in bundleless mode by @Timeless0911 in #1191
Bug Fixes 🐞
- fix(css): prevent adding empty css rule by @Timeless0911 in #1182
- fix(dts): should redirect extension if filename contains dots by @Timeless0911 in #1189
Other Changes
- chore(deps): bump Rsbuild 1.5.0-rc.0 by @Timeless0911 in #1183
- chore(deps): update all non-major dependencies by @renovate[bot] in #1186
- chore(dts): use
color.dim
to print environment name by @Timeless0911 in #1187 - chore(deps): bump Rsbuild 1.5.0 by @Timeless0911 in #1190
- test: add more APIPlugin interception by @fi3ework in #1184
- Release v0.12.3 by @Timeless0911 in #1192
Full Changelog: v0.12.2...v0.12.3
v0.12.2
What's Changed
New Features 🎉
- feat(dts): support emitting
.d.cts.map
and.d.mts.map
files by @Timeless0911 in #1176
Document 📖
- docs: code splitting doc links by @Timeless0911 in #1175
- docs: remove unnecessary paragraphs in modernjs-module migration docs by @Timeless0911 in #1177
- docs: fix various documentation errors: grammar, spelling, and formatting issues by @Copilot in #1179
Other Changes
- chore(deps): update all non-major dependencies by @renovate[bot] in #1172
- chore(deps): bump Rsbuild 1.5.0-beta.4 by @Timeless0911 in #1178
- Release v0.12.2 by @Timeless0911 in #1180
New Contributors
- @Copilot made their first contribution in #1179
Full Changelog: v0.12.1...v0.12.2
v0.12.1
What's Changed
New Features 🎉
Other Changes
- chore(deps): bump Rslib v0.12 by @Timeless0911 in #1165
- chore(deps): bump Rsbuild 1.5.0-beta.3 by @Timeless0911 in #1169
- Release v0.12.1 by @Timeless0911 in #1170
Full Changelog: v0.12.0...v0.12.1
v0.12.0
Highlights 💡
Drop support for Node 16
Node.js 16 reached its end-of-life on September 11, 2023. Many other npm packages in the ecosystem have also dropped support for Node 16, including webpack-dev-server
, css-loader
, sass-loader
, and so on, which makes maintaining compatibility increasingly challenging. Therefore, we have decided to drop Node 16 support starting from Rslib v0.12 to ensure better compatibility with the modern ecosystem.
Package | v0.11 | v0.12 |
---|---|---|
@rslib/core | >=16.7.0 | >=18.12.0 |
Rslib v0.11 based on Rsbuild/Rspack v1.4 and Rslib v0.12 based on Rsbuild/Rspack v1.5:
Package | v1.4 | v1.5 |
---|---|---|
@rspack/core | >=16.0.0 | >=18.12.0 |
@rsbuild/core | >=16.10.0 | >=18.12.0 |
⚠️ This is a breaking change for users still running Node.js 16. Users will need to upgrade to Node.js 18.12.0 or later to use Rslib v0.12.
For users currently using Node.js 16:
- Upgrade to Node.js 18.12.0 or later (Node.js 22 LTS is recommended)
- Update your CI/CD pipelines to use the new Node.js version
What's Changed
New Features 🎉
- feat!: update minimum Node.js version to 18.12.0 by @Timeless0911 in #1159
- feat: update tsconfig.json and build configs to ES2022 by @Timeless0911 in #1160
Bug Fixes 🐞
- fix: only force split async chunks when format is esm or cjs by @Timeless0911 in #1152
- fix(dts): should keep watch if bundle dts failed by @Timeless0911 in #1156
- fix(nx): correct input config files by @Timeless0911 in #1163
Document 📖
- docs: add version badges to Rstack tools table by @chenjiahan in #1153
Other Changes
- chore: integrate Rslint for type-aware linting by @fi3ework in #1151
- test: replace npx with a faster helper by @Timeless0911 in #1154
- chore(deps): update all non-major dependencies by @renovate[bot] in #1155
- test: use
expect.poll
to avoid flaky watching file changes test cases by @Timeless0911 in #1157 - chore(deps): bump Rsbuild 1.5.0-beta.0 by @Timeless0911 in #1158
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #1161
- chore: update Node.js to v24.5.0 in
.nvmrc
for development by @Timeless0911 in #1162 - Release v0.12.0 by @Timeless0911 in #1164
Full Changelog: v0.11.2...v0.12.0