Skip to content

chore: asyncStartup for pure webpack/rspack examples only#4412

Merged
ScriptedAlchemy merged 166 commits intomasterfrom
chore/asyncstartup-pure-webpack-rspack2
Feb 1, 2026
Merged

chore: asyncStartup for pure webpack/rspack examples only#4412
ScriptedAlchemy merged 166 commits intomasterfrom
chore/asyncstartup-pure-webpack-rspack2

Conversation

@ScriptedAlchemy
Copy link
Copy Markdown
Member

@ScriptedAlchemy ScriptedAlchemy commented Dec 23, 2025

This PR reverts the asyncStartup sweep changes for ModernJS + Rsbuild-based examples (including clo + react-manifest-example), keeping the asyncStartup changes only for pure webpack/rspack examples.

  • Revert: ModernJS (modern.config.*) examples
  • Revert: Rsbuild (rsbuild.config.*) examples
  • Revert: clo + react-manifest-example

Follow-up: close PR #4411 once this replaces it.

ScriptedAlchemy and others added 30 commits September 18, 2025 16:43
Completes the migration of all example projects to use Playwright for E2E testing, ensuring consistent testing infrastructure across the monorepo and leveraging Playwright's improved performance and debugging capabilities.
- Migrate final set of projects to Playwright (quasar, react-storybook, redux-reducer-injection, rspack-webpack-interop)
- Update pnpm lockfiles after dependency changes
Change the path from index.mjs to dist/index.js to reflect the new build output location
* fix: stabilize federated-css e2e

* merge: bring branch up to date with mass-conversion; regen lockfiles
- federated-css-mono: use Playwright fixtures; wait for federated button; longer wait
- nextjs-ssr: exclude Cypress spec via testMatch to avoid duplicate @playwright/test load
- vue3-demo/typescript-monorepo: remove runAll aggregators to prevent duplicate/recursive tests
- typescript-project-references: swap cypress->playwright imports
- rust-wasm: relax post-stop console log assertion (tolerate <=1)
- typescript: run webServer with build+serve for CI stability
- nextjs-ssr: use local @playwright/test (drop shared fixtures), add helper openLocalhost
- federated-css-react-ssr: switch to Playwright selectors/constants; wait for federated button
…in migrated projects

- Remove *.cy.ts and cypress.env from nextjs-ssr and federated-css-react-ssr
- Switch specs to playwright fixtures/constants/selectors
- Inline TypeScript app test data; drop CommonTestData and cypress-e2e deps
- Add playwright-e2e/types/cssAttr to replace Cypress cssAttr
- vue3-demo: make test titles unique per app to avoid duplicates
- vue2-in-vue3: add BaseMethods.checkCounterFunctionality to match Cypress helper
- federated-css-mono: serve exposes on 400x; wait for Next on 8081
- typescript-project-references: correct imports to ../../../playwright-e2e
- typescript: start both servers reliably with bash wait
- rust-wasm: relax pre-stop log assertion to tolerate stragglers
- typescript-monorepo: adjust package.json assertion for pnpm workspace
import { BasePage } from './basePage';
import { expect, test as base } from './playwright';

Check notice

Code scanning / CodeQL

Unused variable, import, function or class Note test

Unused import expect.

Copilot Autofix

AI 3 months ago

In general, to fix an unused import, remove the unused symbol from the import statement (or the whole import if nothing from it is used). This improves readability and avoids confusion.

Here, on line 2 in playwright-e2e/common/testFixtures.ts, only test as base is used, while expect is not. The best fix is to modify the import so it only imports test as base and drops expect. No additional methods, imports, or definitions are needed.

Concretely, change:

import { expect, test as base } from './playwright';

to:

import { test as base } from './playwright';

leaving the rest of the file unchanged.

Suggested changeset 1
playwright-e2e/common/testFixtures.ts

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/playwright-e2e/common/testFixtures.ts b/playwright-e2e/common/testFixtures.ts
--- a/playwright-e2e/common/testFixtures.ts
+++ b/playwright-e2e/common/testFixtures.ts
@@ -1,5 +1,5 @@
 import { BasePage } from './basePage';
-import { expect, test as base } from './playwright';
+import { test as base } from './playwright';
 
 export const test = base.extend<{ basePage: BasePage }>({
   basePage: async ({ page }, use) => {
EOF
@@ -1,5 +1,5 @@
import { BasePage } from './basePage';
import { expect, test as base } from './playwright';
import { test as base } from './playwright';

export const test = base.extend<{ basePage: BasePage }>({
basePage: async ({ page }, use) => {
Copilot is powered by AI and may make mistakes. Always verify output.
ScriptedAlchemy and others added 11 commits January 31, 2026 00:22
The default 'version-first' shareStrategy causes a runtime deadlock when
used with asyncStartup + webpack because initializeSharing tries to
resolve best versions from remote containers before they are loaded,
creating a circular dependency. Using 'loaded-first' avoids this by
skipping remote version negotiation at startup.

Also suppresses webpack-dev-server warning overlays for examples that
use external script remotes (async/await triggers a false warning), and
reverts bi-directional to use 'pnpm start' instead of 'pnpm dev'.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…react CI

- Revert comprehensive-demo-react16/18 entry points from static
  `import './bootstrap'` back to dynamic `import('./bootstrap')` —
  asyncStartup with static imports breaks federation in multi-app
  rspack setups
- Switch loadable-react-16/18 MF import from `@module-federation/enhanced/webpack`
  to `@module-federation/enhanced` — the /webpack subpath causes silent
  build failures in pnpm 10 CI
- Revert loadable-react-16 e2e:ci and playwright.config.ts to master
  (build-during-serve flow)
- Revert loadable-react-18 playwright.config.ts to `pnpm run serve`
  (separate build step in e2e:ci) and restore original start.js

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The lockfile incorrectly had 12.5.0 for the 12.1.0 specifier, causing
frozen-lockfile failure in CI.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ScriptedAlchemy ScriptedAlchemy force-pushed the chore/asyncstartup-pure-webpack-rspack2 branch from 3a47e14 to c5a852a Compare February 1, 2026 06:19
@ScriptedAlchemy ScriptedAlchemy merged commit 36080ed into master Feb 1, 2026
78 checks passed
@ScriptedAlchemy ScriptedAlchemy deleted the chore/asyncstartup-pure-webpack-rspack2 branch February 1, 2026 22:32
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.

3 participants