仓库地图
本页是顶层目录导览。先给出整个工作区的版图,再逐个解释每个目录的职责、重要性、何时需要改它,以及哪些是生成物 / 夹具 / 缓存。
工作区性质
根 package.json 名为 @ttsc/station(private: true),它是一个 pnpm workspace(pnpm-workspace.yaml 列出 config、packages/*、tests/*、website)。包管理器固定为 pnpm@10.6.4。catalog 把 typescript 固定到 7.0.1-rc(即 tsgo),同时保留 ts-legacy(npm:typescript@~6.0.3)给少数需要旧 JS 编译器 API 的工具(如 @rollup/plugin-typescript、typescript-eslint、factory 的奇偶校验 oracle)。
规模量级(排除 node_modules、dist、lib):
Go 体量集中在 packages/lint(~102k LOC,含 60k 的 36k LOC 的宿主/驱动/shim)。linthost 引擎和数百条规则)和 packages/ttsc(
顶层目录
node_modules/、各包的lib/、dist/、doc_build/、.work/是构建输出或依赖缓存,本 Wiki 不当源码解释。packages/lint/linthost/*_gen.go与shim/*/surface.go、*/enums_gen.go、*/flags_gen.go是生成文件(详见各子系统页)。
packages/ttsc 内部布局
这是产品心脏,单独展开:
packages/ttsc 的 package.json 里 bin 暴露三个 CLI(ttsc/ttscserver/ttsx),types 指向 src/index.ts,七个平台包列为 optionalDependencies。详见 ttsc 包。
语言与构建系统
- TypeScript 用 tsgo(
typescript@7.0.1-rc)编译;JS 层产物落在各包的lib/。 - Go 由 打包在平台包里的 Go SDK 编译,不依赖系统 Go(见 go build 缓存 的
resolveGoCompiler)。 - 工作区根脚本
pnpm build→scripts/build-platforms.cjs;pnpm build:current→scripts/build-current.cjs(只构建当前平台,测试前用)。 - 测试分两层:
pnpm test:go(Go 单测,见scripts/test-go-*.cjs)与pnpm test:features(TS e2e,跑各tests/test-*包)。
生成物与夹具速查
下一步:架构总览。