everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
65 lines (48 loc) • 1.8 kB
Markdown
# everything-dev
A consolidated product package for building Module Federation apps with oRPC APIs.
## Subpath Exports
- `everything-dev/types` - Zod schemas and TypeScript types
- `everything-dev/config` - Config loading and resolution
- `everything-dev/shared` - Shared dependency policy generation
- `everything-dev/mf` - Module Federation runtime utilities
- `everything-dev/plugin` - Plugin authoring (re-exports from every-plugin)
- `everything-dev/api` - API plugin loading and router stitching
- `everything-dev/host` - Host server orchestration
- `everything-dev/cli` - CLI entry point and plugin workspace commands
### Plugin commands
- `bos plugin add <source>` - attach local or remote plugins
- `bos plugin remove <key>` - detach a plugin
- `bos plugin list` - list configured plugins
- `bos plugin publish <key>` - publish one plugin package
## Demo
See `demo-next/docs-book/` for a minimal example that demonstrates:
- Host server loading UI and API remotes via MF manifest
- API plugin with oRPC contract
- UI with TanStack Router
- E2E tests with Playwright
## Quick Start
```bash
# Build the package
cd packages/everything-dev
npm run build
# Run the demo
cd ../../demo-next/docs-book/host
npm run dev
```
## Architecture
```
bos.config.json
↓
everything-dev/config (load + resolve)
↓
everything-dev/shared (generate shared deps policy)
↓
everything-dev/host (orchestrate)
├── everything-dev/api (load API plugins via MF)
└── everything-dev/mf (load UI remote via MF)
```
## MF Manifest Standard
All remotes (UI + API) use `mf-manifest.json` as the standard entry point:
- `ui.entry = <uiBaseUrl>/mf-manifest.json`
- `api.entry = <apiBaseUrl>/mf-manifest.json`
This ensures consistent remote loading across Node SSR and browser environments.