作りたいパッケージ
npm
実際LaravelのCollectionはそれだけで一つ切り出したいほどよいコンポーネントなのでjsにも欲しいのはうなずける
jsの貧弱な標準ライブラリに足りないメソッドを分かりやすいインターフェースで提供しているだけだがcollection処理する場合はかなり使いやすい
mapやallなど
lodashに近い
特にLaravelと連携する場合サーバとclientで同一のインターフェースでメソッドを呼び出せるのが大きくシナジー効果がある
jestをpestにしたようにそれぞれポート可能な代表的なライブラリやオブジェクトをお互いに移植する 優れたインターフェース(API)のあるオブジェクトはそれだけで価値がある
事実上の標準になりうるレベルのコンポーネントが望ましい
js
jest
mocha
flow
axios
yarn
npm
parcel
chai
prettier
php
Laravel
Collection
Arr::getやStr::containsなどのutilityヘルパー
JSで同じインターフェースを使えば扱いやすくなる
bladelint
bladeをlintする
blade-fomatterでbladeをformat出来るようになったのでlintで特定のルールに従ってない場合はlintメッセージを出す
online regex tester
regex101は良いUIで早くて実用的だけどClosed SourceでSaved Queryするとサーバにデータが送信される点でプライバシー的に許容出来ない
OSSかつlocalStorageにクエリを保存するものが欲しい
Vercel上であればホスティング費用を抑えつつプライバシーにも配慮したdistributionが出来る
vscode-extension-stats
vscode market内でのinstall数のランキング等
APIで取得可能であれば
現在ダッシュボードから見れるのが90日前からのDL数推移と総DL数のみなので
chrome-extension-stats
chrome extensionのinstall数ランキング等
APIで取得可能であれば
GitHub Action
git diffからPRを作成するaction
何かしらAction上でコマンド操作した結果をPRとしてcronで出す等に使う
GraphQLスキーマから指定したTypeに準じたExampleのJSONを出力
faker, graphql/languageからparseしたfieldのTypeに準じてExampleの値を変える
組み込み型はfakerで出力しcustom Typeは内部で解決
入れ子関係になる場合もあるのでmax-depthを指定して最大何回層までのJSONを出力するのか指定する
bump-ecs-service
clusterとserviceを指定したら既に指定されているtask definitionの最新task definitionでserviceを更新するだけのやつ
command line向けの使いやすいHTTP Client
curlはさすがに時代を感じる
httpieもよいがなんか直観的ではない
というかなんか手に馴染まない
curl likeではあるけどcurlを拡張したようなものが欲しい
実際curlに足りていないのはJSON周りの扱いと認証ヘッダ周りの扱いぐらい
firestore用のCLI
いい感じのあるか分からないけど
fake image generator
CLIでjpgやpngなどfake imageを指定した数だけ生成出来るやつ
Rustで素振りしたい
docker-compose.yml generator
毎回手動で書いてる気がするが実際ある程度テンプレートは決まってる
app nginx mysql redis, mailhog, minio辺り
手動で書くことにはなるがある程度実績のあるテンプレートからセレクト出来ないかなというのはある
なにか適当な小さいパッケージのLexer及びParser実装
JSONでもいい
今一一般的なLexerやParserのアルゴリズムを理解せずにformatterを書くのは危険な気がするので
ディレクトリ構造を保ったままコピーするcp
tailwindcss-classes-sorter -> 出来た tailwindcssのclassをsortする
tailwind.config.jsのsettingを使用
blade-formatterで使用する
html attribute sorter
bladeでのhtml attributeのsortをしたいというfeatureリクエストがあったので prettier pluginとしてはあるが独立して使用したい Redisのmigrationツール
色々探したがredis-cluster, 通常のcluster disabled redis間やバージョンの異なるRedisやネットワーク越しでmigration出来るようなものがない
最近Clusterが本格的にProductionで利用されはじめて利用しやすくなってきたので移行したい需要がある
Cluster接続のサポートや認証のサポートなどが必要
オーバーヘッドが大きいのでesmようにgolangもしくはRustなどで実装するとクライアント自体のボトルネックを解消出来るかもしれない
Makefile compatibleなタスクランナー
Offline動作する各種リファレンス
各種言語公式リファレンス
backlog issue 1234 --web みたいにやるとbacklogの該当チケットが開くみたいな
backlog.jsonみたいな形でプロジェクト設定ファイルを用意しておけばゼロコンフィグで動く
gh cliと同じようにaliasが設定出来る
CLIで直接チケットを見ることが出来なければ一旦Webを開ければ十分
PHPの依存をまとめたスターターコンテナイメージ
minimum & blazing fast
データジェネレーター
mysqlにload出来るもの
Go実装はあるのでRust実装やZig実装など
LOAD DATA intoで高速化する. また一時的にindexを外し高速化する
PHP Fiberを使ったConcurrentなValidator
SequentialなValidationは遅い
Ruleは少なくともLaravel Compatibleでarray dataに対してそれぞれ複数指定出来るようなもの
カスタムのValidatorを渡せるのは必須
DB管理ツール
DBeaverがライセンス形式になってから一部機能がPROにしか提供されないなどなってきたので
クロスプラットフォームでMySQL, PostgreSQLに
定期的に特定のURLを開くChrome拡張 -> 作成済み 特定の時刻になったらあるURLを開くというだけの拡張
簡単だが自動化に有用
PHP-CS-FixerのRust版
というかLinterとFormatter諸々入っているbiomeみたいなツールチェイン
別にphp-cs-fixerでも実用上そこまで問題ないがbiomeのようなプロジェクトに比べるとやはり起動時のオーバーヘッドが気になる
php-cs-fixerだのPHPStanだの分散してるツールチェインがあまりPHPの体験としてよくない
少なくともphp-cs-fixerの主要ルールをサポートするFormatter、PHPStanの主要ルールをサポートするようなLinterが欲しい
pxpというツールチェインをRustで書いてるらしい. phpのsupersetを目指しているらしいけどそっちの方向はあまり筋がよくないように思える
あくまでPHPの最新の機能に追従するLinterとFormatterに用途を限定して欲しい
1年以上前に公式で作者がblogを書いていたがまだunreadyな状態なのは何か問題に当たっているのか?
例えばFormatter自体は作れてもLintするにはPHPのクラス解決が正しいかを実際にresolveしないと分からない気がするがparserとlexerだけでも実現出来るのか?
biome自体はRustのみでLint
NVMのRust版
nodeのversion manager色々あるがなんかどれも遅いので
高速にインストール切り替えが出来るやつがいい
Gmailの日時を現在の日付から計算して何年前か日時に付け足すブラウザ拡張
3 years ago, 3年前のようにローカライズはされてる前提
day.jsなど使えばそこまで難しくはないはず
DOMの仕様変更で日時のelementを取得出来なくなるなどはありそう
TUIのチャットアプリCLI
メンション補完が効けば大体問題ない気はする
Amazon URL短縮ブラウザ拡張
既にあるといえばあるけど
ただリポジトリを公開していなかったり出所のよく分からない拡張を入れたくないのでそれなら自分で作りたい
screenshotの周りに自動で枠線を作るクロスプラットフォームなツール
WindowsではShareXのようなスクリーンショットツールで自動的に枠線が付けれるがLinuxではShareXは無くWineなどを使うなどwork aroundが必要.
flameshotなどシンプルなツールと別のツールとしてauto borderのようなクロスプラットフォームで画像を受け取り枠線を作るようなツールがあるといい
インターフェースはパイプで標準入力から受け取れるのがいいがWindowsだとパイプに相当する操作があるのか?
高速なphpstan
ファイル数が多くなってくるとphpstanが大分遅くなるので生産性にインパクトがある
基本的なphpstanのルールをサポートしつつRustやgoなど高速にスキャン可能なツール
Inertia.jsの記述からAPI仕様書を自動生成するパッケージ
MPAとSPAの中間のような形態のためOpenAPIのように定形の仕様書で記述しづらい
これを解決するパッケージが必要
ある一定のフォーマットを定義してその定義ファイルから仕様書を自動生成するか、ファイル自体の記述から成果物を生成するかの二択
真っ当にやるならOpenAPIのようにspecファイルを作成してそのテストに通っているかということをPHPUnitなどで確認するのがよい
仕様書はspecファイルから自動生成でhtml形式か自動公開出来る形式だとよい