You can consider the module federation capabilities provided by this repository as "module federation 2.0".
Repo: module-federation/core
What's inside
You can consider the module federation capabilities provided by this repository as "module federation 2.0". "Module Federation 2.0" differs from the "Module Federation" built into webpack 5 by offering not only the core features of module export, loading, and dependency sharing but also additional dynamic type hinting, a "Manifest", a "Federation Runtime", and a "Runtime Plugin System". These features make "Module Federation" more suitable for use as a micro-frontend architecture in large-scale web applications.
Module Federation is a concept that allows developers to share code and resources across multiple JavaScript applications
Module Federation can be used to split monolithic applications into micro-front-end architectures
Module Federation reuses common dependencies between modules as much as possible
To get started with Module Federation, see the Quick Start.
Come and chat with us on Discussions or Discord! The Module federation team and users are active there, and we're always looking for contributions.
New contributors welcome!
Please read the Contributing Guide.
Working on this repository requires Node.js 24 and pnpm 10.28.0. The repository's development, test, build, and release workflows run on Node.js 24.
Published packages that execute in Node.js, including build plugins, command-line tools, type generation, workers, and server-side runtime code, remain compatible with Node.js 20.19.5. CI builds the packages on Node.js 24, installs the resulting package tarballs in a clean Node.js 20.19.5 project, and verifies their CommonJS, ES module, command-line, and type entry points. The clean TypeScript project is also built with both Webpack and Rspack, and the resulting Node.js bundles are executed on Node.js 20.19.5.
Browser runtime compatibility is defined by the browser build targets rather than the Node.js version used to maintain this repository. Node.js 20 compatibility is provided for legacy consumers even though Node.js 20 no longer receives upstream maintenance.
This repo has adopted the Code of Conduct. Please check Code of Conduct for more details.
.changeset/
config.json
.claude/
agents/
git-conflict-resolver.md
merge-conflict-resolver.md
hooks/
prompt-optimizer.js
.codex/
environments/
environment.toml
skills/
changeset-pr/
agents/
openai.yaml
references/
repo-conventions.md
scripts/
inspect_changeset_scope.py
run_changeset_status.py
SKILL.md
gh-pr-metadata/
agents/
openai.yaml
references/
repo-pr-format.md
scripts/
validate_pr_metadata.py
SKILL.md
local-ci/
agents/
openai.yaml
references/
jobs.md
SKILL.md
turborepo/
command/
turborepo.md
references/
best-practices/
dependencies.md
packages.md
RULE.md
structure.md
boundaries/
RULE.md
caching/
gotchas.md
remote-cache.md
RULE.md
ci/
github-actions.md
patterns.md
RULE.md
vercel.md
cli/
commands.md
RULE.md
configuration/
global-options.md
gotchas.md
RULE.md
tasks.md
environment/
gotchas.md
modes.md
RULE.md
filtering/
patterns.md
RULE.md
watch/
RULE.md
SKILL.md
.cursorignore
.cursorrules
.editorconfig
.env
.eslintignore
.eslintrc.json
.github/
.github/
release.yml
dependabot.yml
FUNDING.yml
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
pr-labeler.yml
pull_request_template.md
release.yml
workflows/
actionlint.yml
build-and-test.yml
bundle-size-comment.yml
bundle-size.yml
devtools.yml
e2e-manifest.yml
e2e-metro.yml
e2e-modern-ssr.yml
e2e-modern.yml
e2e-next-dev.yml
e2e-next-prod.yml
e2e-node.yml
e2e-router.yml
e2e-runtime.yml
e2e-shared-tree-shaking.yml
e2e-treeshake.yml
issue-close-require.yml
issue-labeled.yml
lint-deps.yml
pkg-pr-new.yml
pr-label.yaml
release-pull-request.yml
release.yml
stale.yml
website-zephyr.yml
.gitignore
.husky/
commit-msg
pre-commit
.npmrc
.nvmrc
.nxignore
.prettierignore
.prettierrc
.tool-versions
.vscode/
launch.json
settings.json
tasks.json
AGENTS.md
apps/
3000-home/
.env
.eslintrc.json
components/
menu.tsx
SharedNav.tsx
thing.module.css
cypress/
cypress.config.ts
e2e/
app.cy.ts
fixtures/
example.json
support/
app.po.ts
commands.ts
e2e.ts
tsconfig.json
next-env.d.ts
next.config.js
package.json
pages/
_app.tsx
_document.js
api/
test.js
checkout/
[...slug].tsx
[pid].tsx
exposed-pages.tsx
index.tsx
test-check-button.tsx
test-title.tsx
home/
exposed-pages.tsx
test-broken-remotes.tsx
test-remote-hook.tsx
test-shared-nav.tsx
index.tsx
shop/
exposed-pages.js
index.js
products/
[...slug].js
test-webpack-png.js
test-webpack-svg.js
public/
.gitkeep
favicon.ico
webpack.png
webpack.svg
README.md
remotes.d.ts
tsconfig.json
3001-shop/
.env
.eslintrc.json
components/
exposedTitle.tsx
menu.tsx
nav.tsx
useCustomRemoteHook.tsx
WebpackPng.tsx
WebpackSvg.tsx
cypress/
cypress.config.ts
e2e/
app.cy.ts
fixtures/
example.json
support/
app.po.ts
commands.ts
e2e.ts
tsconfig.json
next-env.d.ts
next.config.js
package.json
pages/
_app.tsx
_document.js
checkout/
[...slug].tsx
[pid].tsx
exposed-pages.tsx
index.tsx
test-check-button.tsx
test-title.tsx
home/
exposed-pages.tsx
test-broken-remotes.tsx
test-remote-hook.tsx
test-shared-nav.tsx
index.js
index.module.css
shop/
exposed-pages.tsx
index.tsx
products/
[...slug].tsx
test-webpack-png.tsx
test-webpack-svg.tsx
styles.css
public/
.gitkeep
webpack.png
webpack.svg
README.md
remotes.d.ts
tsconfig.json
3002-checkout/
.env
.eslintrc.json
components/
ButtonOldAnt.tsx
CheckoutTitle.tsx
menu.tsx
stuff.module.css
cypress/
cypress.config.ts
e2e/
app.cy.ts
fixtures/
example.json
support/
app.po.ts
commands.ts
e2e.ts
tsconfig.json
next-env.d.ts
next.config.js
package.json
pages/
_app.tsx
_document.js
checkout/
[...slug].tsx
[pid].tsx
exposed-pages.tsx
index.tsx
test-check-button.tsx
test-title.tsx
home/
exposed-pages.tsx
test-broken-remotes.tsx
test-remote-hook.tsx
test-shared-nav.tsx
index.js
shop/
exposed-pages.js
index.js
products/
[...slug].js
test-webpack-png.js
test-webpack-svg.js
public/
.gitkeep
webpack.png
webpack.svg
README.md
remotes.d.ts
tsconfig.json
bundle-size/
.babelrc
CHANGELOG.md
cypress/
cypress.config.ts
e2e/
app.cy.ts
fixtures/
example.json
support/
app.po.ts
commands.ts
e2e.ts
tsconfig.json
package.json
README.md
remotes.d.ts
src/
bootstrap.tsx
HelloWorld.tsx
index.html
index.ts
tsconfig.app.json
tsconfig.json
webpack.config.js
esbuild/
build/
build.js
build-common.js
build-mfe1.js
build-shell.js
libs/
shared-lib/
index.ts
package.json
mfe1/
app.tsx
bootstrap.tsx
favicon.ico
federation.config.js
federationInit.js
index.html
main.ts
styles.css
package.json
README.md
shell/
app.tsx
bootstrap.tsx
decl.ts
favicon.ico
federation.config.js
index.html
main.ts
styles.css
tsconfig.json
manifest-demo/
3009-webpack-provider/
.babelrc
package.json
public/
.gitkeep
webpack.png
webpack.svg
src/
App.tsx
bootstrap.tsx
Button.tsx
components/
useCustomRemoteHook.tsx
WebpackPng.tsx
WebpackSvg.tsx
index.html
index.ts
tsconfig.app.json
tsconfig.json
webpack.config.js
3010-rspack-provider/
package.json
rspack.config.js
src/
App.tsx
bootstrap.tsx
Button.tsx
components/
ButtonOldAnt.tsx
stuff.module.css
index.html
index.ts
tsconfig.app.json
tsconfig.json
3011-rspack-manifest-provider/
package.json
rspack.config.js
src/
App.jsx
asyncFile.ts
bootsrtap.jsx
index.html
index.js
tsconfig.app.json
tsconfig.json
3012-rspack-js-entry-provider/
package.json
rspack.config.js
... 1600 moreShowing a partial view of a very large repo.
FAQ
core is a Claude Code plugin with hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.