{"id":13623584,"url":"https://github.com/unstubbable/mfng","last_synced_at":"2025-04-07T16:17:49.860Z","repository":{"id":143546342,"uuid":"605639383","full_name":"unstubbable/mfng","owner":"unstubbable","description":"A Minimal React Server Components Bundler \u0026 Library","archived":false,"fork":false,"pushed_at":"2024-09-26T14:18:39.000Z","size":1518,"stargazers_count":431,"open_issues_count":2,"forks_count":14,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-25T03:45:56.267Z","etag":null,"topics":["aws","cloudflare","cloudflare-workers","react","react-server-components","rsc","serverless","webpack"],"latest_commit_sha":null,"homepage":"https://mfng.unstubbable.workers.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unstubbable.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-23T15:31:58.000Z","updated_at":"2024-10-09T20:23:31.000Z","dependencies_parsed_at":"2023-11-12T13:25:49.608Z","dependency_job_id":"5ce7acb0-7ee0-40fc-a1ba-ab2946164500","html_url":"https://github.com/unstubbable/mfng","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unstubbable%2Fmfng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unstubbable%2Fmfng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unstubbable%2Fmfng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unstubbable%2Fmfng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unstubbable","download_url":"https://codeload.github.com/unstubbable/mfng/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685628,"owners_count":20979085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cloudflare","cloudflare-workers","react","react-server-components","rsc","serverless","webpack"],"created_at":"2024-08-01T21:01:33.420Z","updated_at":"2025-04-07T16:17:49.828Z","avatar_url":"https://github.com/unstubbable.png","language":"TypeScript","readme":"# MFNG\n\n⚗️ A Minimal React Server Components Bundler \u0026 Library\n\n## Packages\n\nMFNG offers two packages that together enable the building of a production-ready\nRSC app.\n\n### `@mfng/core`\n\nThis package contains the essential building blocks required on both the server\nand the client to create a streaming, server-side rendered, and properly\nhydrated RSC app. It also provides utilities that are needed for server-centric,\nclient-side navigation.\n\n↪\n[Documentation](https://github.com/unstubbable/mfng/blob/main/packages/core/README.md)\n\n### `@mfng/webpack-rsc`\n\nThis package provides a set of Webpack loaders and plugins required for building\nan RSC application bundle for the browser, as well as for the server. The server\nbundle can be deployed to any serverless, edge, or Node.js-based environment.\n`@mfng/webpack-rsc` can be used standalone as an RSC bundling solution or in\nconjunction with `@mfng/core`.\n\n↪\n[Documentation](https://github.com/unstubbable/mfng/blob/main/packages/webpack-rsc/README.md)\n\n## Features\n\n- [x] React server components\n- [x] Server-side rendering\n- [x] Client components, lazily loaded as separate chunks\n- [x] Server actions\n  - [x] passed as props from the server to the client\n  - [x] imported from the client\n  - [x] top-level functions/closures with inline `'use server'` directive\n  - [ ] auto-binding of closed-over variables (not planned)\n- [x] Progressively enhanced form actions\n- [x] Suspensy routing\n- [x] Production builds\n- [x] Development server\n- [x] Serverless deployment examples\n  - using a [Cloudflare Worker](https://workers.cloudflare.com)\n  - using a\n    [Vercel Edge Function](https://vercel.com/docs/functions/edge-functions)\n  - using an [AWS Lambda Function](https://aws.amazon.com/lambda/), with\n    [AWS CloudFront](https://aws.amazon.com/cloudfront/) as CDN\n- [x] Support for\n      [poisoned imports](https://github.com/reactjs/rfcs/blob/main/text/0227-server-module-conventions.md#poisoned-imports)\n- [x] Support for the [Vercel AI SDK](https://sdk.vercel.ai/docs)\n- [ ] Partial prerendering\n- [ ] Advanced routing\n\n## Name Origin\n\nThe name MFNG stands for \"Microfrontends Next Generation\". The project was\noriginally motivated by the following questions:\n\n\u003e Do we still need to deploy microfrontends and their APIs (also known as BFFs –\n\u003e Backends for Frontends) independently of the main app? Or can we integrate\n\u003e them at build-time, though dynamically composed at run-time, and allow them to\n\u003e use server components to fetch their data on the server?\n\nIt has since evolved into a general-purpose RSC library, not specifically\ntargeted at the microfrontends use case... until we explore some form of\nfederation integration, as pioneered by\n[federated-rsc](https://github.com/jacob-ebey/federated-rsc/), perhaps.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funstubbable%2Fmfng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funstubbable%2Fmfng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funstubbable%2Fmfng/lists"}