-
-
Notifications
You must be signed in to change notification settings - Fork 266
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
feat: Unify Federation with ModernJS & Byte Infra team #1268
Conversation
set.add(RuntimeGlobals.moduleFactoriesAddOnly); | ||
set.add(RuntimeGlobals.hasOwnProperty); | ||
|
||
set.add(RuntimeGlobals.publicPath); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This causes import.meta which breaks node auto path
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@2heal1 I think it's this which breaks other pr where public path is auto.
…mprove_auto_public_path # Conflicts: # packages/node/src/plugins/FederationModuleInfoRuntimeModule.ts # packages/node/src/plugins/RemotePublicPathRuntimeModule.js # packages/node/src/plugins/loadScript.ts
…nction This commit enhances the readability of the httpVmStrategy by providing comprehensive inline documentation. The comments explain the purpose of the function, its parameters, and what it does. This will aid future developers in understanding the purpose and usage of the httpVmStrategy function. ### packages/node/src/filesystem/stratagies.js - Added comprehensive inline documentation for the httpVmStrategy function
Refactoring and Enhancements of Node Federation Plugin and Filesystem Strategy, Including Addition of New Features and Tests
This commit includes refactoring of DelegateModulesPlugin.ts. Changes involve updating data structures, adjusting logic for handling modules and dependencies and moving the resolveDelegateModules functionality in the apply method. ### packages/utilities/src/plugins/DelegateModulesPlugin.ts - changed Set data structure of _delegateModules to Map - adjusted logic to handle modules and dependencies using forEach instead of looping with 'for' keyword - replaced 'set' with 'add' keyword to add modules to _delegateModules - moved resolveDelegateModules functionality inside the apply method
# Conflicts: # package-lock.json # package.json # packages/nextjs-mf/src/default-delegate.ts # packages/node/src/plugins/CommonJsChunkLoadingPlugin.ts # packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts # packages/utilities/src/plugins/DelegateModulesPlugin.ts
… (#node_auto_public_path)
…ublic_path) Updated DelegateModulesPlugin to use 'const' in for-of loops and added 'thisCompilation' hook. Adjusted test cases to reflect these changes. Also, updated DynamicFilesystemRuntimeModule to remove unused 'RuntimeGlobals' import.
…ts (#node_auto_public_path) Removed unutilized 'importMetaName' from RemotePublicPathRuntimeModule. Updated NodeFederationPlugin.parseRemotes.test.js to reflect changes in global and remote scope naming conventions.
…_public_path Enable webpack devMiddleware to write to disk in development mode. This allows developers to view and debug the output files generated by webpack during development.
…ic_path) This commit adds support for automatically setting the public path for remote modules. This feature allows for dynamic path resolution based on the publicPath value in the outputOptions of the webpack configuration. If the publicPath value is set to "auto", the path is automatically resolved, otherwise, the static value of publicPath is used. This change provides more flexibility in setting the public path for remote modules.
…node_auto_public_path Updated CommonJsChunkLoadingPlugin to automatically set the public path from options instead of using a constant value. Also enhanced the chunk loading strategy to provide better logging and fallback options in scenarios where the chunk load fails. This will improve the maintainability and debugging of chunk loading processes.
# Conflicts: # package-lock.json # package.json # packages/node/src/plugins/CommonJsChunkLoadingPlugin.ts # packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts
…unkCorrelationPlugin.js (#bytedance)
…r code (#bytedance)
…oRuntimeModule (#bytedance)
…edance) The createDelegatedModule utility from the nextjs-mf package was commented out, indicating no longer necessary for the checkout app's next.config.js. Also, a jest environment was added to the eslint configuration in the node package, and the generated comments and ts-ignore directives were removed from the test file for parseRemotes in the NodeFederationPlugin.
# Conflicts: # package-lock.json # packages/node/.eslintrc.json # packages/node/src/plugins/FederationModuleInfoRuntimeModule.ts # packages/node/src/plugins/NodeFederationPlugin.parseRemotes.test.js
…ytedance-ImportRequire Enhanced - remove import require statements for swc interop
🎉 This PR is included in version 8.1.0-canary.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 3.1.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 2.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 2.1.0-canary.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 1.0.0-canary.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 1.0.0-canary.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 1.0.0-canary.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
The Infra Team has implemented substantial improvements to federation internally.
While the node plugin is still WIP, this is the beginning of unifying our ecosystems.
update: Since initial commits, this has evolved. As we plan to implement node federation into rspack natively. We have gotten some guidance on how to design a dynamic fileystem in a non-hacky manner. So this now includes:
Update:
This PR has grown in scope