Zero-Config CLI & Framework for React Native Module Federation + Expo.
ESAD is a unified toolkit designed to abstract all the complexity of Super App development. It bridges Expo SDK 52 and Re.Pack 5 (Rspack) into a professional, linear workflow.
- ⚡ Zero-Config Native: Automatic Android/iOS patching via Expo Config Plugins. No more manual Gradle or Manifest edits.
- 🚀 Rspack Powered: Blazing fast bundle generation for both Host and Remote Modules.
- 🛡️ Authenticated Remotes: Built-in support for JWT-signed bundle resolution and dynamic module discovery.
- 📦 Shared Memory Bridge: Reactive global state across federation boundaries using the ESAD Client SDK.
- 🧹 Lifecycle Maestro: Automated
prebuild, script fixing, and dev-server management.
Creates the project root, a programmable esad.config.js, and the Host Application.
npx @codemoreira/esad init my-super-appCreate new Federated Modules with built-in navigation and shared state examples.
esad create my-feature --type moduleThe dev command handles everything: Prebuilds, Script Fixing, and Native Launch.
Run the Host App:
esad devChoose Android or iOS. The CLI will automatically run expo prebuild if native folders are missing.
Run a specific Module (in a separate terminal):
esad dev my-feature --port 9000The withESAD wrapper automates Module Federation v2 setup and dynamic exposes:
import { withESAD } from '@codemoreira/esad/plugin';
export default withESAD(env, {
type: 'module',
id: 'my-feature',
dirname: __dirname
});Share state across the Host and all Remote Modules reactively:
import { useESADState } from '@codemoreira/esad/client';
const [user, setUser] = useESADState('auth_user');
const [counter, setCounter] = useESADState('global_counter', 0);For technical diagrams, lifecycle details, and the "Zero-Config" philosophy, see ESAD_ARCHITECTURE.md.
ESAD templates provide a high-end starting point:
- Navigation Multi-página: Federated modules with internal stack navigators.
- Real Auth: Integration-ready for Simple-CDN registries via JWT.
- Smart UI: Pre-configured Skeletons, Typography, and Modern Dark Mode.
Tip
Why ESAD? React Native Module Federation is hard. ESAD makes it as easy as a standard Expo app while keeping the power of dynamic micro-frontends.