Make Navs Fable Compatible
- Dominant language
- F#
- Stars
- 18
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
TBH I think in the fable world there's much better routers/parsers to work with which are already integrated with the browser APIs but if we're able to make the navs family fable-compatible I think there use cases for some folks, especially for those doing cross-platform work and don't want to go the blazor way
`URLTemplates` is not fable compatible due FParsec, I found these possible alternatives
- https://github.com/OnurGumus/ScanRat2 <- fable compatible but the API might be quite different to FParsec
- https://github.com/cannorin/Parsec.fs <- hasn't been touched in 5 years (perhaps because FParsec's API is quite stable?)
- https://github.com/SchlenkR/TheBlunt <- Similar to FParsec but deviates in some behaviors.
`Navs` itself doesn't have any particular logic that is not fable-compatible however we use `IcedTasks` for ease of convenience in some areas, we'd need to strip out `IcedTasks` and it's convenient features like async CE polyfills, valueTask CEs and other stuff.
I think that's what could prevent us from creating a `Navs.Fable` package, I don't have any particular interest in fable compatibility for the moment, so I'll leave it to the community if someone wants to jump in I'm open for it
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by auditing URLTemplates and Navs for their dependencies on FParsec and IcedTasks. Compare the mentioned Fable-compatible parser alternatives and identify what would be required for a Navs.Fable package; done means the compatibility scope and package approach are established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp
- Domain
- web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100