⚡ 前端避坑 · CI/CD · 远程 Mac

2026 年前端避坑对照表:
远程 Mac 上 Biome 与 TypeScript 增量检查并行 worker、缓存与发布前三步验收

2026.03.31 MacWww 工程团队 约 6 分钟阅读

远程 Mac自托管 Runner上,把 Biome 的快速 lint/format 与 TypeScript增量类型检查tsc --incremental)叠在同一流水线里,最常见的坑是:缓存键漏了两个进程抢满 CPU、以及tsbuildinfo 路径漂移导致「每次都全量」。本文用一张对照表对齐 biome.jsontsc 关键参数,给出并行 workerCPU 核心绑定的实务建议,并落在 CI/CD发布前三步验收。延伸阅读:Monorepo 远程缓存ESLint/Stylelint 修复分支package.json scripts 预检

核心词:Biome · TypeScript · incremental · 远程 Mac · worker · CI/CD · 缓存

发布前三步验收(可先贴进 PR 模板):

  • 第一步:tsc -p . --noEmit(或 Monorepo 下各包脚本)退出码 0,且 *.tsbuildinfo 写入路径与 tsconfigincremental/composite 一致。
  • 第二步:biome check(或 ci 子命令)退出码 0;若与 format 分步,确保 CI 与本地同一 biome.json 版本。
  • 第三步:预览环境或最小冒烟(路由、鉴权、关键 API)通过后再晋级生产;可与 部署前冒烟 串联。

01 biome.json 与 tsc --incremental 对照表

下面这张表用于评审「静态检查阶段」配置是否成对闭合:Biome管文件集与规则版本,tsc管类型图与增量产物。Monorepo 时建议每个包独立 tsconfig 与明确的 tsbuildinfo 输出,避免根目录单点失效;包图与缓存键可对照 SSR 构建并发与内存 中的 worker 思路。

维度 Biome(biome.json / CLI) TypeScript(tsconfig + tsc)
扫描范围 files.include / ignore;CLI 传入路径时与配置求交 include / excludereferences 多项目时需顶层 build --build 或分包调用
增量开关 内部索引与 .biome-cache(版本升级建议清理) "incremental": true;常与 composite 配合;CLI:tsc --incremental(默认随配置)
产物路径 缓存目录默认在项目下 .biome-cache/ tsBuildInfoFile 指定 *.tsbuildinfo;默认多在 outDir 旁,需避免被 clean 误删或未入缓存
并行与 worker Biome 内置多文件并行;可用 --max-diagnostics 控制输出量 tsc 单进程为主;与 Biome 适合进程级并行而非指望 tsc 多 worker
CI 建议命令 biome ci .biome check --error-on-warnings tsc -p tsconfig.json --noEmittsc -b(项目引用)

02 并行 worker 与 CPU 核心绑定(macOS)

GitHub Actions 自托管单机多 Job远程 Mac 上,Biome 与 tsc 同时跑容易把 P 核打满,拖慢同机的 Vite/Webpack 构建。可执行策略:

  • 流水线分层:lint+typecheck 一个 job,build+test 另一个 job,用 needs 串联;比同 job 内盲目 & 后台更可控。
  • 限制并发 Job 数:自托管 Runner 标签分组,保证每台机器同时只跑一个重型 workflow。
  • CPU 亲和(可选):在 Apple Silicon 上可用 taskpolicy -c maintenance 降低后台任务优先级,或为检查脚本单独 Runner,避免与 jest/vitest worker 争用;具体策略与机型相关,以监控为准。
  • 线程池:若同进程还有 Node 原生依赖,关注 UV_THREADPOOL_SIZE 与构建工具的 worker(参见 Tailwind/PostCSS 内存与 worker)。
经验法则:类型检查与 Biome 并行时,预留至少 1~2 核给 I/O 与系统;M4 以下机型优先顺序执行两段检查,总时长往往优于过度并行导致的抖动。

03 缓存目录与 CI 缓存键

下列路径建议纳入 actions/cache 或远程构建缓存,并在 lockfilebiome 版本、tsconfig 变更时失效:

  • .biome-cache/
  • 各包 *.tsbuildinfo(与 tsBuildInfoFile 一致)
  • node_modules/.cache(若其他工具与 Biome/tsc 共享机器)

若命中率持续为 0,先检查是否每次 Job 删除了 outDir 或把 tsbuildinfo 放在被 clean 的目录;再核对 paths 别名是否与本地一致(远程 Mac 上路径大小写敏感)。依赖安装与镜像可对照 运行时与镜像缓存

04 CI/CD 语境下的门禁顺序

推荐顺序:安装依赖Biome(最快失败)→ tsc单元/E2E构建产物。这样能在 1~2 分钟内挡住格式与低级语法问题,再投入昂贵的类型与测试。与 npm/pnpm 审计 并列时,审计可放在依赖安装后、编译前的独立 job,以免阻塞开发分支的快速反馈。

远程 Mac · 统一静态检查与发布门禁

在 MacWww 远程 Mac 上跑 Biome + tsc 增量与完整发布链路

需要固定节点自托管 Runner、Safari 真机联调或与团队一致的 Xcode 栈?可先打开免登录 帮助中心 了解 SSH/VNC 接入;在 算力资费 页对比套餐后,通过 购买页 下单。更多前端与 OpenClaw 实战见 博客列表官网首页

免登录购买远程 Mac