FujoWebDev / FujoWebDev/fujocoded-plugins

Add option to preserve username case in zod-transform-socials (GitHub/Twitter/AO3)

Offen
#49 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
zod-transform-socials
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.