FujoWebDev / FujoWebDev/fujocoded-plugins
Add option to preserve username case in zod-transform-socials (GitHub/Twitter/AO3)
- Vorherrschende Sprache
- TypeScript
- Sterne
- 30
- Forks
- 7
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
`zod-transform-socials` lower-cases the whole URL before matching, which means usernames are also lower-cased for services that preserve case. For example, `github.com/FujoWebDev/AO3.js` is reported as `fujowebdev/ao3.js`.
Lower-casing is needed for host detection (so `BSKY.APP` matches `bsky.app`), but it should not apply to the username (or at least, it should be an option not to apply it).
Among services affected:
- GitHub— org and repo names preserve case.
- Twitter/X — handle display preserves case.
- AO3 — usernames and pseuds preserve case.
- NPM is affected in that older package names could be uppercase/lowercase, but now they're all lowercase. With that said, the install is case sensitive.
This changes observable output, so it is a breaking change. We could mitigate it by adding a `preserveCase` setting and/or a `canonicalCase` option for known addresses that one may want to keep consistent. We could also consider exporting convenience methods like "`isSameProfile`".
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, die Implementierung von zod-transform-socials zu lokalisieren und nachzuverfolgen, wo die vollständige URL vor dem Abgleich mit dem Dienst in Kleinbuchstaben umgewandelt wird. Vergleiche die erforderliche Verarbeitung für GitHub, Twitter/X, AO3 und NPM und kläre anschließend, ob die Änderung preserveCase, canonicalCase oder beides verwenden sollte. Als erledigt gilt die Änderung, wenn die Host-Erkennung ohne Beachtung der Groß-/Kleinschreibung funktioniert, während unterstützte Benutzernamen und Pfade ihre vorgesehene Groß-/Kleinschreibung beibehalten, und wenn die beobachtbare Ausgabe sowie das Verhalten bei inkompatiblen Änderungen dokumentiert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100