effector / effector/router

Support full-URL path patterns (micro-frontends) in @effector/router-paths

Open
#67 0 comments 0 reactions 0 assignees View on GitHub
atomic-router feature parity enhancement scope:documentation scope: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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.