Merged
Conversation
🦋 Changeset detectedLatest commit: 03a3750 The changes in this PR will be included in the next version bump. This PR includes changesets to release 41 packages
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 |
❌ Deploy Preview for module-federation-docs failed. Why did it fail? →
|
4e1c871 to
9948f56
Compare
9948f56 to
a92294e
Compare
nx format:write fails because pnpm's strict isolation prevents nx from resolving prettier. Adding prettier as a dependency extension for nx ensures the symlink is created properly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Restores test fixture files that were inadvertently modified during the NX migration, causing 4 test failures in reshake-share and server-strategy. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Prevents pnpm from auto-installing next@15 (with react@19) into the workspace, which caused dual React instance crashes in the Next.js 14 demo apps. With optional peers, nextjs-mf inherits whatever next/react version the consuming app provides. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Mark next as optional peer in @nx/next, @nx/module-federation, and @storybook/nextjs via packageExtensions. This stops pnpm from auto-installing next@15 (with react@19) which caused dual React instance crashes in the Next.js 14 demo apps. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The node package doesn't directly use react, react-dom, or next. Removing these prevents pnpm from auto-installing conflicting versions in the workspace. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Next.js requires webpack at runtime but can't resolve it through pnpm's strict isolation. Adding webpack as a dependency extension for next ensures proper resolution. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The serve targets with nx:run-commands don't need dependsOn for workspace package builds. The test:e2e orchestration already handles building before serving. The dependsOn was causing serve to fail by triggering unnecessary rebuilds of all 18 workspace packages. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove devServerTarget from e2e configs since nx:run-commands serve targets don't support the ready-signal that @nx/next:server provided. Update test:e2e to start all 3 servers (including the app under test) and use wait-on for all ports before running Cypress. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…tration - Add dependsOn: ["build"] to serve targets so production serve automatically triggers builds via Nx task graph - Change test:e2e to parallel: false with sequential kill-port at start and end to prevent EADDRINUSE between test runs - Remove inline build from production test:e2e since serve now depends on build via dependsOn Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…eanup - Switch test:e2e back to parallel: true with 2 commands - Integrate kill-port into serve command chain (runs before serve starts) - Add cleanup kill-port after Cypress tests using ; (always runs) - Preserve test exit code with EXIT=$? pattern - Ensures reliable port cleanup between sequential test runs in CI Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…0-home Use bash -lc with trap EXIT and SERVE_PID tracking for reliable background process cleanup during e2e tests, preventing port conflicts between sequential CI test runs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace fragile per-app shell commands with a Node.js orchestration script (run-next-e2e.mjs) that starts all 3 servers once, runs all e2e suites sequentially, and cleans up reliably using detached process groups with signal escalation. This eliminates EADDRINUSE port conflicts in CI between sequential test runs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…next e2e Replace the fixed 30s sleep in CI with wait-on TCP polling so tests start as soon as servers are actually ready, reducing flakiness and wasted time. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix project name mismatches (@module-federation/ prefix) that prevented cache disabling from taking effect, and broaden from build:production to build so .next output is always rebuilt fresh. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The enhanced:test was using stale cached results from Nx Cloud, causing tree-shaking-share tests to fail with MODULE_NOT_FOUND errors in CI. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…tures The committed test fixtures had stale content (extra Text export, missing semicolons) that didn't match what ensureReshakeShareFixtures() generates. Also revert enhanced:test cache disable. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ScriptedAlchemy
approved these changes
Jan 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CHANGE SUMMARY: Node.js 20 and pnpm 10 Upgrade
This document summarizes the changes made to unify the repository's development and CI environment to Node.js 20 and pnpm 10.
1. Version Declaration Changes
Node.js
package.json:engines.nodewas updated from^18to>=20..nvmrcFiles:.nvmrcfiles (in the root,packages/chrome-devtools,apps/modernjs, and templates) were updated from18.19.1orlts/hydrogento20.package.json:engines.nodefields in sub-packages were not strictly enforced to^20to maintain broader compatibility, but the CI now runs on Node.js 20.pnpm
package.json:engines.pnpmwas updated from^8.11.0to>=10.packageManagerwas updated frompnpm@8.11.0topnpm@10.2. GitHub Actions Workflow Changes
All workflows in
.github/workflows/*.ymlthat use Node.js have been standardized:Node.js Setup:
uses: actions/setup-nodewas unified tov6.with.node-versionwas set to'20'.cache: 'pnpm'is consistently used.pnpm Setup:
uses: pnpm/action-setup@v4withversion: 10has been added to all relevant workflows.corepack prepare pnpm@8.11.0 --activatehas been removed.Specific Workflow Updates:
release.yml: The Node.js version was changed from22to20.e2e-metro.yml: Explicit Node.js and pnpm setup steps were added, as they were previously missing.These changes ensure a consistent and up-to-date environment across all development and CI processes.