Support full-URL path patterns (micro-frontends) in @effector/router-paths
- Dominant language
- TypeScript
- Stars
- 8
- Forks
- 2
- Avg merge
- 13h 44m
- Merged PRs (30d)
- 1
Description
### Problem
atomic-router escapes `://` so a full URL can be used as a route path (`https://host/app/:id`) — used in micro-frontend setups matching absolute links. The `@effector/router-paths` compiler tokenizes on `/`, so `://` in a pattern currently breaks compilation. The rest of the MF story already works (per-MF `base`, shared `createRouterControls`, `queryAdapter({ key })` for layering routers on one URL) but is not documented as a pattern.
### Proposed solution
Two parts. (1) Teach the tokenizer (`prepare-parser`/`prepare-builder`) to treat `://` as an opaque segment boundary instead of splitting it — full-URL patterns compile and match; pure grammar extension, existing paths unaffected. (2) Add a "Micro-frontends" docs page describing the recommended composition: one router per MF with its own `base`, optional shared controls, `queryAdapter` keyed mode for overlay routers, and full-URL patterns for absolute matching.
### Alternatives considered
Pre-encoding `://` in userland patterns — leaks into `build()` output and every `Link` href.
### Package
`@effector/router-paths`
Contributor guide
Research direction
Start with the @effector/router-paths tokenizer and builder components named prepare-parser and prepare-builder, then trace how a full-URL pattern is compiled and matched without changing existing paths. Review the package documentation structure and add a Micro-frontends page covering per-MF base values, shared router controls, keyed queryAdapter usage, and full-URL patterns.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100