setup について
clickhouse-js リポジトリでテスト、Lint、型チェック、ビルドを行う開発者向けのセットアップガイドです。依存関係の導入、ワークスペースのビルド、必要に応じた ClickHouse の起動手順を説明します。
主な機能
- 01リポジトリとサンプルの依存関係を導入
- 02ワークスペースパッケージをビルド
- 03必要に応じて Docker Compose を起動
- 04テストと品質チェックを実行
活用シーン
- 01新規チェックアウトの開発環境を準備
- 02package.json 変更後に環境を整備
- 03ClickHouse が必要な統合テストを実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ clickhouse/ clickhouse-js --skill setupインストール後、Claude Code で/setupを入力して読み込まれたか確認します。
詳細
clickhouse-js リポジトリのセットアップ
新しいチェックアウトで、または package.json ファイルに関わる変更をプルした後に、npm run test:*、npm run lint、npm run typecheck、npm run build のいずれかを実行する前に、このスキルを使用してください。
前提条件
- Node.js 22 を推奨(
.nvmrcと一致します)。ルートのpackage.jsonでは"engines": { "node": ">=20.19.0" }が宣言されており、CI では Node 20、22、24、26 でテストされます。 - Docker と Compose プラグイン(
docker compose ...)。統合テストと、実際のサーバーに接続するサンプルでのみ必要です。
1. 依存関係をインストールする
これは npm ワークスペースのリポジトリ(packages/*)で、独立したサンプルパッケージ(examples/node、examples/web)が 2 つ追加で含まれています。これらにはそれぞれ独自の package.json があり、ワークスペースには含まれていません。
3 つすべてをインストールします。
npm install
npm --prefix examples/node install
npm --prefix examples/web install
ルートの postinstall スクリプトは node_modules/parquet-wasm/package.json にパッチを適用します。このスクリプトは npm install の一部として自動的に実行されます。
2. ワークスペースパッケージをビルドする
一部のテスト、サンプル、型チェックでパッケージ間のインポートを解決できるようにするには、ワークスペースパッケージ(@clickhouse/client-common、@clickhouse/client、@clickhouse/client-web)を事前にビルドする必要があります。
npm run build
すべてのワークスペースパッケージで build を実行します。
3. ClickHouse を起動する(統合テスト/サンプルのみ)
ユニットテストではサーバーは不要です。統合テスト(npm run test:*:integration*)とサンプルの実行には必要です。
リポジトリのルートから実行します。
docker compose up -d
これにより、シングルノード構成(8123/9000 の clickhouse、8443/9440 の clickhouse_tls)と 2 ノードクラスター(clickhouse1、clickhouse2、および 8127 の nginx ラウンドロビンエントリーポイント)が起動します。すべてのサービスでポートが重複しないため、up -d を 1 回実行すれば、すべての統合テストモードを実行できます。
サーバーのバージョンを変更するには、Compose の起動時に CLICKHOUSE_VERSION を設定します。たとえば、CLICKHOUSE_VERSION=head docker compose up -d、CLICKHOUSE_VERSION=latest docker compose up -d、または明示的なバージョンタグを指定する場合は CLICKHOUSE_VERSION=24.8 docker compose up -d を実行します。
4. 確認する
上記の手順の後、たとえば次のコマンドを実行できます。
npm run lint— すべてのワークスペースパッケージをリントしますnpm run typecheck— すべてのワークスペースパッケージの型をチェックしますnpm run test:node:unit/npm run test:web:unit— ユニットテスト。サーバーは不要ですnpm run test:node:integration/npm run test:web:integration— 統合テスト。サーバーが必要ですexamples/nodeまたはexamples/webから実行:npm run lint、npm run typecheck、npm run run-examples
すべてのテストスクリプトの一覧は、リポジトリのルートで npm run を実行して確認してください。