Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 21, 2025

This PR contains the following updates:

Package Change Age Confidence
@rslib/core (source) ^0.15.0^0.19.0 age confidence

Release Notes

web-infra-dev/rslib (@​rslib/core)

v0.19.1

Compare Source

What's Changed
Document 📖
Other Changes

Full Changelog: web-infra-dev/rslib@v0.19.0...v0.19.1

v0.19.0

Compare Source

Highlights 💡
New JavaScript API

This release introduces a new, comprehensive JavaScript API for Rslib.

[!CAUTION]
This is a Breaking Change. The previously exposed informal API has been removed. You can switch to the new JavaScript API and refer to the docs below to re-integrate.

See the API docs for details:

Usage
  1. Install Rslib: install the @rslib/core package:
npm add @​rslib/core -D
  1. Create an Rslib instance: call the createRslib method to create an Rslib instance:
import { createRslib } from '@​rslib/core';

const rslib = await createRslib();
  1. Call Rslib instance methods: use the rslib.build method which will build production outputs:
await rslib.build();
Advanced ESM Output

In previous versions, Rslib integrated Rspack's EsmLibraryPlugin through an experimental configuration of experiments.advancedEsm, aiming to optimize the quality of ESM outputs. Now, we are pleased to announce that this plugin has been stabilized.

In this release, the EsmLibraryPlugin is enabled by default by setting experiments.advancedEsm to true in bundle mode. Developers can directly obtain ESM output that is high-quality, more friendly to static analysis, and supports code splitting without any additional configuration.

Better Rstest Integration

Rslib now supports seamless integration with Rstest.

By using the official @​rstest/adapter-rslib, you can directly reuse your Rslib build configurations (such as resolve.alias and source.define) within Rstest. This enables zero-config testing for Rslib projects, ensuring your test environment perfectly mirrors your build environment while eliminating the overhead of maintaining duplicate configurations.

// rstest.config.ts
import { defineConfig } from '@​rstest/core';
import { withRslibConfig } from '@​rstest/adapter-rslib';

export default defineConfig({
  extends: withRslibConfig({}),
  // Additional Rstest-specific configurations
  // ...
});

More details: https://rstest.rs/guide/integration/rslib

What's Changed
New Features 🎉
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.6...v0.19.0

v0.18.6

Compare Source

What's Changed
New Features 🎉
Bug Fixes 🐞
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.5...v0.18.6

v0.18.5

Compare Source

What's Changed
Document 📖
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.4...v0.18.5

v0.18.4

Compare Source

What's Changed

New Features 🎉
Bug Fixes 🐞
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.3...v0.18.4

v0.18.3

Compare Source

What's Changed

New Features 🎉
Bug Fixes 🐞
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.2...v0.18.3

v0.18.2

Compare Source

What's Changed

New Features 🎉
Bug Fixes 🐞
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.1...v0.18.2

v0.18.1

Compare Source

What's Changed

Bug Fixes 🐞
Document 📖
Other Changes

Full Changelog: web-infra-dev/rslib@v0.18.0...v0.18.1

v0.18.0

Compare Source

Highlights 💡
Enable persistent build cache by default

Rslib enables Rspack's persistent build cache by default, allowing it to reuse the cached results instead of rebuilding from scratch, which can significantly reduce build time for large projects.

// rslib.config.ts
export default {
  performance: {
    buildCache: true,
  },
};

More details:

What's Changed
New Features 🎉
Document 📖
Other Changes

Full Changelog: web-infra-dev/rslib@v0.17.2...v0.18.0

v0.17.2

Compare Source

What's Changed

New Features 🎉
Bug Fixes 🐞
Document 📖
Other Changes

Full Changelog: web-infra-dev/rslib@v0.17.1...v0.17.2

v0.17.1

Compare Source

What's Changed

New Features 🎉
Bug Fixes 🐞
Other Changes

Full Changelog: web-infra-dev/rslib@v0.17.0...v0.17.1

v0.17.0

Compare Source

Highlights 💡

Improved ESM output

Optimizing ESM output has long been one of the key challenges faced by Rspack. Previously, we relied on module concatenation to optimize ESM outputs, but that approach had several limitations:

  • Impure output – The generated files contained Rspack's runtime code.
  • Prone to errors – Some modules could not be correctly concatenated, leading to unexpected runtime issues.
  • Limited code-splitting support – Split bundles became complex and difficult to analyze or optimize statically.

