setup

Sử dụng kỹ năng này trước khi chạy bất kỳ script nào trong số npm run test:* , npm run lint , npm run typecheck , hoặc npm run build trong một bản sao mới (hoặc sau khi kéo các thay đổi liên quan đến tệp package.json).

npx skills add https://github.com/clickhouse/clickhouse-js --skill setup

clickhouse-js Repository Setup

Use this skill before running any of the npm run test:*, npm run lint, npm run typecheck, or npm run build scripts in a fresh checkout (or after pulling changes that touch package.json files).

Prerequisites

  • Node.js 22 recommended (matches .nvmrc). The root package.json declares "engines": { "node": ">=20.19.0" }, and CI tests Node 20, 22, 24, and 26.
  • Docker with the Compose plugin (docker compose ...). Required only for integration tests and any example that talks to a real server.

1. Install dependencies

This is an npm workspaces repo (packages/*), with two additional independent example packages (examples/node, examples/web) that have their own package.json and are not part of the workspaces.

Install all three:

npm install
npm --prefix examples/node install
npm --prefix examples/web install

The root postinstall script patches node_modules/parquet-wasm/package.json; it runs automatically as part of npm install.

2. Build the workspace packages

The workspace packages (@clickhouse/client-common, @clickhouse/client, @clickhouse/client-web) must be built before some tests, examples, and typechecks can resolve their inter-package imports:

npm run build

This runs build in every workspace package.

3. Start ClickHouse (only for integration tests / examples)

Unit tests do not need a server. Integration tests (npm run test:*:integration*) and the example runners do.

From the repo root:

docker compose up -d

This starts both the single-node setup (clickhouse on 8123/9000, clickhouse_tls on 8443/9440) and the two-node cluster (clickhouse1, clickhouse2, plus the nginx round-robin entrypoint on 8127). All services use non-overlapping ports so a single up -d covers every integration test mode.

To override the server version, set CLICKHOUSE_VERSION when starting Compose; for example: CLICKHOUSE_VERSION=head docker compose up -d, CLICKHOUSE_VERSION=latest docker compose up -d, or CLICKHOUSE_VERSION=24.8 docker compose up -d to use an explicit version tag.

4. Verify

After the steps above you can run, for example:

  • npm run lint — lint every workspace package
  • npm run typecheck — typecheck every workspace package
  • npm run test:node:unit / npm run test:web:unit — unit tests, no server required
  • npm run test:node:integration / npm run test:web:integration — integration tests, server required
  • From examples/node or examples/web: npm run lint, npm run typecheck, npm run run-examples

See npm run from the repo root for the full list of test scripts.

Thêm skills từ clickhouse

clickhouse-best-practices
clickhouse
28 quy tắc thực hành tốt nhất cho ClickHouse được tổ chức theo thiết kế lược đồ, tối ưu hóa truy vấn và chiến lược nhập dữ liệu. Bao gồm ba lĩnh vực quan trọng: lựa chọn khóa chính và kiểu dữ liệu (các quyết định thiết kế không thể thay đổi), tối ưu hóa JOIN và truy vấn, cũng như gộp lô chèn và tránh đột biến. Bao gồm 28 quy tắc được ưu tiên theo mức độ tác động, với các quy tắc thiết kế lược đồ và tối ưu hóa truy vấn được đánh dấu QUAN TRỌNG do cơ chế lưu trữ cột và chỉ mục thưa của
clickhouse-js-node-coding
clickhouse
Tham khảo: https://clickhouse.com/docs/integrations/javascript
clickhouse-js-node-coding
clickhouse
Write idiomatic application code with the ClickHouse Node.js client (`@clickhouse/client`). Use this skill whenever a user is *building* against the Node.js…
clickhousectl-cloud-deploy
clickhouse
Sử dụng khi người dùng muốn triển khai ClickHouse lên đám mây, chuyển sang môi trường sản xuất, sử dụng ClickHouse Cloud, lưu trữ dịch vụ ClickHouse được quản lý, hoặc di chuyển từ hệ thống cục bộ…
clickstack-otel-collector
clickhouse
Sử dụng khi người dùng muốn kết nối một bộ thu thập OpenTelemetry vào dịch vụ Managed ClickStack trên ClickHouse Cloud, bằng cách triển khai một bộ thu thập cục bộ mới…
infra-clickhouse
clickhouse
Thiết lập và quản lý ClickHouse bằng CLI clickhousectl — cài đặt và chạy máy chủ ClickHouse cục bộ cho môi trường phát triển, đồng thời tạo các phiên bản ClickHouse Cloud được quản lý…
infra-postgres
clickhouse
Thiết lập và quản lý Postgres bằng CLI clickhousectl — chạy Postgres cục bộ dựa trên Docker cho mục đích phát triển, đồng thời tạo và vận hành ClickHouse được quản lý…
clickhouse-best-practices
clickhouse
PHẢI SỬ DỤNG khi xem xét lược đồ ClickHouse, truy vấn hoặc cấu hình. Chứa 31 quy tắc PHẢI được kiểm tra trước khi đưa ra khuyến nghị. Luôn đọc…