mcpField
S
setup

setup

github.com/clickhouse开发33045 次安装2 天前更新
代码仓库

关于 setup

用于 clickhouse-js 仓库的设置指南,面向需要运行测试、代码检查、类型检查或构建的开发者。说明依赖安装、工作区构建及按需启动 ClickHouse 的步骤。

主要功能

  1. 01安装仓库与示例依赖
  2. 02构建工作区包
  3. 03按需启动 Docker Compose 服务
  4. 04运行测试与质量检查

适用场景

  1. 01在新检出仓库后准备开发环境
  2. 02拉取 package.json 变更后重新设置
  3. 03运行需要 ClickHouse 服务的集成测试

安装

复制下面的命令,在终端中运行。

$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 ...)。仅集成测试和需要连接真实服务的示例需要 Docker。

1. 安装依赖

这是一个 npm workspaces 仓库(packages/*),另有两个独立的示例包(examples/node、examples/web),它们有各自的 package.json,不属于 workspaces。

安装全部三个包:

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

根目录的 postinstall 脚本会修补 node_modules/parquet-wasm/package.json;它会在 npm install 过程中自动运行。

2. 构建 workspace 包

有些测试、示例和类型检查需要解析包之间的导入,因此必须先构建 workspace 包(@clickhouse/client-common、@clickhouse/client、@clickhouse/client-web):

npm run build

这会在每个 workspace 包中运行 build。

3. 启动 ClickHouse(仅用于集成测试 / 示例)

单元测试不需要服务端。集成测试(npm run test:*:integration*)和示例运行器则需要。

在仓库根目录运行:

docker compose up -d

这会同时启动单节点配置(clickhouse 使用端口 8123/9000,clickhouse_tls 使用端口 8443/9440)和双节点集群(clickhouse1、clickhouse2,以及作为轮询入口点的 nginx,使用端口 8127)。所有服务使用互不重叠的端口,因此一次 up -d 即可覆盖所有集成测试模式。

若要覆盖服务端版本,请在启动 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 — 对每个 workspace 包运行 lint
  • npm run typecheck — 对每个 workspace 包运行类型检查
  • 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,查看完整的测试脚本列表。

评论

支持 Markdown