NodeKit
Node.jsアプリ、スクリプト、ライブラリのためのシンプルなツールキット。
NodeKit
NodeKit は、Node.js アプリ、スクリプト、ライブラリ向けのシンプルなツールキットです。ロギング、テレメトリ、設定、エラー処理機能を提供し、さまざまなプロジェクトで使い慣れた基盤を構築できます。
インストール
npm install --save @gravity-ui/nodekit
はじめに
プロジェクトに依存関係を追加します。
npm install --save @gravity-ui/nodekit
その後、アプリケーションで NodeKit をインポートして初期化します。
import {NodeKit} from '@gravity-ui/nodekit';
const nodeKit = new NodeKit();
nodekit.ctx.log('App is ready');
ドキュメント
追加のドキュメントについては、docs/ ディレクトリを参照してください。
docs/configuration.mdでは、nodekit 自体と nodekit ベースのアプリケーションの両方を設定する方法について説明しています。docs/contexts.mdでは、NodeKit のコンテキスト、ロギング、トレーシングの概念について説明しています。docs/app-error.mdには、NodeKit がアプリケーション用に提供する便利なカスタムエラークラスの説明が含まれています。docs/utils.mdには、NodeKit にバンドルされている追加のヘルパー関数がリストされています。
貢献
はじめに
NodeKit リポジトリとサンプルアプリケーションのコピーを取得します。
git clone git@github.com:gravity-ui/nodekit
git clone git@github.com:gravity-ui/nodekit-examples
nodekit を npm にリンクし、コンパイラを起動します。
cd nodekit && npm link && npm run dev
次に、別のターミナルで examples に移動し、関心のあるものを開いて、そこで nodekit をリンクしてからアプリを起動します。
cd nodekit-examples/basic-app && npm i && npm link @gravity-ui/nodekit
npm run dev
この時点で、NodeKit とデモアプリの両方に変更を加え、リアルタイムで結果を確認できます。
ライセンス
MIT ライセンスの下で配布されます。詳細については LICENSE を参照してください。
AI エージェント向け
Node.js の基本的なツールキット(ロギング、テレメトリ、型付きエラー、設定、リクエストコンテキスト)で、Gravity UI バックエンド全体で共有されます。HTTP レイヤーを追加する前に、ロギング/エラー/設定の配管を自分で組み立てるのではなく、一貫したアプリのバックボーンを取得するために使用してください。
使用する場合
- 共有ロギング、テレメトリ(トレーシング)、型付き
AppErrorを必要とする Node.js サービス/スクリプト。 - 非同期境界を越えてリクエストスコープのコンテキスト(ログ/トレース)を提供する。
- 複数のサービスが同じエコシステムで一貫して動作するように、設定を一元化する。
使用しない場合
- HTTP ルート、ミドルウェア、またはサーバーを公開するには、
@gravity-ui/expresskitを使用します。これは NodeKit をベースにしており、Express/HTTP レイヤーを追加します。 - ロギング/テレメトリのニーズがないスタンドアロンの単一ファイルスクリプトの場合、プレーンな Node API は、完全な NodeKit コンテキストシステムよりも軽量です。
一般的な注意点
import {Logger}/loggerの幻覚 — ロギングは NodeKit コンテキストを介してアクセスされます:new NodeKit()の後にnodekit.ctx.log(...)となり、スタンドアロンのロガーエクスポートではありません。- NodeKit の繰り返しインスタンス化 — アプリごとに 1 つの
NodeKitインスタンスを作成し、そのctxを共有します。多数のインスタンスを作成すると、ロギング/テレメトリの設定が断片化します。 - プレーンな
Errorのスロー — エラーコードとテレメトリが一貫してキャプチャされるように、バンドルされたAppError(docs/app-error.mdを参照)を使用します。 - 設定の初期化のスキップ — NodeKit は構築時に設定を読み取ります。デフォルトを想定する前に、
docs/configuration.mdを確認してください。
AI エージェント向けドキュメント
インストールされているバージョンのエージェント読み取り可能なドキュメントは、node_modules/@gravity-ui/nodekit/dist/docs/INDEX.md にあります。
ライブラリについて