SuperAPI AI 工具集

setup

编程与开发

查看项目

更新于 10-15 20:12

技能介绍

用途:在全新检出 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。集成测试和连接真实服务器的示例需要带 Compose 插件的 Docker(docker compose ...)。

安装依赖:该仓库是 npm workspaces 仓库(packages/*),另有 examples/node 与 examples/web 两个独立示例包,不属于 workspaces。需分别安装:npm install、npm --prefix examples/node install、npm --prefix examples/web install。根 postinstall 脚本会修补 node_modules/parquet-wasm/package.json,随 npm install 自动执行。

构建工作区包:@clickhouse/client-common、@clickhouse/client、@clickhouse/client-web 必须先构建,部分测试、示例和类型检查才能解析包间导入,执行 npm run build(在每个工作区包中运行 build)。

启动 ClickHouse:仅集成测试与示例需要服务器,单元测试不需要。在仓库根目录执行 docker compose up -d,会启动单节点(clickhouse 8123/9000,clickhouse_tls 8443/9440)和双节点集群(clickhouse1、clickhouse2,以及 8127 上的 nginx 轮询入口),端口不重叠,一次 up -d 覆盖所有集成测试模式。可用 CLICKHOUSE_VERSION 覆盖服务器版本,例如 CLICKHOUSE_VERSION=head docker compose up -d、CLICKHOUSE_VERSION=latest docker compose up -d 或 CLICKHOUSE_VERSION=24.8 docker compose up -d。

验证:可运行 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。