Skip to content

WIP: chore: validate rspack version with manifest#4887

Open
2heal1 wants to merge 1 commit into
mainfrom
feat/limit-rspack-version-manifest
Open

WIP: chore: validate rspack version with manifest#4887
2heal1 wants to merge 1 commit into
mainfrom
feat/limit-rspack-version-manifest

Conversation

@2heal1

@2heal1 2heal1 commented Jul 12, 2026

Copy link
Copy Markdown
Member

Description

Related Issue

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have updated the documentation.

@changeset-bot

changeset-bot Bot commented Jul 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1d30d96

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 47 packages
Name Type
@module-federation/manifest Patch
@module-federation/enhanced Patch
@module-federation/modern-js-v3 Patch
@module-federation/modern-js Patch
@module-federation/rspack Patch
@module-federation/nextjs-mf Patch
@module-federation/node Patch
@module-federation/rsbuild-plugin Patch
@module-federation/rspress-plugin Patch
@module-federation/storybook-addon Patch
shared-tree-shaking-no-server-host Patch
shared-tree-shaking-no-server-provider Patch
shared-tree-shaking-with-server-host Patch
shared-tree-shaking-with-server-provider Patch
node-dynamic-remote-new-version Patch
node-dynamic-remote Patch
@module-federation/playground Patch
remote5 Patch
remote6 Patch
website-new Patch
@module-federation/runtime Patch
@module-federation/webpack-bundler-runtime Patch
@module-federation/sdk Patch
@module-federation/runtime-tools Patch
@module-federation/managers Patch
@module-federation/dts-plugin Patch
@module-federation/third-party-dts-extractor Patch
@module-federation/devtools Patch
@module-federation/bridge-react Patch
@module-federation/bridge-vue3 Patch
@module-federation/bridge-shared Patch
@module-federation/bridge-react-webpack-plugin Patch
@module-federation/retry-plugin Patch
@module-federation/error-codes Patch
@module-federation/inject-external-runtime-core-plugin Patch
@module-federation/runtime-core Patch
create-module-federation Patch
@module-federation/cli Patch
@module-federation/treeshake-server Patch
@module-federation/treeshake-frontend Patch
@module-federation/metro Patch
@module-federation/metro-plugin-rnef Patch
@module-federation/metro-plugin-rock Patch
@module-federation/metro-plugin-rnc-cli Patch
@module-federation/esbuild Patch
@module-federation/observability-plugin Patch
@module-federation/utilities Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@2heal1 2heal1 changed the title feat: implement Rspack manifest support and add tests for StatsPlugin WIP: chore: validate rspack version with manifest Jul 12, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1d30d96a1b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 144 to +147
return;
}

// webpack + legacy rspack
if (this._bundler === 'rspack') {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Enable native manifest when manifest is omitted

With Rspack configs that rely on this wrapper's longstanding default (manifest omitted), StatsPlugin still reaches this branch because undefined !== false, but packages/rspack/src/ModuleFederationPlugin.ts passes the same undefined option to Rspack's native ModuleFederationPlugin. The native plugin has not been explicitly enabled to emit mf-stats.json, so this new error fires during processAssets instead of producing the default manifest as before (for example, apps/manifest-demo/3010-rspack-provider/rspack.config.js omits manifest). Please normalize omitted manifests to true before invoking Rspack or keep the legacy fallback for that case.

Useful? React with 👍 / 👎.

Comment on lines +83 to +85
if (!isRspackManifestSupported(rspackVersion)) {
throw new Error(
`[ ${PLUGIN_IDENTIFIER} ]: Rspack ${rspackVersion || 'unknown'} does not support the required built-in manifest capability. Please upgrade to Rspack 1.7.12 or 2.0.0 and above.`,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update bundled Rspack before enforcing the new floor

This guard makes every Rspack manifest build fail below 1.7.12, but the workspace still resolves existing manifest/demo Rspack apps to older @rspack/core versions (for example apps/manifest-demo/3010-rspack-provider is locked to 1.3.9 in pnpm-lock.yaml), and I checked .github/workflows/devtools.yml: it runs pnpm run app:manifest:dev and app:manifest:prod. As committed, those CI jobs throw during plugin application before tests start; update the affected package specs/lockfile or opt those configs out of manifest generation along with this guard.

Useful? React with 👍 / 👎.

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