FujoWebDev / FujoWebDev/fujocoded-plugins
Add option to preserve username case in zod-transform-socials (GitHub/Twitter/AO3)
- Lenguaje dominante
- TypeScript
- Estrellas
- 30
- Forks
- 7
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
`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`".
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza por localizar la implementación de zod-transform-socials y rastrear dónde se convierte la URL completa a minúsculas antes de la coincidencia con el servicio. Compara el tratamiento necesario para GitHub, Twitter/X, AO3 y NPM, y aclara después si el cambio debe usar preserveCase, canonicalCase o ambos. Se considera terminado cuando la detección del host sigue sin distinguir entre mayúsculas y minúsculas, mientras que los nombres de usuario y las rutas compatibles conservan el uso de mayúsculas y minúsculas previsto, y se documentan la salida observable y el comportamiento de los cambios incompatibles.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100