Introduce Path abstraction
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Like the one already used in `hackage-security`.
We want to have `Absolute` rooted `Path`s, but also more specific like `StoreDir`, or `PackageDir` and `ProjectDir` which all would make handling paths a bit more robust.
It would helped a lot in my recent sdist refactor. Getting relative to `PackageDir` paths is tricky, not sure if I haven't missed any.
I however suggest to store these (file paths) in native way. (Not in POSIX like `paths` library does), because I'm quite sure that conversion from Windows to Posix and back won't roundtrip on fancier paths there might be. Therefore we might need separate PosixPath for tarballs etc if we end up needing such notion (and we might, index files...)
Contributor guide
Research direction
Start by comparing the Path abstraction already used in hackage-security and reviewing the recent sdist refactor mentioned in the issue. Investigate how Absolute, StoreDir, PackageDir, and ProjectDir would fit native platform paths, and clarify the required scope and acceptance criteria before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100