FujoWebDev / FujoWebDev/fujocoded-plugins

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

Abierto
#49 0 comentarios 0 reacciones 0 asignados Ver en GitHub
zod-transform-socials
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.