Denoで使えるライブラリ集
型関連
型に関係するライブラリ
Dataclass
Typescript/Javascriptで構造体に近いデータ型を定義するための糖衣構文。
https://github.com/alexeyraspopov/dataclass
ts-pattern
TypeScriptでパターンマッチをするためのライブラリ。
https://github.com/gvergnaud/ts-pattern
monads
TypeScriptでRust likeなResult型などを提供するライブラリ。
https://github.com/sniptt-official/monads
unknownutil
Denoでunknownな型を扱うためのライブラリ。
https://github.com/lambdalisue/deno-unknownutil
TheAlgorithms
あらゆる言語でのアルゴリズムの実装例がまとまっているプロジェクトのTheAlgorithmsではTypeScriptもサポートされている。
https://github.com/TheAlgorithms/TypeScript
Zod
言わずと知れたTypeScriptのバリデーションライブラリ。
https://github.com/colinhacks/zod
フロントエンド
Webサイトの構築などで使えるライブラリ/ツールなど
twind
つい最近バージョンがアップして破壊的変更があった。
古めのプロジェクトではマイグレーションがされていないものもあるので注意。
また、検索すると一番上に出てくるhttps://twind.dev
は旧バージョンの公式サイトなので注意。
最新版のサイトはhttps://twind.style
。
https://github.com/tw-in-js/twind
Fresh
Deno公式のフルスタックWebフレームワーク。 同じくDeno公式が提供しているデプロイサービスDeno Deployにてデプロイされることを想定して設計されている。
- Astroなどで採用されているIslands Architectureを採用
- エッジで実行される想定からSSGをサポートしていない
- フロントエンドライブラリにはPreactを採用
などの特徴がある。特に最後のPreactを採用していることに関しては、Reactのライブラリが使えない可能性があるので要注意。
Hono
CloudFlare WorkersなどのEdge環境で実行される事を想定している軽量で高速なWebフレームワーク。 そのシンプルな設計と実効速度からEdgeでのAPI開発において採用するケースが増えている。
https://github.com/honojs/hono
- Lume Deno公式が開発しているDenoで作られたSSG。 (FreshがSSG出来ないのでその補完で作られたと予想)
SaaSKit
DenoとFreshで構築されているSaasテンプレート。SupabaseやStripeなどもサポートされている。
Terminal
ターミナルアプリケーションをつくるためのライブラリなど
Cliffy
Denoでコマンドライン引数をパースするためのライブラリ。
https://github.com/c4spar/deno-cliffy
Tool
DenoのためのツールやDenoで作られたツールなど
dnt
Deno公式が開発しているDenoで作られたパッケージをnpm向けに変換するためのツール。 これを使うことでDeno firstなパッケージ開発をすることが出来るようになる。
拙作のDeno/npmパッケージmiauth.js
はこのツールを使ってDeno/npm両対応を実現している。
これについてはMisskeyアドカレの記事でも触れているのでぜひ
https://github.com/denoland/dnt
API/サービス
Denoで実装されたAPIやDenoに関連するAPIなど。
Deno Avatar
良サービスなのにイマイチ知名度が低いサービス。 アクセスするとランダムでかわいいDenoのアバター(アイコン)が返ってくる。 自分はフロントのアバター画像のモックなどで使っている。
Deno sheld
GitHubのREADMEの上部によく貼ってあるバッジのDeno版を取得できるサービス。
nest.land
ブロックチェーンベースのパッケージレジストリ。一度公開されたファイルは決して変更されないなどの特徴がある。
emoji2svg
拙作の絵文字をTwemoji SVGに変換するAPI。 リンクがSVGに置換される仕様なので、Markdownなのどに好きなサイズのTwemojiをSVGとして埋め込むことが出来る。 自分のリポジトリのアイキャッチのほとんどはこのAPIを使って絵文字を埋め込んでいる。