元記事: Awesome Node.js
Awesome List in Qiita
- Awesome Ruby
- Awesome Java
- Awesome JavaScript
- Awesome Python
- Awesome Go
- Awesome Selenium
- Awesome Appium
パッケージ
マッドサイエンス
- webtorrent - Node.js とブラウザ用のストリーミングトレントクライアント.
- peerflix - ストリーミングトレントクライアント.
- dat - データセットのリアルタイムレプリケーションとバージョン管理.
- ipfs - すべてのコンピューティングデバイスを同じファイルシステムで接続しようとする分散ファイルシステム.
- stackgl - browserify と npm 上に構築された, WebGL のためのオープンソフトウェアエコシステム.
- peerwiki - BitTorrent の Wikipedia.
- peercast - トレントの動画を Chromecast にストリーミングします.
- BitcoinJS - きれいで読みやすく, 実績のある Bitcoin ライブラリ.
- Bitcore - 純粋で強力な Bitcoin ライブラリ.
- PDFKit - PDF 生成ライブラリ.
- turf - モジュール型地理空間処理および解析エンジン.
- webcat - GitHub のプライベート/パブリックキーを使用して認証することで, Web 上の p2p パイプを介して WebRTC を使用します.
- NodeOS - npm で動く初のオペレーティングシステム.
- YodaOS - AI オペレーティングシステム.
- Brain.js - 機械学習フレームワーク.
- Cytoscape.js - グラフ理論(別名ネットワーク)のモデリングと解析.
- Kadence - Kademlia 分散ハッシュテーブル.
- seedshot - ブラウザの一時的な P2P スクリーンショットの共有.
- js-git - Git の JavaScript 実装.
- skale - 高性能分散データ処理エンジン.
- xlsx - エクセルスプレッドシートリーダ・ライター.
- isomorphic-git - 純粋な JavaScript による git の実装.
コマンドラインアプリケーション
-
np - より良い
npm publish
. - npm-name - そのパッケージが npm で入手可能かどうかを確認します.
- gh-home - 現在のディレクトリのリポジトリの GitHub ページを開きます.
- npm-home - パッケージの NPM ページを開きます.
-
trash - 安全な
rm
コマンドの代替品. - speed-test - インターネット接続速度と ping をテストします.
- emoj - コマンドラインで, 入力したテキストに関連する絵文字を検索します.
- pageres - ウェブサイトをキャプチャします.
- cpy - ファイルをコピーします.
- vtop - より良いトップとチャート.
- empty-trash - ゴミ箱を空にする.
- is-up - ウェブサイトがアップであるかダウンであるかをチェックします.
- is-online - インターネット接続が確立しているかどうかを確認します.
- public-ip - パブリック IP アドレスを取得します.
- clipboard-cli - ターミナルでコピー&ペーストができます.
- XO - JavaScript に厳密なコードスタイルを適用します.
- Standard - JavaScript 標準スタイル - すべてを統治する1つのスタイル.
- ESLint - JavaScript 用の, プラグイン可能なリンキングユーティリティです.
- dev-time - GitHub ユーザの現地時間を取得します.
- David - あなたのパッケージの npm 依存関係が古くなった時に教えてくれます.
- http-server - シンプルで設定を必要としないのコマンドライン HTTP サーバー.
- Live Server - ライブリロード機能を備えた HTTP サーバーを開発できます.
- bcat - Web ブラウザへのパイプコマンド出力.
- normit - 音声合成によるターミナルでの Google 翻訳.
- fkill - プロセスを驚異的に殺します. クロスプラットフォーム.
- pjs - パイプ可能な JavaScript を. ターミナルからすばやくフィルタリング, マップ, および縮小できます.
- license-checker - あなたのアプリの依存関係のライセンスをチェックします.
- browser-run - ブラウザ環境で簡単にコードを実行できます.
- tmpin - ファイル入力を受け付けるすべての CLI アプリケーションに stdin サポートを追加します.
- wifi-password - 現在の WiFi パスワードを取得します.
- wallpaper - デスクトップの壁紙を変更します.
- brightness - 画面の明るさを変更します.
- torrent - トレントをダウンロード.
- kill-tabs - すべての Chrome タブを強制終了して, パフォーマンスを改善し, バッテリーの使用量を減らし, メモリを節約します.
- alex - 敏感で控えめな文章をキャッチします.
- pen - お気に入りのエディタで書きながら, ブラウザでライブ Markdown プレビュー.
- subdownloader - 映画やテレビシリーズの字幕ダウンローダ.
- dark-mode - macOS をダークモードに切り替えます.
- iponmap - IP ロケーションファインダー.
- Jsome - 設定可能な色とインデントで JSON を素早く印刷します.
- itunes-remote - iTunes を対話的に制御します.
- mobicon - モバイルアプリアイコンジェネレータr.
- mobisplash - モバイルアプリのスプラッシュスクリーンジェネレータ.
- diff2html-cli - gif diff から HTML を作成するジェネレータ.
- Cash - 純粋な JavaScript による, クロスプラットフォーム Unix シェルコマンド.
- trymodule - 端末で npm パッケージを試せます.
- jscpd - ソースコード用のコピー/ペースト検出器.
- atmo - サーバーサイドの API をモックします.
- auto-install - コード作成時に自動的に依存関係をインストールします.
- lessmd - ターミナル上でマークダウンを開いたときに, 見やすくハイライトしてくれます.
- cost-of-modules - どの依存関係があなたを減速させているかを調べます.
- localtunnel - あなたのローカルホストを世界に公開します.
- svg-term-cli - SVG として端末セッションを共有する.
- gtop - ターミナル上で動作するシステム監視ダッシュボード.
- themer - エディタ, ターミナル, 壁紙, Slack などのテーマを生成します.
- carbon-now-cli - あなたのコードを美しい画像にします.
- cash-cli - 170 種類の通貨を換算できます.
- taskbook - コマンドラインで完結する, タスク, ボードそしてノート.
- discharge - Amazon S3 に簡単に静的サイトをデプロイできます.
- npkill - 古い/重い node_modules フォルダーを簡単に見つけて削除します.
関数プログラミング
- lodash - 一貫性, カスタマイズ性, パフォーマンス, およびその他関数を提供するユーティリティー・ライブラリー. より良く, より速い, Underscore.js.
- immutable - 不変データコレクション.
- Ramda - 自動カリンジングと逆の引数の順序によって有効にされる柔軟な関数構成に焦点を当てたユーティリティライブラリ. データの変更を避ける.
- Folktale - JavaScript のジェネリック関数プログラミングのためのライブラリスイートで, より少ないバグと, 再利用でエレガントでモジュラーなアプリケーションを作成できます.
- Mout - 他の既存のソリューションとの最大の違いは, 余分なオーバーヘッドなしで, 必要なモジュール/機能だけをロードすることができます.
- Bacon.js - 機能的リアクティブプログラミング.
- RxJS - さまざまな種類のデータを変換, 合成, および照会するための機能的なリアクティブライブラリ.
- Lazy.js - lodash / Underscore に似ていますが, 多くの場合, より優れたパフォーマンスに変換できる, 遅延評価を伴うユーティリティライブラリです.
- Kefir.js - 高性能・低メモリ使用に焦点を当てたリアクティブライブラリ.
HTTP
- got - 内蔵 http モジュールへのより洗練されたインターフェース.
- gh-got - got GitHub API とやり取りするための便利なラッパーです.
- axios - Promise ベースの HTTP クライアント (ブラウザでも動作します).
- request - 簡略化された HTTP リクエストクライアント.
- wreck - HTTP クライアントユーティリティ.
- download - ファイルを楽にダウンロードして抽出します.
- http-proxy - HTTP プロキシ.
- superagent - HTTP リクエストライブラリ.
-
node-fetch - Node.js の
window.fetch
. - flashheart - REST クライアント.
- http-fake-backend - 設定可能なルートを介して JSON ファイルまたはJavaScript オブジェクトのコンテンツを提供することにより, 偽のバックエンドを構築します.
- cacheable-request - RFC 準拠のキャッシュをサポートするネイティブ HTTP リクエストをラップします.
- gotql - got 上に構築された GraphQL リクエストライブラリ.
- global-agent – 環境変数を使用して設定可能なグローバル HTTP / HTTPS プロキシエージェント.
デバッグ / プロファイリング
- ndb - Chrome DevTools を使用することにより素晴らしいデバッグを体験することができます.
- ironNode - ES2015 をサポートする Node.js デバッガ.
- node-inspector - Blink Developer Tools に基づくデバッガ.
- debug - 小さなデバッグユーティリティ.
- why-is-node-running -Node.js が動作しているが, その理由がわからないときに.
- njsTrace - コードを計測してトレースし, すべての関数呼び出し, 引数, 戻り値, および各関数で費やされた時間を表示します.
- vstream - ストリームのパイプラインを検査するための計測可能なストリームミックスイン.
- stackman - コードの抜粋などを使って, エラースタックトレースを強化します.
- locus - 実行時にすべての変数にアクセスできる REPL を開始します.
- 0x - Flamegraph プロファイリング.
- ctrace - トレースシステムコールとシグナルを読みやすい形で出力できます.
- leakage - メモリリークテストが書けます.
- llnode - クラッシュした Node.js プロセスを調査することができる解析ツール.
- thetool - アプリのさまざまな CPU, メモリ, その他のプロファイルを Chrome DevTools 形式でキャプチャします.
- swagger-stats - API 呼び出しをトレースし, API のパフォーマンス, ヘルス, および使用状況のメトリックを監視します.
ロギング
- pino - Bunyan に触発された非常に速いロガー.
- winston - マルチトランスポート非同期ロギングライブラリ.
- console-log-level - ログレベルとカスタムプレフィックスをサポートする, 最もシンプルなロガー.
- storyboard - エンドツーエンド, 階層, リアルタイム, 多彩なログとストーリー.
- signale - 美しいアウトプットのハック可能な, コンソールロガー.
コマンドラインユーティリティ
- ansi-escapes - 端末を操作するための ANSI エスケープコード.
- ascii-charts - 端末 ASCII 棒グラフ.
- blessed - Curses のようなライブラリ.
- chalk - 端末文字列のスタイリングが正しく行われます.
- Caporal - ヘルプ生成, カラー出力, 冗長制御, カスタムロガー, 強制とキャスト, typos 提案, bash/zsh/fish のオートコンプリートを含む, コマンドラインアプリケーション(cli)を Node.js で構築するためのフル機能のフレームワーク.
- Commander.js - Ruby の Commander に触発された, Node.js CLI フレームワークです.
- conf - あなたのアプリやモジュールの設定を簡単に処理できます.
- cli-truncate - 文字列を端末の特定の幅に切り捨てます.
- cli-cursor - CLI カーソルを切り替えます.
- columnify - コンソール出力に適したテキストベースの列を作成します. セルの折り返しをサポートします.
- cli-columns - 列挙された unicode および ansi-safe テキストリスト.
- cli-table3 - 素晴らしい Unicode テーブル.
- cfonts - コンソール用のセクシーなASCIIフォント.
- meow - CLI アプリケーションヘルパー.
- yargs - 自動でエレガントなユーザインタフェースを生成する, コマンドラインパーサ.
- ora - エレガントなターミナルスピナー.
- get-stdin - 簡単に使える stdin.
- log-update - 出力を上書きしながらログを表示します. プログレスバー, アニメーションなどのレンダリングに便利です.
- Ink - インタラクティブなコマンドラインプロンプトアプリのための React.
- listr - 端末タスクリスト.
- log-symbols - さまざまなログレベルの色分けされたシンボル.
- figures - Windows CMD フォールバックを伴う Unicode シンボル.
- boxen - 端末にボックスを作成します.
- terminal-link - ターミナルにクリック可能なリンクを表示します.
- terminal-image - ターミナルに画像を表示します.
- string-width - 文字列の視覚的な幅を表示するために必要な列の数を取得します.
- first-run - プロセスが最初に実行されたかどうか確認します.
- Inquirer.js - インタラクティブなコマンドラインプロンプト.
- yn - yes / no のような値を解析します.
- drawille - 端末に点字で Unicode を描画します.
- update-notifier - あなたの CLI アプリのアップデートを知らせます.
- progress - 柔軟なアスキープログレスバー.
- insight - 匿名で Google アナリティクスに使用状況を報告することで, ツールの改善に役立ちます.
- multispinner - 複数の同時, 個別に制御可能な CLI スピナー.
- omelette - シェルオートコンプリートヘルパー.
- cross-env - クロスプラットフォーム環境変数を設定します.
- shelljs - 移植可能な Unix シェルコマンド.
- sudo-block - root 権限でアプリが実行されるのを防ぎます.
- loud-rejection - デフォルトのサイレント失敗ではなく, 未処理の約束拒否が大声で失敗するようにします.
-
sparkly - スパークラインを生成します.
▁▂▃▅▂▇
- Bit - リポジトリ間で小さなモジュールやコンポーネントを作成, 保守, 検索, 使用します.
- gradient-string - ターミナルで美しいグラデーション.
- oclif - パーサ, 自動ドキュメント, テスト, プラグインを備えた完璧な CLI フレームワーク.
- term-size - 確実にターミナルウィンドウのサイズを取得します.
- Cliffy - インタラクティブ CLI のためのフレームワーク.
ビルドツール
- parcel - 恐ろしく速く, 設定のいらない Web アプリバンドラー.
- webpack - ブラウザ用のモジュールとアセットをパックします.
- rollup - 次世代 ES2015 モジュールバンドラ.
- gulp - ストリーミングおよび設定上でコードを優先する高速ビルドシステムを.
- Broccoli - 高速, 信頼性の高いアセットパイプライン. 一定の時間再構築, コンパクトなビルド定義をサポートします.
- Brunch - シンプルで宣言的な設定, 高速でインクリメンタルなコンパイル, および熟考されたワークフローを備えたフロントエンド Web アプリケーションビルドツール.
- start - 構成可能な関数とプロミスチェーニングによって実行される単純なタスクランナー.
-
ygor - 有望なタスクランナー.
npm run
は不十分で, それ以外は過剰なために生まれた. - FuseBox - Webpack, JSPM, SystemJS の機能と, ファーストクラスの TypeScript サポートを組み合わせた高速ビルドシステム.
- pkg - Node.js のプロジェクトを, 実行可能ファイルにパッケージ化します.
ハードウェア
- johnny-five - Firmata ベースの Arduino フレームワーク.
- serialport - シリアルポートにアクセスして, 読み書きを行います.
- usb - USB ライブラリ.
- i2c-bus - I2C シリアルバスアクセス.
- onoff - GPIO アクセスと割り込み検出.
- spi-device - SPI シリアル・バスアクセス.
- pigpio - ラズベリーパイの高速 GPIO, PWM, サーボ制御, 状態変化通知, 割り込み処理.
- gps - GPS レシーバを扱うための NMEA パーサー.
テンプレート
- marko - テンプレートを CommonJS モジュールにコンパイルし, ストリーミング, 非同期レンダリング, カスタムタグをサポートする HTML ベースのテンプレートエンジン.
- nunjucks - 継承, 非同期制御などのテンプレートエンジン(jinja2からインスピレーション).
- handlebars.js - ヘルパーや高度なブロックなどの強力な機能を追加する Mustache テンプレートのスーパーセット.
- EJS - 簡単なテンプレート言語.
- Pug - Haml の影響を強く受けた高性能テンプレートエンジン.
ウェブフレームワーク
- Hapi - アプリケーションとサービスを構築するためのフレームワーク.
- Koa - Expressの背後にあるチームによって設計されたフレームワークで, WebアプリケーションやAPIのための, より小さく表現された, より強固な基盤を目指しています.
- Express - Webアプリケーションフレームワークで, 単一ページや複数ページのハイブリッドWebアプリケーションを構築するための強力な機能を提供します.
- Feathers - Express の精神で構築されたマイクロサービスフレームワーク.
- LoopBack - REST API を作成し, バックエンドデータソースに簡単に接続するための強力なフレームワーク.
- Meteor - 非常にシンプルで, データベース化され, データオンザワイヤーで, 純粋な Javascript の Web フレームワークです. (Awesome Meteor)
- Restify - 正しい REST Web サービスを構築できます.
- ThinkJS - ES2015+ サポート, WebSocket, REST API を備えたフレームワーク.
- ActionHero - TCP ソケット, WebSocket, および HTTP クライアント用の, 再利用可能でスケーラブルな API を作成するためのフレームワーク.
- Next.js - サーバーレンダリングされた, ユニバーサル JavaScript ウェブアプリケーション用の最小限のフレームワーク.
- Nuxt.js - サーバーレンダリングされた Vue.js アプリケーション用の最小限のフレームワーク.
- seneca - 書き込みマイクロサービスのためのツールキット.
- AdonisJs - Dependency Injection と IoC コンテナの基盤上に構築された, Node.js 用の真の MVC フレームワーク.
- Hemera - NATS で信頼性の高いフォールトトレラントなマイクロサービスを作成できます.
- Micro - 非同期アプローチを備えた最小限のマイクロサービスフレームワーク.
- Moleculer - 高速で, パワフルなマイクロサービスフレームワーク.
- Fastify - 高速で低オーバーヘッドのウェブフレームワーク.
- Nest - Angular にインスパイアされた効率的でスケラブルなサーバーサイドフレームワーク.
- Zeronode - 信頼性の高いフォールトトレラントなマイクロサービスを実現する最小限のビルディングブロック.
- TypeGraphQL - クラスとデコレータ, Type Script を用いるモダンな GraphQL API を作成するためのフレームワーク.
ドキュメンテーション
- documentation.js - ES2015+ およびフロー注釈をサポートする API ドキュメントジェネレータ.
- ESDoc - ES2015 を対象としたドキュメントジェネレータ.テストコードの添付, ドキュメンテーションカバレッジの測定.
- Docco - コード内のコメントから HTML 文書を生成する Documentation ジェネレータ.
- JSDoc - JavaDoc や PHPDoc に似た API ドキュメントジェネレータ.
ファイルシステム
- del - Glob を使用してファイル/フォルダを削除します.
- globby - 複数のパターンをサポートする Glob ファイル.
- cpy - ファイルをコピーします.
-
rimraf -
rm -rf
のようにファイルを再帰的に削除します.-
make-dir -
mkdir -p
コマンドのように再帰的にディレクトリを作成します.
-
make-dir -
-
graceful-fs - さまざまな改良を施した
fs
モジュールの置き換え. -
chokidar - macOS 上でネイティブの
fsevent
を使用するように,fs.watch
とfs.watchFile
のイベントを安定させる, ファイルシステムウォッチャー. - find-up - 親ディレクトリからファイルを探します.
- proper-lockfile - プロセス間およびマシン間のロックファイルユーティリティ.
- load-json-file - JSON ファイルを読み込んで解析します.
- write-json-file - JSON をストライド化してファイルにアトミックに書き込みます.
-
fs-write-stream-atomic -
fs.createWriteStream()
に似ていますが, アトミックです. - filenamify - 文字列を有効なファイル名に変換します.
-
lnfs -
ln -fs
のように強制的にシンボリックリンクを作成します. - istextorbinary - ファイルがテキストか, バイナリかをチェックします.
- fs-jetpack - 日常の仕様に便利なファイルシステム API を完全に再設計しました.
-
fs-extra -
fs
モジュールのための拡張メソッド. - pkg-dir - npm パッケージのルートディレクトリを探します.
- filehound - ファイルシステムを検索するための, 柔軟で, 流暢なインターフェース.
- move-file - ファイルの移動, どのデバイスでも動作します.
- tempy - ランダムな一時ファイルまたは一時ディレクトリのパスを入手できます.
キャッシング
- DataLoader - DataLoaderは, アプリケーションのデータフェッチレイヤーの一部として使用される汎用ユーティリティで, バッチ処理とキャッシングを使用してデータベースや Webサービスなどのさまざまなリモートデータソースに対して単純で一貫した API を提供します. FaceBook 製.
- memory-cache - node.js 用の単純なインメモリキャッシュ.
コントロールフロー
Memoize
- promise-memoize - データ有効期限を設定すると, 期限が切れた際に新しい値をフェッチします. キャッシュはいつでも有効化されています.
- fast-memoize.js - このライブラリは, JavaScript で N個の引数をサポートする最も速いメモ化ライブラリです.
- iMemoized - プリミティブ, オブジェクト, クラスを引数として扱う超高速メモ化ライブラリ. lodash と同じくらい速く, より強力です.
- memoizee - JavaScript 用の完全メモ化/キャッシュソリューション.
Promises
- Bluebird - 革新的な機能とパフォーマンスに焦点を当てた Promise ライブラリ.
- pify - Primise のようなコールバックスタイルの関数を宣言します.
- delay - 指定された時間だけ, Promise を遅延させます.
- valvelet - Promise が返す関数の実行速度を制限します.
- p-map - Promise を同時にマップします.
- More…
オブザーバ
- zen-observable - Observables の実装.
- RxJS - リアクティブプログラミング.
- observable-to-promise - Observable を Promise に変換します.
- Awesome Observal
ストリーム
- Highland.js - 標準の JavaScript や Node.js のようなストリームを使用して, 同期コードと非同期コードを簡単に管理します.
コールバック
- each-async - ForEach のような非同期並行イテレータ.
- async - 非同期で作業するための, 簡単で強力な機能を提供します.
チャネル
- js-csp - JavaScript (Clojurescript core.async, や Go のような) 順次プロセス通信.
ストリーム
- through2 - streams2 まわりの小さなラッパーで, サブクラス化で発生するノイズを除去するための変換を行います.
-
from2 - ReadableStream ような便利なラッパーです.
through2
にインスパイアされました. - get-stream - 文字列またはバイナリとしてストリームを取得します.
- into-stream - buffer/string/array/object をストリームに変換します.
- duplexify - 読み込み・書き込み可能なストリームを, 単一の streams2 複式ストリームに変換します.
- pumpify - ストリーム配列を単一の複式ストリームに変換します.
- peek-stream - パースする方法を決める前に, 最初の行を覗き見ることができるストリームに変換します.
- binary-split - 改行(または任意の区切り文字)スプリッタストリーム.
- byline - 超シンプルなライン単位のストリームリーダー.
- first-chunk-stream - ストリーム内の最初のチャンクを変換します.
- pad-stream - ストリーム内の各行をパディングします.
- multistream - 単一のストリームに複数のストリームを結合します.
- stream-combiner2 - パイプラインを単一のストリームに変換します.
- readable-stream - コアに Streams2 および Streams3 実装のミラーリング.
- through2-concurrent - オブジェクトストリームを同時に変換します.
リアルタイム
- µWebSockets - スケーラビリティの高い WebSocket サーバーおよびクライアントライブラリ.
- Socket.io - リアルタイムの双方向イベントベースの通信を可能にします.
- Faye - Bayeux プロトコルに基づくリアルタイムのクライアント/サーバーメッセージバス.
- SocketCluster - 複数の CPU コアで動作するスケーラブルな HTTP + WebSocket エンジン.
- Primus - モジュールのロックインを防ぐためのリアルタイムフレームワークのための抽象レイヤー.
- deepstream.io - スケーラブルなリアルタイムマイクロサービスフレームワーク.
- Kalm - モジュラーソケットラッパーとオプティマイザー.
- MQTT.js - MQTT のクライアント - TCP/IP の上で使用するための Pub-sub ベースのメッセージング・プロトコル.
- rpc-websockets - WebSockets を用いた JSON-RPC 2.0 の実装.
- Aedes - どんなストリームサーバーでも実行できる Barebone MQTT サーバー.
画像
- sharp - JPEG, PNG, WebPおよびTIFF画像のサイズを変更するための最速のモジュールです.
- image-type - Buffer / Uint8Arrayのイメージタイプを検出します.
- gm - GraphicsMagick と ImageMagick のラッパー.
- lwip - ImageMagick を必要としない軽量画像プロセッサ.
-
pica - 純粋な JavaScript で高品質&高速サイズ変更(lanczos3). ピクセル化が許可されていない場合は,
drawImage()
の代わりにcanvas
を使用します. - jimp - 純粋な JavaScript での画像処理.
- probe-image-size - フルダウンロードなしでほとんどのイメージフォーマットのサイズを取得します.
- qrcode - QR コードとバーコードのジェネレーター.
テキスト
- iconv-lite - 文字エンコーディングを変換します.
- string-length - 文字列の実際の長さを取得します. アストラルシンボルを正しくカウントし, ansi エスケープコードを無視します.
- camelcase - ダッシュ/ドット/アンダースコア/スペースで区切られた文字列をキャメルケースに変換します (例:foo-bar → fooBar).
- escape-string-regexp - RegExp 特殊文字をエスケープします.
- execall - 文字列内で複数の正規表現を検索します.
-
splice-string -
Array#splice
のような文字列の一部を削除または置換します. - indent-string - 各行の文字列をインデントします.
- strip-indent - 文字列内のすべての行から先頭の空白を削除します.
- detect-indent - コードのインデントを検出します.
- he - HTMLエンティティエンコーダ/デコーダr.
- i18n-node - ダイナミックなJSONストレージを備えたシンプルな翻訳モジュール.
- babelfish - 複数形のための非常に簡単な構文の i18n.
- matcher - 簡単なワイルドカードマッチング.
- unhomoglyph - 視覚的に似たユニコード文字を正規化します.
- i18next - 国際化フレームワーク.
- nanoid - 小さく, セキュアで, URL フレンドリーなユニーク文字列 ID ジェネレータ.
数値
- random-int - ランダムな整数を生成します.
- random-float - ランダムフロートを生成します.
- unique-random - 連続して一意の乱数を生成します.
-
round-to - 数値を小数点以下の桁数に丸めます (例:
1.234
→1.2
).
計算
- ndarray - 多次元配列.
- mathjs - 広範な数学ライブラリ.
- math-clamp - 数値をクランプします.
- algebra - 代数構造
- multimath - Core を使用して WebAssembly と JS で, 高速な画像の数式を作成します.
日時
- Luxon - 日時を扱うためのライブラリ.
- date-fns - モダンな日付ユーティリティー.
- Moment.js - 日付の解析, 検証, 操作, および表示.
- Day.js - Moment.js に代わる不変の日付ライブラリ.
- dateformat - Date フォーマッティング.
-
tz-format - 日付をタイムゾーンでフォーマットする:
2015-11-30T10:40:35+01:00
. - cctz - 日付の高速な解析, 書式設定, およびタイムゾーンの会話.
URL
- normalize-url - URL を正規化します.
- humanize-url - URL を読みやすくします: http://sindresorhus.com → sindresorhus.com.
- url-unshort - 短縮 URL を展開します.
- speakingurl - 文字列から slug を生成します.
- linkify-it - 完全なユニコードをサポートするリンクパターン検出器.
- url-pattern - より簡単な, URL やその他の文字列の, 正規表現文字列一致パターン.
- embedza - oEmbed, Open Graph, メタタグからの情報を使用して URL から HTML スニペット/埋め込みを作成します.
データ検証
- joi - JavaScript オブジェクトの, オブジェクトスキーマ言語とバリデータ.
- is-my-json-valid - コード生成を非常に高速に使用する JSON スキーマバリデータ.
- property-validator - Express の簡単なプロパティ検証.
- schema-inspector - JSON API のサニタイズと検証.
- ajv - 最も速い JSON スキーマバリデータ. v5, v6 と v7 の提案をサポートします.
パース
- remark - プラグインで動く Markdown プロセッサ.
- markdown-it - 100% CommonMark サポート, 拡張機能, シンタックスプラグインを備えた Markdown パーサー.
- parse5 - 高速フル機能の, 仕様に準拠したHTMLパーサー.
- strip-json-comments - JSON のコメントを削除します.
- strip-css-comments - CSS からコメントを取り除く.
- parse-json - JSON をより有用なエラーで解析します.
- URI.js - URL ミューテーション.
- PostCSS - CSS パーサー/ストリンガー.
- JSONStream - ストリーミング JSON.parse と stringify.
- neat-csv - 高速 CSV パーサー.
- csv-parser - 何よりも高速なことを目指す CSV パーサーのストリーミング.
- PEG.js - 優れたエラー報告機能を備えた, シンプルで高速パーサージェネレータ.
- x-ray - ウェブスクレイピングユーティリティー.
- nearley - JavaScript のシンプルで高速でパワフルな解析.
- binary-extract - JSON のバッファから値全体を解析せずに値を抽出します.
- Stylecow - 最新のCSSを解析, 操作, 変換して, すべてのブラウザと互換性があるようにします. プラグインで拡張可能です.
- js-yaml - 非常に速い YAML パーサー.
- node-exlsx - シンプルな操作で, Excel スプレッドシートをパースして JSON に変換できる.
- xml2js - XML から JavaScript オブジェクトへの変換.
- Jison - フレンドリーな JavaScript パーサジェネレータ.
- google-libphonenumber - 電話番号を解析, フォーマット, 保存, 検証します.
- ref - バッファ内の構造化バイナリデータを読み書きします.
- xlsx-populate - Excel の読み書き.
- Chevrotain - JavaScript 用の, 非常に高速で機能豊富なパーサー構築ツールキット.
- fast-xml-parser - XML の検証とパース.
Humanize
-
pretty-bytes - バイトを人間が読める文字列に変換する:
1337
→1.34 kB
. -
pretty-ms - ミリ秒を人間が読める文字列に変換する:
1337000000
→15d 11h 23m 20s
. - ms - 小さなミリ秒の変換ユーティリティ.
- pretty-error - きれいなエラー.
- read-art - 任意のページから読み込み可能なコンテンツを抽出します.
圧縮
- yazl - Zip.
- yauzl - Unzip.
- Archiver - ZIP および TAR をサポートする, アーカイブ生成のためのストリーミングインターフェイス.
- pako - 純粋な JavaScript の高速 zlib (deflate, inflate, gzip)へのポート.
- tar-stream - tar パーサーとジェネレーターをストリーミングします. tar-fs も参照してください.
-
decompress - サポートしている
tar
,tar.gz
及びzip
からファイルを取り出します.
ネットワーク
- get-port - 使用可能なポートを取得します.
- ipify - パブリック IP アドレスを取得します.
- getmac - コンピュータの MAC アドレスを取得します.
- DHCP - DHCP クライアントとサーバ.
- netcat - Node.js の Netcat ポート.
データベース
ドライバ
- PostgreSQL - PostgreSQL クライアント. 純粋な JavaScript とネイティブlibpq のバインディング.
- Redis - Redis クライアント.
- LevelUP - LevelDB.
- MySQL - MySQL クライアント.
- couchdb-nano - CouchDB クライアント.
- Aerospike - Aerospike クライアント.
- Couchbase - Couchbase クライアント.
- MongoDB - MongoDB ドライバ.
ODM / ORM
- Sequelize - PostgreSQL, SQLite, MySQL をサポートしている ORM.
- Bookshelf - Backbone.js スタイルの PostgreSQL, MySQL および SQLite3 の ORM.
- Massive - PostgreSQL データアクセスツール.
- Mongoose - エレガントな MongoDB オブジェクトモデリング.
- Waterline - 1つ以上のデータベースとのやりとりを劇的に簡素化するデータストアにとらわれないツール.
- OpenRecord - PostgreSQL, MySQL, SQLite3 および RESTful データストアの ORM. ActiveRecord に似ています.
- pg-promise - Promise を使用した, ネイティブ SQL のための PostgreSQL フレームワーク.
- slonik - 厳密な型, 詳細なログ記録およびアサーションを持つ PostgreSQL クライアント.
- Objection.js - SQL クエリービルダー Knex で構築された軽量 ORM.
- TypeORM - PostgreSQL, MariaDB, MySQL, SQLite などで使える ORM.
- MikroORM - アイデンティティマップパターンに基づく TypeScript ORM. MongoDB, PostgreSQL, MySQL, SQLite をサポートします.
クエリビルダ
- Knex - PostgreSQL, MySQL, SQLite3 用のクエリービルダー. 柔軟性, 移植性, 使いやすさを考慮して設計されています.
その他
- NeDB - JavaScript で書かれた永続的な埋め込みデータベース.
- Lowdb - Lodash を搭載した小さな JavaScript データベース.
- Keyv - 複数のバックエンドをサポートするシンプルなキー・バリューストレージ
- Finale - Sequelize モデル用の RESTful なエンドポイント・ジェネレータ.
- database-js - JDBC のような接続を持つ複数のデータベースのラッパー.
- Mongo Seeding - JSON ファイルから MongoDB にデータを移入する.
テスティング
- AVA - 未来のテストランナー. 実行時間を Mocha の約 3 分の 1 程短縮できます. 日本語ドキュメントあり.
- Mocha - 機能が豊富なテストフレームワークで, 非同期テストが簡単で楽しくなります.
- nyc - サブプロセスで動作する istanbul 上に構築されたコードカバレッジツール.
- tap - TAP テストフレームワーク.
- tape - TAP を生成するテストハーネス.
- power-assert - 標準的なアサートインタフェースを通して記述的なアサーションメッセージを提供します.
- Mochify - Browserify, Mocha, PhantomJS と WebDriver の TDD.
- trevor - 手動でバージョンを切り替えたり, Travis CI にプッシュしたりせずに, 複数のバージョンの Node.js に対してテストを実行できます.
- loadtest - 自動化のための API を使用して, Web アプリケーションに負荷テストを実行します.
- Sinon.JS - スパイ, スタブ, モックをテストします.
- navit - PhantomJS / SlimerJS のラッパー. ブラウザテストスクリプトを簡略化します.
- Nock - HTTP のモック.
- intern - Code テストスタック.
- toxy - 障害シナリオとネットワークの状態をシミュレートするためにハッキング HTTP プロキシ.
- hook-std - stdout/stderr をフックして修正します.
- testen - NVM を使用して複数のバージョンの Node.js をローカルでテストします.
- Nightwatch - Selenium WebDriver に基づく UI テストフレームワークの自動化.
- WebdriverIO - WebDriver プロトコルに基づく自動テスト.
- Jest - 痛くない JavaScript テスト.
- TestCafe - 自動ブラウザテスト.
- abstruse - 継続的インテグレーションサーバー.
- CodeceptJS - E2E テスト.
- Puppeteer - ヘッドレス Chrome.
セキュリティ
- upash - すべてのパスワードハッシングアルゴリズムを統一した API.
- themis - 一般的な暗号化方式を使いやすくするための多言語フレームワーク:安全なデータ, 認証されたデータ交換, トランスポート保護, 認証など.
- GuardRails - プルリクエストに対してセキュリティフィーフォバックを与えてくれる GitHub app.
- rate-limiter-flexible - ブルートフォースアタックと DDoS アタックプロテクション.
- crypto-hash - 非同期ノンブロッキング・ハッシュ.
- jose-simple - JOSE (JSON Object Signing and Encryption) 標準を使用したデータの暗号化と復号化.
ベンチマーク
- Benchmark.js - 高解像度のタイマーをサポートし, 統計的に有意な結果を返すベンチマーキングライブラリ.
- matcha - ベンチマークのための単純なアプローチ.
Minifiers
- babili - Babel ツールチェインをベースにした ES2015 + 認識ミニライザー.
- UglifyJS2 - JavaScript を圧縮する.
- clean-css - CSS を圧縮する.
- minimize - HTML を圧縮する.
- imagemin - 画像を圧縮する.
認証
- Passport - シンプルで控えめな認証.
- Grant - Express, Koa, および Hapi 用の OAuth ミドルウェア.
- CloudRail - ソーシャル認証用の統一された API (Facebook, Twitter, Slack, Instagram, ...).
承認
- CASL - UI と API の同形認証.
- node-casbin - ACL や RBAC, ABAC のようなアクセスコントロールモデルをサポートした認証ライブラリ.
Eメール
- Nodemailer - メールを処理する最速の方法.
- emailjs - 任意の SMTP サーバーに添付ファイル付きのテキスト/HTML メールを送信します.
- email-templates - カスタム電子メールテンプレートの作成, プレビュー, および送信.
- MJML - レスポンシブな E メールを作成する際の苦痛を軽減するために設計されたマークアップ言語.
ジョブキュー
- bull - 永続的なジョブとメッセージキュー.
- agenda - MongoDB による軽量ジョブスケジューリング.
- idoit - 高度なジョブ制御を持つ, Redis によるジョブキューエンジン.
- node-resque - Redis によりジョブキュー.
- rsmq - Redis によるメッセージキュー.
- bee-queue - ハイパフォーマンス Redis バックエンドジョブキュー.
- RedisSMQ - リアルタイムモニタリングを備えたシンプルで高性能な Redis メッセージキュー.
- sqs-consumer - 定型句なしで Amazon Simple Queue Service(SQS)ベースのアプリケーションを構築します.
- better-queue - Redis を使用できない場合の, シンプルで効率的なジョブキュー.
Node.js 管理
- n - Node.js バージョンマネージメント.
- nave - Node.js の仮想開発環境.
- nodeenv - Python の virtualenv と互換性のある, Node.js 仮想環境.
- nvm for Windows - Windows 用の nvm.
- nodenv - Ruby の rbenv に似たバージョンマネージャ. 自動バージョン切り替えに対応しています.
自然言語処理
- retext - 拡張可能な自然言語システム.
- franc - テキストの言語を検出します.
- leven - レーベンシュタイン距離アルゴリズムを使用して2つの文字列の間の差を測定します.
- natural - 自然言語機能.
- nlp.js - エンティティ抽出, 感情分析, 自動言語識別などを使用してボットを構築します.
プロセス管理
- PM2 - 高度なプロセスマネージャ.
- nodemon - アプリケーションの変更を監視し, 自動的にサーバーを再起動します.
- node-mac - スクリプトをネイティブの Mac デーモンとして実行し, コンソールアプリケーションにログオンします.
- node-linux - ネイティブシステムサービスとしてスクリプトを実行し, syslog にログを記録します.
- node-windows - スクリプトをネイティブの Windows サービスとして実行し, イベントビューアにログを記録します.
-
supervisor -
*.js
ファイルが変更時にクラッシュまたは再起動した場合, スクリプトを再起動します. - Phusion Passenger - Nginx に直接統合されたフレンドリーなプロセスマネージャー.
自動化
AST
- Acorn - 小型で高速な JavaScript パーサー.
- babel-parser - Babel を使用した JavaScript パーサ.
- cherow - パフォーマンスと安定性にフォーカスした JavaScript パーサー.
静的サイトジェネレータ
- Wintersmith - 柔軟で, 最小限の, マルチプラットフォームの静的サイト生成プログラム.
- Assemble - Node.js, Grunt.js, Yeoman のための静的サイトジェネレータ.
- DocPad - 動的能力と巨大なプラグインエコシステムを備えた静的サイトジェネレータ.
- Phenomic - React, Webpack の生態系に基づいた, 現代の静的ウェブサイトジェネレータ.
- docsify - 静的に構築された, HTML ファイルいらずの Markdownドキュメントサイトジェネレータ.
- Charge - JSX および MDX を使用した静的サイトジェネレーター.
コンテンツ管理システム
- KeystoneJS - Express と MongoDB 上に構築された CMS と Web アプリケーションプラットフォーム.
- ApostropheCMS - Express および MongoDB 上に構築された, 直観的なフロントエンドコンテンツの編集と管理に重点を置いたコンテンツ管理システム.
- Strapi - パワフルな API を備えたコンテント マネジメント フレームワーク (ヘッドレス CMS).
- Tipe - デベロッパーファーストなコンテンツマネジメントシステム. スキーマファイルから GraphQL と REST API を構築できます.
フォーラム
- nodeBB - 最新の Web 用フォーラムプラットフォーム.
ブログ
へんてこ
- cows - 牛の ASCII アート.
- superb - すばらしい言葉を手に入れよう.
- cat-names - 人気のある猫の名前を取得します.
- dog-names - 人気のある犬の名前を取得します.
- superheroes - スーパーヒーローの名前を取得します.
- supervillains - スーパーヴィランの名前を取得します.
- cool-ascii-faces - クールな顔文字を手に入れよう.
-
cat-ascii-faces -
₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”
- nerds - ハリー・ポッター, スター・ウォーズ, ポケモンなどのトピックからデータを取得します.
シリアライゼーション
- snappy - Google の Snappy 圧縮ライブラリのネイティブバインディング.
- protobuf - Protocol Buffers の実装.
- compactr - Compactr プロトコルの実装.
その他
-
execa - より良い
child_process
. - cheerio - サーバー向けに特別に設計された, コア jQuery の高速, 柔軟性, およびリーンな実装.
- Electron - クロスプラットフォームのデスクトップアプリケーションをWebテクノロジーで構築します. (Awesome Electron)
- open - ウェブサイト, ファイル, 実行可能ファイル等を開きます.
- hasha - 簡単にハッシュ化. バッファ/文字列/ストリーム/ファイルのハッシュを取得します.
- dot-prop - ドットパスを使用してネストされたオブジェクトからプロパティを取得します.
- onetime - 関数を1回だけ実行します.
- mem - 同一入力の呼び出しの結果をキャッシュすることにより, 連続する関数呼び出しを高速化するために使用される最適化技法.
- import-fresh - キャッシュをバイパスして, モジュールをインポートします.
- strip-bom - 文字列/バッファ/ストリームから UTF-8 バイトオーダーマーク(BOM)を取り除きます.
- os-locale - システムロケールを取得します.
- ssh2 - SSH2 クライアントとサーバーモジュール.
- adit - SSH トンネリングを簡単に.
- import-lazy - モジュールを遅延インポートする.
- file-type - ファイルのバッファタイプを検出します.
- Bottleneck - スロットルを簡単にするレートリミッタ.
- ow - 人間のための, 関数の引数検証.
- webworker-threads - ネイティブスレッドを利用した Web Worker API の実装.
- clipboardy - システムのクリップボードにアクセスします (コピー/ペースト).
- node-pre-gyp - Node.js C++ アドオンをバイナリから簡単にインストールできます.
- opencv - OpenCV のバインディング. コンピュータビジョンライブラリ.
-
dotenv -
.env
ファイルから, 環境変数をロードします. - remote-git-tags - リモートの git リポジトリからタグを取得します.
- semver - セマンティック バージョン パーサー.
- Faker.js - 膨大な量の偽のデータを生成します.
- nodegit - Git へのネイティブバインディング.
- json-strictify - データの損失や無限ループに陥ることなく, 値を JSON に安全にシリアル化します.
-
resolve-from -
require.resolve()
のようにモジュールのパスを解決します. - simplecrawler - イベント駆動ウェブクローラー.
- jsdom - HTML と DOM の JavaScript 実装.
- hypernova - サーバサイドで JavaScript ビューをレンダリングします.
- @sindresorhus/is - 変数の型チェック.
-
env-dot-prop - ドットパスを使用して,
process.env
のネストされたプロパティを取得, 設定, または削除します. - emittery - シンプルでモダンな非同期イベントエミッター.
- node-video-lib - MP4 および FLV ビデオファイルを操作し, HLS ストリーミング用の MPEG-TS チャンクを作成するための純粋な JavaScript ライブラリ.
- basic-ftp – FTP/FTPS クライアント.
リソース
チュートリアル
- Node.js Best Practices - Node.js ベストプラクティスのコンテンツ概要とキュレーション.
- Nodeschool - インタラクティブなレッスンで Node.js を学ぶ事ができます. 日本語で学べます.
- stream-handbook - ストリームで Node.js プログラムを書く方法.
- module-best-practices - npm モジュール開発のための良い実践例.
- The Node Way - 美しい Node.js アプリケーションを構築するためのガイド.
- You Don't Know Node.js - Node.js コア機能と非同期 JavaScript の紹介.
- Portable Node.js guide - 移植可能/クロスプラットフォームの Node.js コードの書き方に関する実用的なガイド.
- Build a real web app with no frameworks - 少数のシンプルなライブラリとコア Node.js モジュールを使用して, Web アプリを構築およびデプロイするのに役立つビデオチュートリアル/ライブストリームのセット.
発見
- npms - myriad of metrics を使用して, パッケージの品質を深く分析した優れたパッケージ検索.
- npm addict - npm パッケージを毎日注入.
- npmcompare.com - npm パッケージを比較して検出します.
記事
- Node.js でのエラー処理
- Node.js を10のステップで紹介する
- Node.js でファイルシステムをマスターする
- Semver: プライマー
- Semver: チルドとキャレット
- どうして非同期?
- Node.js イベントループについて
- オブジェクト・ストリームについて
- Art of README - 美しい README を書く方法を学びます.
- GraphQL サーバを Express を使用してすばやく構築する
ニュース
- Node Weekly - Node.js ニュースと記事の週刊メールラウンドアップ.
- Node Module Of The Week! - 週ごとに Node モジュールをピックアップする.
ビデオ
- Ryan Dahl による Node.js の紹介
- Node.js ハンズオン
- Nodetuts - TCP&HTTP APIサーバー, 非同期プログラミングなどの一連の講演.
- V8 Garbage Collector - V8 のガベージコレクタについて.
- 10 Things I Regret About Node.js by Ryan Dahl - Node.js の作成者による, いくつかの制限についての洞察に満ちた講演.
書籍
- Node.js in Action
- Node.js in Practice
- Mastering Node
- Node.js 8 the Right Way
- Professional Node.js: Building Javascript Based Scalable Software
- Practical Node.js: Building Real-World Scalable Web Apps
- Mixu's Node book
- Pro Express.js
- Secure Your Node.js Web Application
- Express in Action
- Practical Modern JavaScript
- Mastering Modular JavaScript
- Get Programming with Node.js
ブログ
- Node.js blog
- webapplog.com - Practical Node.js and Pro Express.js Azat Mardan の著者によるNode.js と JavaScript のブログ記事.
コース
- Learn to build apps and APIs with Node.js - Wes Bos によるビデオコース.
- Real Time Web with Node.js
- Learn and Understand Node.js
チートシート
- Express.js
- Stream FAQs - ストリームについてのよくある質問の答え, ページ区切り, イベントなどをカバーします.
ツール
- OctoLinker - GitHub のpackage.json, .js, .jsx, .coffee, および .md ファイルの依存関係をリンクする Chrome 拡張機能.
- npm-hub - リポジトリの README の最後に npm 依存関係を表示する Chrome 拡張機能.
- RunKit - 任意の Web サイトに Node.js 環境を埋め込みます.
- RequireBin - 共有可能な JavaScript プログラム. npm と browserify で動作します.
- github-npm-stats - GitHub に npm ダウンロードの統計情報を表示する Chrome 拡張機能.
- npm semver calculator - パッケージのどのバージョンが semver の範囲に一致するかを視覚的に調べます.
コミュニティ
その他
- nodebots - JavaScript で動くロボット.
- node-module-boilerplate - Node モジュールの作成を開始するためのボイラープレート.
- modern-node - Jest, Prettier, ESLint, および Standard を使用して Node モジュールを作成するためのツールキット.
- generator-nm - Node モジュールを足場にします.
- awesome-cross-platform-nodejs - クロスプラットフォームコードの作成とテストのためのリソース.
- Microsoft Node.js Guidelines - Microsoft プラットフォームで Node.js を操作するためのヒント, テクニック, およびリソース.
- Module Requests & Ideas - あなたが欲しいすでに存在するモジュールもしくはモジュールのアイディアをリクエストできます.