如何快速搭建 effect-smol 开发环境:pnpm monorepo 完整配置指南 如何快速搭建 effect-smol 开发环境pnpm monorepo 完整配置指南【免费下载链接】effect-smolCore libraries and experimental work for Effect v4项目地址: https://gitcode.com/GitHub_Trending/ef/effect-smoleffect-smol是 Effect 团队实验 Effect v4 核心库的 monorepo 仓库包含effect核心包、平台适配、AI、SQL、原子化状态等 30 多个子包。本文是一份面向新手的pnpm monorepo 配置教程带你从安装依赖到跑通测试用 5 步完成effect-smol 开发环境搭建。⚠️ 小提示该仓库目前已归档为只读状态见 README.md但仓库内的工程结构对理解大型 pnpm monorepo 极具参考价值。一、环境准备确认 Node.js 与 pnpm 版本在开始pnpm monorepo 配置之前先确认两个前置条件工具版本要求说明Node.js24推荐 26本地可直接运行.ts文件无需 tsxpnpm10.17.1由packageManager字段锁定仓库根目录的 package.json 中通过packageManager字段声明了 pnpm 版本packageManager: pnpm10.17.1开启 Corepack 后pnpm 会自动对齐到该版本corepack enable 仓库还附带了 Nix 配置 flake.nix提供包含bun、deno、nodejs_26、corepack的开发者 shell追求环境可复现的同学可以试试。二、一键安装克隆仓库并拉取依赖使用 git 克隆仓库仅此处提供仓库地址git clone https://gitcode.com/GitHub_Trending/ef/effect-smol cd effect-smol pnpm install安装过程会处理两类特殊配置均来自根 package.json依赖补丁patches/目录下对changesets/assemble-release-plan和changesets/get-github-info的本地补丁会被自动应用构建白名单onlyBuiltDependencies只允许better-sqlite3执行原生构建脚本其余原生依赖esbuild、sharp 等被忽略安装因此又快又安全。三、看懂结构pnpm workspace 工作区划分工作区定义在 pnpm-workspace.yaml一眼就能看懂这个pnpm monorepo的组织方式packages: - ai-docs # AI 文档示例 - scratchpad # 本地试验场 - scripts # 工程脚本 - packages/* # 核心包 - packages/ai/* # AI 相关openai / anthropic 等 - packages/atom/* # React / Solid / Vue 响应式绑定 - packages/sql/* # 各数据库驱动 - packages/tools/*# 代码生成与打包工具各目录职责速览核心库packages/effect/src/ 是 v4 主干当前版本 4.0.0-beta.98包含 Effect、Stream、Schema 等模块平台适配packages/platform-node、packages/platform-browser、packages/platform-bun提供不同运行时能力试验场scratchpad/ 预置了全部 workspace 包依赖是随手写代码的最佳位置工程化scripts/ 下是 codemod、清理、文档生成等脚本。TypeScript 编译由 tsconfig.base.json 统一约束composite项目引用 增量编译目标是 ES2022、NodeNext模块并启用了strict全家桶。四、日常开发5 条最常用的 pnpm 命令以下命令均定义在根 package.json 的scripts中命令作用pnpm test启动 Vitest支持传入文件做定向测试pnpm check全仓库 TypeScript 类型检查tsc -bpnpm lint/pnpm lint-fixJSDoc 校验 oxlint 静态检查 dprint 格式化pnpm codegen重新生成各包index.tsbarrel 文件增删模块后必跑pnpm build编译所有包并构建产物测试体系基于 Vitest 项目分组入口是根 vitest.config.ts它会自动收集packages/*下每个子包的vitest.config.ts并根据当前运行时Deno / Bun自动排除不兼容的包无需手动指定。测试规范可参考 AGENTS.md测试文件放在packages/*/test/类型级测试放在packages/*/typetest/并用pnpm test-types filename运行。五、快速验证在 scratchpad 里跑一段代码环境是否搭好跑通一次才算数。在 scratchpad/ 中新建一个文件用 Node 24 直接运行无需编译node scratchpad/index.tsAGENTS.md 中的建议正是如此随手验证代码就丢进 scratchpad跑完再删除保持仓库整洁。六、进阶可选一键启动数据库测试环境如果你要跑 SQL 或 Cluster 相关测试仓库提供了 docker-compose.yaml一键拉起本地 Postgres 与 Redisdocker compose up -dPostgres5432端口库名effect_clusterRedis6379端口。七、常见问题 FAQQ1pnpm install报错版本不匹配先执行corepack enable再corepack prepare让 pnpm 对齐packageManager锁定版本。Q2为什么index.ts内容看起来是自动生成的barrel 文件由 codegen 生成禁止手改——增删模块后运行pnpm codegen即可规则见 AGENTS.md。Q3改动后应该跑哪些校验按最小覆盖原则改代码 →pnpm lint-fix 定向pnpm test 文件pnpm check改 JSDoc →pnpm lint。完整对照表见 AGENTS.md。总结effect-smol 开发环境搭建的关键就三步✅ Corepack 启用 pnpm 10克隆仓库执行pnpm install✅ 读懂 pnpm-workspace.yaml 的工作区划分找到你要改的包✅ 用pnpm test/pnpm check/pnpm lint完成日常校验。掌握这套pnpm monorepo 完整配置流程后你可以把同样的模式迁移到任何大型多包 TypeScript 项目中。【免费下载链接】effect-smolCore libraries and experimental work for Effect v4项目地址: https://gitcode.com/GitHub_Trending/ef/effect-smol创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考