プラットフォームを普通に作っていました。
いつもの流れです:
フロントエンドを構築し、バックエンドを接続し、フォームやバリデーションを扱う… いつもの作業です。
ある時点で、バリデーションが必要になりました(どのアプリでも必要ですよね)。
当然、こう思いました:
「よし、ライブラリを入れて先に進もう」
でも、何か違和感を覚えました。
🤔 きっかけとなった考え
同じ問題が何度も発生しました:
- 一部のライブラリは重すぎると感じた
- 他のものは抽象的すぎると思った
- シンプルなものが必要なのに、結局多くのコードを書く羽目になった
そして、ふとこんな考えが浮かびました:
「自分でバリデーションシステムを作ってみたらどうだろう?」
何かに勝とうと思ったわけではありません。
大それた計画があったわけでもありません。
ただの好奇心です。
🧪 とても小さなところから始まった
最初は本気ではありませんでした。
こんな感じのものです:
const schema = {
email: { rule: "email", errorMsg: "Invalid email" }
};
Enter fullscreen mode Exit fullscreen mode
そして、データに対してスキーマを検証するシンプルな関数を作成しました。
それだけです。
大規模なアーキテクチャも、深く考え込むこともありませんでした。
😅 そして、どんどん大きくなっていった…
プラットフォームの構築を続ける中で、改善を重ねました:
- より多くのルールを追加
- エラーハンドリングをよりクリーンに
- スキーマの書き方をよりシンプルに
- 構造を何度も調整
そして徐々に…「ただの小さなヘルパー」ではなくなっていきました。
本物のような感覚が芽生え始めました。
🚀 予想していなかった展開
ある時点で一歩引いて気づきました:
「待って…これは本格的なバリデーションライブラリになりつつある」
正直、最初からそんな目標はありませんでした。
ただ別のものを作りながら、自分の問題を解決しようとしていただけでした。
🧠 この経験から学んだこと
いくつかの気づきがありました:
- 常に大きなアイデアから始める必要はない
- 「自分のプロジェクトのためだけに作る」ことが、思わぬ大きな成果につながることもある
- シンプルさは複雑さよりも実は難しい
- そして最も重要なのは…実際に作ることで多くのことを学べるということ
📦 drea のご紹介
そうして、その小さな実験に名前がつきました:drea
特徴は:
- 軽量
- ルールベース
- 使いやすい
複雑なチェーンはありません。
不要な抽象化もありません。
ただストレートなバリデーションです。
🙌 まだ初期段階 — フィードバックをお待ちしています
現在も改善を続け、将来性を模索しています。
もしバリデーションライブラリが「やり過ぎ」と感じたことがあるなら、
ぜひご意見をお聞かせください。
こんなものを利用してみたいと思いますか?
どんな機能を期待しますか?
💭 最後に
これは計画していたことではありませんでした。
最初はこう思っただけでした:
「この小さな問題をさっと解決しよう…」
ドキュメントはこちら:https://drea-docs.netlify.app
そして、気づけばこうなっていました:
「ライブラリを作ってしまったかも」
不思議なものです。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.