NEARBuilders / NEARBuilders/everything-dev
v2-platform: 07 all web plugins grafted — expand-contract migration off the monolith
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 6
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
Parent
#274 (v2 platform services spec)
What to build
All web plugins as grafted remotes — the expand-contract migration of the existing monolithic UI: plugin-by-plugin, the current route tree splits into independently deployed web-plugin remotes (public, anon, authenticated, admin surfaces), each grafted through the engine from the grafting ticket, with auth, locale, and the typed API client injected via root-route context. The monolith keeps serving until every surface is grafted and verified, then the flip removes it. Route collisions resolve first-wins with namespaced ids. This is the ticket that makes the real application fully composed from MF remotes.
Acceptance criteria
- Every existing UI surface (public, anon, authenticated, admin) renders from a grafted remote plugin after the flip, feature-parity verified by the regression browser suite
- Auth gating, locale behavior, and apiClient usage work identically to the monolith
- The flip is atomic: no window where surfaces are served half-monolith/half-grafted
- Each web plugin builds and deploys independently through the deploy service
- The monolith is deleted at contract time with no remaining callers
Blocked by
- #276 (grafting engine in the real host)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading parent issue #274 and the blocked grafting-engine issue #276 to understand the required host integration. Use the regression browser suite to compare all public, anonymous, authenticated, and admin surfaces with the monolith. Done means every surface runs from independently deployed remotes, the flip is atomic, and the monolith has no remaining callers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100