FujoWebDev / FujoWebDev/fujocoded-plugins
Add option to preserve username case in zod-transform-socials (GitHub/Twitter/AO3)
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 30
- フォーク
- 7
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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".
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず zod-transform-socials の実装を見つけ、サービスとの照合前に完全な URL が小文字化されている箇所を追跡します。GitHub、Twitter/X、AO3、NPM について必要な処理を比較し、そのうえで変更に preserveCase、canonicalCase、またはその両方を使用すべきかを明確にします。ホスト検出では大文字と小文字を区別しないまま、サポート対象のユーザー名とパスでは意図した大文字・小文字を保持し、観測可能な出力と破壊的変更時の動作が文書化されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- tooling
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100