To address these issues once and for all, we introduced an experimental plugin called EsmLibraryPlugin, purpose-built for constructing clean and efficient ESM libraries:

  • Full control over the bundling process – All modules are linked during compilation, eliminating reliance on Rspack's runtime.
  • Code-splitting support – Code after splitting can be statically analyzed and is tree-shaking friendly.

The image below compares the code splitting output before and after using this plugin — the left side shows the previous output, while the right side shows the cleaner output produced by EsmLibraryPlugin:

Rspack 1.6 ESM output diff

In Rslib, the EsmLibraryPlugin is now integrated out-of-the-box with experiments.advancedEsm enabled to generate ESM output that is high-quality, more friendly to static analysis, and supports code splitting.

export default {
  lib: [
    {
      format: 'esm',
      bundle: true,
      experiments: {
        advancedEsm: true,
      },
    },
  ],
};

[!TIP]
Currently this option only takes effect in bundle mode when format is 'esm'.

What's Changed

New Features 🎉
  • feat: introduce experiments.advancedEsm with Rspack's EsmLibraryPlugin by @​JSerFeng in #​1273
Other Changes

New Contributors

Full Changelog: web-infra-dev/rslib@v0.16.1...v0.17.0

v0.16.1

Compare Source

What's Changed

Bug Fixes 🐞
Other Changes

Full Changelog: web-infra-dev/rslib@v0.16.0...v0.16.1

v0.16.0

Compare Source

Highlights 💡

Additional build CLI options

The Rslib build command now supports additional CLI options that take precedence over configuration file settings, and can even be used without any configuration file entirely.

For example: rslib build --entry index.ts --minify --tsconfig tsconfig.build.json.

Usage:
  $ rslib build

Options:
  -w, --watch            turn on watch mode, watch for changes and rebuild
  --entry <entry>        set entry file or pattern (repeatable)
  --dist-path <dir>      set output directory
  --bundle               enable bundle mode (use --no-bundle to disable)
  --format <format>      specify the output format (esm | cjs | umd | mf | iife)
  --syntax <syntax>      set build syntax target (repeatable)
  --target <target>      set runtime target (web | node)
  --dts                  emit declaration files (use --no-dts to disable)
  --externals <pkg>      add package to externals (repeatable)
  --minify               minify output (use --no-minify to disable)
  --clean                clean output directory before build (use --no-clean to disable)
  --auto-extension       control automatic extension redirect (use --no-auto-extension to disable)
  --auto-external        control automatic dependency externalization (use --no-auto-external to disable)
  --tsconfig <path>      use specific tsconfig (relative to project root)

What's Changed

New Features 🎉
Bug Fixes 🐞
Document 📖
Other Changes

Full Changelog: web-infra-dev/rslib@v0.15.1...v0.16.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch from 460011e to 7664a94 Compare October 23, 2025 09:36
@renovate renovate bot changed the title chore(deps): update dependency @rslib/core to ^0.16.0 chore(deps): update dependency @rslib/core to ^0.17.0 Oct 30, 2025
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch 2 times, most recently from f328ec5 to 22d55b1 Compare November 5, 2025 15:54
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch 2 times, most recently from 83d0f72 to 6a208f2 Compare November 13, 2025 23:55
@renovate renovate bot changed the title chore(deps): update dependency @rslib/core to ^0.17.0 chore(deps): update dependency @rslib/core to ^0.18.0 Nov 17, 2025
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch 2 times, most recently from af78013 to cafa402 Compare November 24, 2025 08:55
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch from cafa402 to 478bd09 Compare November 25, 2025 15:12
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch 2 times, most recently from feb5aa5 to e675172 Compare December 9, 2025 15:01
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch 2 times, most recently from c76b73a to a5d13ef Compare December 18, 2025 14:04
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch 2 times, most recently from 35ccbd5 to 18a077b Compare December 29, 2025 08:34
@renovate renovate bot changed the title chore(deps): update dependency @rslib/core to ^0.18.0 chore(deps): update dependency @rslib/core to ^0.19.0 Dec 29, 2025
@renovate renovate bot force-pushed the renovate/rslib-core-0.x branch from 18a077b to 921c40e Compare December 31, 2025 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant