-
-
Notifications
You must be signed in to change notification settings - Fork 348
feat(enhanced): Shared module include / exclude / nodeModulesReconstructedLookup #3736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ScriptedAlchemy
wants to merge
135
commits into
main
Choose a base branch
from
share-filter
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
135 commits
Select commit
Hold shift + click to select a range
8795e10
chore: add test for filter
ScriptedAlchemy eee661a
feat(enhanced): add filter option for shared modules
ScriptedAlchemy b794831
feat(enhanced): add filter test
ScriptedAlchemy 13849f7
chore: restore tests
ScriptedAlchemy 0ab7032
chore: restore tests
ScriptedAlchemy 796472c
chore: restore tests
ScriptedAlchemy ba813a6
fix(enhanced): update share plugin schema
ScriptedAlchemy 9277e20
chore: ignore vitest temp files
ScriptedAlchemy c5b7b0b
Merge branch 'main' into share-filter
ScriptedAlchemy 731517b
Merge branch 'main' into share-filter
ScriptedAlchemy a85b07a
feat(enhanced): exclude shares by semver (#3744)
ScriptedAlchemy 689abaa
chore: remove log in test
ScriptedAlchemy 7f2aee0
Merge branch 'main' into share-filter
ScriptedAlchemy ccad924
docs: add sharing documentation
ScriptedAlchemy 1776107
docs: add tests back
ScriptedAlchemy c335e3b
test: add consume share plugin compiler tests
ScriptedAlchemy d097605
test: add consume share plugin compiler tests
ScriptedAlchemy 8093171
test: add consume share plugin compiler tests
ScriptedAlchemy 1f8349f
test: add comprehensive tests for ConsumeSharedPlugin with layer hand…
ScriptedAlchemy 1836dc1
chore: locks
ScriptedAlchemy e239b9b
fix: add missing include
ScriptedAlchemy 9b07ec8
fix: update tests for provide shared
ScriptedAlchemy a477e22
fix: update tests for provide shared
ScriptedAlchemy b638b36
fix: update tests for provide shared
ScriptedAlchemy 2ee38ff
chore: lint
ScriptedAlchemy 1917e10
feat: add singleton validation warnings for include/exclude
ScriptedAlchemy 87237b8
refactor: consolidate request filtering logic in ConsumeSharedPlugin …
ScriptedAlchemy a792ae4
refactor: replace createLookupKey with createLookupKeyForSharing and …
ScriptedAlchemy be29ea5
chore: remove implicit dep
ScriptedAlchemy 4a1f88f
chore: changeset
ScriptedAlchemy d8fcaee
chore: nx mcp
ScriptedAlchemy 5a4ce3d
Merge branch 'main' into share-filter
ScriptedAlchemy 088e7e0
chore(3001-shop): sync project.json serve parallel and e2e logic
ScriptedAlchemy 0067732
chore: locks
ScriptedAlchemy d7b43c6
chore: locks
ScriptedAlchemy 3b65209
chore: add missing next deps
ScriptedAlchemy 5822ef0
chore: update cmd syntax exit
ScriptedAlchemy e644b8f
chore: update cmd syntax exit
ScriptedAlchemy 55e811f
chore: update cmd syntax exit
ScriptedAlchemy 5077afd
chore: update cmd syntax exit
ScriptedAlchemy 99e33da
chore: update cmd syntax exit
ScriptedAlchemy fb2377f
chore: update cmd syntax exit
ScriptedAlchemy 3bc240b
chore: refactor E2E testing workflow to separate tests for each app a…
ScriptedAlchemy 3fc3233
Merge branch 'main' into share-filter
ScriptedAlchemy b0236e8
Merge branch 'main' into share-filter
ScriptedAlchemy c0c1e00
Merge branch 'main' into share-filter
ScriptedAlchemy 8847f37
Merge branch 'main' into share-filter
ScriptedAlchemy 0304e19
chore: locks
ScriptedAlchemy 5d79610
Merge branch 'main' into share-filter
ScriptedAlchemy cf750f2
test: update ProvideSharedPlugin and SharePlugin tests to verify node…
ScriptedAlchemy e179bb0
chore: update Nx version to 21.0.3 and change package manager to pnpm…
ScriptedAlchemy 87c3e61
feat: integrate Module Federation core sharing plugin updates
ScriptedAlchemy d7271ea
feat: complete incremental Module Federation ProvideSharedPlugin updates
ScriptedAlchemy 49bb94e
feat(enhanced): add nodeModulesReconstructedLookup support
ScriptedAlchemy 70433c6
feat(enhanced): remove complex singleton warnings from factorize hook
ScriptedAlchemy 98311d9
docs: refresh mermaid diagrams and remove sections
ScriptedAlchemy b79cf90
docs: remove Advanced Patterns & Use Cases section
ScriptedAlchemy fa9d3cb
fix: resolve Mermaid sequence diagram CSP participant activation/deac…
ScriptedAlchemy 4aa6b35
chore: no build cache nx in ci
ScriptedAlchemy a4f68ff
Merge branch 'main' into share-filter
ScriptedAlchemy af25de3
Merge branch 'main' into share-filter
ScriptedAlchemy 70af281
chore: ci
ScriptedAlchemy b62aca9
chore: ci
ScriptedAlchemy a9ba0c7
feat(enhanced): update hook system for container dependency management
ScriptedAlchemy eb63c67
Merge branch 'main' into share-filter
ScriptedAlchemy fc247dd
feat(nextjs-mf): complete migration from app-router-share-filter to s…
ScriptedAlchemy 364a966
chore: trigger CI re-run for flaky test resolution
ScriptedAlchemy e454539
fix(enhanced): add CI stability improvements to jest configurations
ScriptedAlchemy 08e7fdb
fix(enhanced): resolve jest maxWorkers validation error
ScriptedAlchemy 48a641a
Merge branch 'main' into share-filter
ScriptedAlchemy 5de9e61
fix(enhanced): restore jest configurations to original state
ScriptedAlchemy e1bdddf
feat(nextjs-mf): rewrite outdated tests with proper mocks
ScriptedAlchemy 9ee1d1a
fix(nextjs-mf): simplify tests to eliminate interference issues
ScriptedAlchemy 6d5c73d
feat: update e2e scripts to test all three Next.js apps (home, shop, …
ScriptedAlchemy 066e80a
feat: add individual e2e test scripts for Next.js apps
ScriptedAlchemy 07507a3
Merge branch 'main' into share-filter
ScriptedAlchemy 414a30d
feat: incremental merge of share-filter branch changes (#3879)
ScriptedAlchemy c294a90
Merge branch 'refs/heads/main' into share-filter
ScriptedAlchemy ae04f48
chore: remove rslib
ScriptedAlchemy c6619df
chore: remove rslib
ScriptedAlchemy 217509e
feat(nextjs-mf): increment 1 - migrate enhanced test file from app-ro…
ScriptedAlchemy 2f9073a
fix(nextjs-mf): fix failing internal tests by mocking Next.js version
ScriptedAlchemy 9b7dff2
chore: restore rslib module app
ScriptedAlchemy 33890d4
feat: sync all Next.js versions to 15.3.3 and enable remote components
ScriptedAlchemy 5afc676
chore: lock file
ScriptedAlchemy 92a6374
fix: resolve React 19 TypeScript compatibility in chrome-devtools
ScriptedAlchemy a58cabb
fix(managers): update snapshot for React 19 compatibility
ScriptedAlchemy 1bb9a5c
fix: resolve React version conflicts in Next.js apps
ScriptedAlchemy 057a292
fix: add safety checks for webpack startup functions
ScriptedAlchemy dfcfb74
chore: lock file
ScriptedAlchemy fcc96ec
fix: update SharedManager snapshot for React 19.1.0
ScriptedAlchemy 1715344
fix(data-prefetch): react 19 compatibility fixes
ScriptedAlchemy aa04c96
fix(data-prefetch): update pnpm lockfile after react 19 upgrade
ScriptedAlchemy fb72852
fix(bridge-react): react 19 compatibility for tests
ScriptedAlchemy 99f70ad
fix(bridge-react): update tests to handle React 19 async rendering
ScriptedAlchemy 2027d94
feat: merge increment A - CI/CD and development infrastructure
ScriptedAlchemy c25d76f
chore: update pnpm lockfile after increment A package.json changes
ScriptedAlchemy e4c2f96
feat: merge increment B - documentation and changesets
ScriptedAlchemy 2a2337a
feat: merge increment C - core package dependencies
ScriptedAlchemy 3befe9f
feat: merge increment D - enhanced library core changes
ScriptedAlchemy 902c3e4
fix: resolve React 19 TypeScript compatibility in modernjs package
ScriptedAlchemy 4bd1354
fix(nextjs-mf): resolve test failure by mocking getNextVersion for Ne…
ScriptedAlchemy 857d5da
feat: merge increment E - bridge and data prefetch updates
ScriptedAlchemy f372da0
fix: update React dependencies to v19.0.0 across packages
ScriptedAlchemy 549d7e9
fix: use pnpm overrides for React 19 instead of individual package edits
ScriptedAlchemy 4eec06a
fix: update packages to React 19 individually instead of global overr…
ScriptedAlchemy 0a19327
fix: resolve React 19 compatibility issues in bridge-react
ScriptedAlchemy 2a91c71
fix: remove accidental __mocks__ files causing CI format failure
ScriptedAlchemy 100fdea
fix: resolve all remaining test failures
ScriptedAlchemy 44679c2
fix(bridge-react): resolve React 19 testing warnings and race conditions
ScriptedAlchemy a2909bc
fix(modernjs): trigger CI after build dependencies resolved
ScriptedAlchemy 284fcd4
feat(next-app-router-4000): merge enhanced layer support for Next.js …
ScriptedAlchemy 3a47bd7
feat(next-app-router-4001): merge enhanced layer support for Next.js …
ScriptedAlchemy 5d2f0a3
feat(runtime-core,node): merge enhanced layer support for runtime and…
ScriptedAlchemy 1757c9d
feat: complete enhanced layer support integration and add .node file …
ScriptedAlchemy 87eaa74
fix: restore missing files from app-router-share-filter and remove te…
ScriptedAlchemy 6017bf4
fix: clean up remaining file differences and update dependencies
ScriptedAlchemy ececf1d
fix(3001-shop,3002-checkout): restore workspace dependencies
ScriptedAlchemy 235e85a
fix(nextjs-mf): correct path to next-flight-loader
ScriptedAlchemy aaa376a
chore: lock file
ScriptedAlchemy 0f642cc
chore: fix sh
ScriptedAlchemy 0fe177a
fix(3000-home,3002-checkout): restore e2e configurations from working…
ScriptedAlchemy e472278
feat: restore old CI infrastructure for Next.js e2e tests
ScriptedAlchemy e15d158
App router share filter (#3745)
ScriptedAlchemy 9dd7abc
Merge branch 'main' into share-filter
ScriptedAlchemy f47722e
test: trigger CI workflow (#3890)
ScriptedAlchemy 31c6e2a
Potential fix for code scanning alert no. 132: Workflow does not cont…
ScriptedAlchemy f0ae746
Merge remote-tracking branch 'origin/share-filter' into share-filter
ScriptedAlchemy 32a4f14
Merge branch 'main' into share-filter
ScriptedAlchemy b61d776
Share flalback (#3893)
ScriptedAlchemy e06b36c
docs: add incremental PR plan for breaking up enhanced package changes
ScriptedAlchemy f8b554c
docs: add incremental PR plan for breaking up enhanced package changes
ScriptedAlchemy c271f38
chore: merge main branch and resolve conflicts for share-filter PR
ScriptedAlchemy 62c3220
chore: remove unused @module-federation/utilities from Next.js apps
ScriptedAlchemy 68d87f1
chore: remove unused @module-federation/utilities from Next.js apps
ScriptedAlchemy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
"@module-federation/runtime-core": minor | ||
--- | ||
|
||
Added support for OR ranges in semantic version satisfaction logic with comprehensive unit tests. | ||
|
||
- Implemented parsing for OR (||) conditions in version ranges. | ||
- Split input ranges by || to evaluate alternatives individually. | ||
- Ensured logical handling of wildcards '*' and 'x' within ranges. | ||
- Refactored internal parsing to support more complex range constructs. | ||
- Added comprehensive test cases to cover diverse scenarios for OR range support. | ||
- Introduced error handling during range processing, with console logging for tracking issues. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
"@module-federation/nextjs-mf": minor | ||
--- | ||
|
||
Refactor and enhance module federation support for Next.js. | ||
|
||
- Introduced `getShareScope` function to dynamically generate the default share scope based on the client or server environment, replacing static DEFAULT_SHARE_SCOPE declarations. | ||
- Implemented `RscManifestInterceptPlugin` to intercept and modify client reference manifests, ensuring proper prefix handling. | ||
- Refined server-side externals handling to ensure shared federation modules are bundled. | ||
- Simplified and modularized sharing logic by creating distinct functions for React, React DOM, React JSX Runtime, and React JSX Dev Runtime package configurations. | ||
- Captured the original webpack public path for potential use in plugins and adjustments. | ||
- Enhanced logging for debug tracing of shared module resolution processes in runtimePlugin. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
"@module-federation/sdk": minor | ||
--- | ||
|
||
Added a new option to improve path resolution in ModuleFederationPlugin options. | ||
|
||
- Introduced `nodeModulesReconstructedLookup` option in `ModuleFederationPluginOptions` | ||
- Enhances support for reconstructed lookup of node_modules paths | ||
- The new option is a boolean and is optional. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
"@module-federation/enhanced": minor | ||
--- | ||
|
||
Enhancements to layer handling in module federation tests and configuration. | ||
|
||
- Improved handling of `shareKey` for layers within `ConsumeSharedPlugin` and `ProvideSharedPlugin`. | ||
- Conditionally prepend the `shareKey` with the `layer` if applicable. | ||
- Introduced new layer configurations to support more nuanced federation scenarios that consider multiple layers of dependency. | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
"@module-federation/enhanced": minor | ||
--- | ||
|
||
Add advanced sharing capabilities in Module Federation | ||
|
||
- Expanded `IncludeExcludeOptions` to support `request`, `version`, and `fallbackVersion` filters for finer control of module sharing inclusion and exclusion, allowing developers to target specific module versions or paths when sharing. | ||
- Enhanced the configuration of `ConsumeSharedModule`, `ConsumeSharedPlugin`, `ProvideSharedPlugin`, and `SharePlugin` to leverage these filtering options. | ||
- Implemented new experimental features under `experiments`: `nodeModulesReconstructedLookup`, enabling more robust and flexible path reconstructions when consuming or providing shared modules, thus improving compatibility with monorepos and complex project structures. | ||
- Updated internal schema validation and error handling to provide more informative feedback and operational resilience against misconfigurations or missing information. | ||
- Introduced comprehensive test coverage for new features and plugin behaviors, ensuring robust validation against various edge cases and scenarios within module sharing operations. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
"@module-federation/enhanced": patch | ||
--- | ||
|
||
Refactored module sharing configuration handling. | ||
|
||
- Simplified plugin schema for better maintainability | ||
- Improved layer-based module sharing test coverage | ||
- Removed redundant plugin exports |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"@module-federation/runtime": minor | ||
--- | ||
|
||
- Added a new property 'layer' of type string or null to SharedConfig. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
'@module-federation/enhanced': minor | ||
--- | ||
|
||
support request option on ConsumeSharePlugin. Allows matching requests like the object key of shared does |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
'@module-federation/enhanced': minor | ||
--- | ||
|
||
Layer support for Provide Share Plugin |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
description: | ||
globs: | ||
alwaysApply: true | ||
--- | ||
|
||
// This file is automatically generated by Nx Console | ||
|
||
You are in an nx workspace using Nx 21.0.3 and pnpm as the package manager. | ||
|
||
You have access to the Nx MCP server and the tools it provides. Use them. Follow these guidelines in order to best help the user: | ||
|
||
# General Guidelines | ||
- When answering questions, use the nx_workspace tool first to gain an understanding of the workspace architecture | ||
- For questions around nx configuration, best practices or if you're unsure, use the nx_docs tool to get relevant, up-to-date docs!! Always use this instead of assuming things about nx configuration | ||
- If the user needs help with an Nx configuration or project graph error, use the 'nx_workspace' tool to get any errors | ||
- To help answer questions about the workspace structure or simply help with demonstrating how tasks depend on each other, use the 'nx_visualize_graph' tool | ||
|
||
# Generation Guidelines | ||
If the user wants to generate something, use the following flow: | ||
|
||
- learn about the nx workspace and any specifics the user needs by using the 'nx_workspace' tool and the 'nx_project_details' tool if applicable | ||
- get the available generators using the 'nx_generators' tool | ||
- decide which generator to use. If no generators seem relevant, check the 'nx_available_plugins' tool to see if the user could install a plugin to help them | ||
- get generator details using the 'nx_generator_schema' tool | ||
- you may use the 'nx_docs' tool to learn more about a specific generator or technology if you're unsure | ||
- decide which options to provide in order to best complete the user's request. Don't make any assumptions and keep the options minimalistic | ||
- open the generator UI using the 'nx_open_generate_ui' tool | ||
- wait for the user to finish the generator | ||
- read the generator log file using the 'nx_read_generator_log' tool | ||
- use the information provided in the log file to answer the user's question or continue with what they were doing | ||
|
||
|
||
# CI Error Guidelines | ||
If the user wants help with fixing an error in their CI pipeline, use the following flow: | ||
- Retrieve the list of current CI Pipeline Executions (CIPEs) using the 'nx_cloud_cipe_details' tool | ||
- If there are any errors, use the 'nx_cloud_fix_cipe_failure' tool to retrieve the logs for a specific task | ||
- Use the task logs to see what's wrong and help the user fix their problem. Use the appropriate tools if necessary | ||
- Make sure that the problem is fixed by running the task that you passed into the 'nx_cloud_fix_cipe_failure' tool | ||
|
||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
description: | ||
globs: packages/enhanced/* | ||
alwaysApply: false | ||
--- | ||
use pnpm enhanced:jest to test this |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +0,0 @@ | ||
an assistant that engages in extremely thorough, self-questioning reasoning. Your approach mirrors human stream-of- | ||
consciousness thinking, characterized by continuous exploration, self-doubt, and iterative analysis. | ||
## Core Principles | ||
1. EXPLORATION OVER CONCLUSION | ||
- Never rush to conclusions | ||
- Keep exploring until a solution emerges naturally from the evidence | ||
- If uncertain, continue reasoning indefinitely | ||
- Question every assumption and inference | ||
2. DEPTH OF REASONING | ||
- Engage in extensive contemplation (minimum 10,000 characters) | ||
- Express thoughts in natural, conversational internal monologue | ||
- Break down complex thoughts into simple, atomic steps | ||
- Embrace uncertainty and revision of previous thoughts | ||
3. THINKING PROCESS | ||
- Use short, simple sentences that mirror natural thought patterns | ||
- Express uncertainty and internal debate freely | ||
- Show work-in-progress thinking | ||
- Acknowledge and explore dead ends | ||
- Frequently backtrack and revise | ||
- Contemplate before each new action | ||
- Contemplate after each and every step | ||
4. PERSISTENCE | ||
- Value thorough exploration over quick resolution | ||
## Output Format | ||
Your responses | ||
must follow this exact structure given below. | ||
Make sure | ||
to | ||
always include the final answer. | ||
... | ||
<contemplator> | ||
Your extensive internal monologue goes here | ||
- Begin with small, foundational observations | ||
- read each file related to the subject in full, make functional observations | ||
- Question each step thoroughly | ||
- Show natural thought progression | ||
- Express doubts and uncertainties | ||
- Revise and backtrack if you need to | ||
- Continue until natural resolution </contemplator> | ||
|
||
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: E2E Test for Next.js App Router | ||
|
||
on: | ||
workflow_call: | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
e2e-next-app-router: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 30 | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install Pnpm | ||
run: | | ||
corepack prepare pnpm@8.11.0 --activate | ||
corepack enable | ||
|
||
- name: Setup Node.js 18 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18' | ||
cache: 'pnpm' | ||
|
||
- name: Set Nx SHA | ||
uses: nrwl/nx-set-shas@v3 | ||
|
||
- name: Set SKIP_DEVTOOLS_POSTINSTALL environment variable | ||
run: echo "SKIP_DEVTOOLS_POSTINSTALL=true" >> $GITHUB_ENV | ||
|
||
- name: Set local webpack | ||
run: echo "NEXT_PRIVATE_LOCAL_WEBPACK=true" >> $GITHUB_ENV | ||
|
||
- name: Install Dependencies | ||
run: pnpm install | ||
|
||
- name: Install Cypress | ||
run: npx cypress install | ||
|
||
- name: Run Build for All | ||
run: npx nx run-many --targets=build --projects=tag:type:pkg | ||
|
||
- name: Run condition check script | ||
id: check-ci | ||
run: node tools/scripts/ci-is-affected.mjs --appName=next-app-router-4000,next-app-router-4001 | ||
|
||
- name: E2E Test for Next.js App Router | ||
if: steps.check-ci.outcome == 'success' | ||
run: npx kill-port --port 4000,4001 || true && pnpm run app:next-router:dev & echo "done" && sleep 25 && npx nx run-many --target=e2e --projects=next-app-router-4000,next-app-router-4001 --parallel=1 && lsof -ti tcp:4000,4001 | xargs kill || true | ||
|
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -87,3 +87,7 @@ vitest.config.*.timestamp* | |
# website-new | ||
.rsbuild | ||
ssg | ||
|
||
# Native binary files | ||
*.node | ||
worktrees/ |
Oops, something went wrong.
Oops, something went wrong.
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.
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
Copilot Autofix
AI 1 day ago
To fix the problem, add a
permissions
block at the root of the workflow file to limit the permissions of theGITHUB_TOKEN
. Since the workflow primarily runs tests and interacts with external workflows, it likely only requirescontents: read
permission. This change will apply to all jobs unless overridden at the job level. No functionality will be altered since the permissions will only restrict unnecessary access.