123、【Agent】【OpenCode】项目配置(应用级 Monorepo)
【声明】本博客所有内容均为个人业余时间创作所述技术案例均来自公开开源项目如GithubApache基金会不涉及任何企业机密或未公开技术如有侵权请联系删除背景上篇 blog【Agent】【OpenCode】项目配置子包版本)分析了package.json中的version配置字其中version指的是子包版本而非整个项目版本其中根目录package.json的version通常代表整个 Monorepo 脚手架的版本业务代码一般不依赖它OpenCode 在这里并没有定义项目的版本号而子包package.json的version则代表该子包自身的语义化版本接着分析了子包版本管理的两种模式锁定版本模式Fixed/Locked Mode所有子包的 version 保持一致OpenCode 当前所用的与独立版本模式每个子包的package.json里的version各不相同发布时各自独立递增最后提到了 Git 里的版本 ≠ npm 上的版本下面继续分析OpenCode关于版本号这里最后再更正下补充一个信息从历史的提交记录来看基本都是由 OpenCode 单独提一个合入请求 MR 进行更新的与上篇 blog 提到的由工具自动计算版本号填入还不太一样并且版本更新时间也不是固定的可以看到单次 MR 内只有更新版本号这一个动作这个动作会更新掉所有子包里的版本号并将修改同步到bun.lock结合这里的历史提交记录可以推断出 OpenCode 的子包大概是不用发布到 npm 的属于应用级别的 Monorepo而不是库级别的 Monorepo下面做个对比分析维度库级别 Monorepo比如 Babel/React应用级别 Monorepo比如 OpenCode子包消费者外部 npm 用户仅仓库内部的其他子包npm publish必须发布版本号是公共契约不需要版本号只做内部标识用版本号意义SemVer 兼容承诺构建、缓存、调试标记版本统一原因让用户知道哪些包互相兼容让内部依赖解析简单CI 缓存命中率高改version的 MR由 CI 自动回写或linked机制触发手动提因为只是内部事务这种统一的版本在应用级别的 Monorepo 也有实际价值比如调试追溯时用户报 Bug 说 xxx.xxx.xxx 版本有问题开发者能立刻定位所有子包的源码状态而不需要查每个子包各自的版本回到 MR这里可以看到维护者在准备一个新 release 时手动把内部版本号对齐到一个新值这个操作和 npm 无关只是为了让仓库内部的版本标记保持一致而之后的 CI 可能只是打个 Tag构建产物推送到 Github 等不涉及到 npm publish 发布与 npm 契约无关OK再回到package.json这里还有个关键配置字private没介绍这里private为true刚好就验证了之前的分析OpenCode 使用的是应用级别的 Monoreponpm/yarn/pnpm 看到private为true时会拒绝执行 npm publish此时的版本号就可以随意调整不影响任何外部用户接着是export配置下面分析下库级别 Monorepo 和应用级别 Monorepo 在export配置上的区别维度库级别OpenCode 应用级别配置类似./button等精确路径./*./src/*.ts通配符指向dist/等构建产物 部分源码全部指向src/原始 TypeScript 源码消费者外部 npm 用户 内部包仅内部包运行时Node.js 加载编译后的 JSMJSBun 直接运行.ts源码设计意图讲究兼容提供稳定公共 API开发时零构件源码级实时引用OK本篇先到这里如有疑问欢迎评论区留言讨论祝各位功力大涨技术更上一层楼更多内容见下篇 blog【Agent】【OpenCode】项目配置tsconfig.json 与 package.json

相关新闻

177、深度学习降噪:用 CNN 替代传统 NR 的方案设计、模型选型与量化部署

177、深度学习降噪:用 CNN 替代传统 NR 的方案设计、模型选型与量化部署

177、深度学习降噪:用 CNN 替代传统 NR 的方案设计、模型选型与量化部署 一、从一次“翻车”调试说起 去年Q2,我接手一个中端平台项目,Sensor是IMX586,ISP pipeline里传统3D NR(时域降噪)和2D NR(空域降噪)都跑满了,但夜景预览依然满屏“油画感”——细节糊成一片,边…

2026/6/21 9:01:42阅读更多 →
Agent 核心原理:从场景选择到效果验证

Agent 核心原理:从场景选择到效果验证

聊《Agent 核心原理:从场景选择到效果验证》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。 摘要 本文概述文章目标、核心观点和实践价值。 **摘要**:最近在团队中落地了几个Agent项目&am…

2026/6/21 8:56:42阅读更多 →
XUnity.AutoTranslator终极指南:3步让Unity游戏告别语言障碍

XUnity.AutoTranslator终极指南:3步让Unity游戏告别语言障碍

XUnity.AutoTranslator终极指南:3步让Unity游戏告别语言障碍 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言不通而错过精彩的游戏剧情?是否因为看不懂日文、韩…

2026/6/21 8:56:42阅读更多 →
阴阳师百鬼夜行自动化:从手动撒豆到智能决策的全面升级

阴阳师百鬼夜行自动化:从手动撒豆到智能决策的全面升级

阴阳师百鬼夜行自动化:从手动撒豆到智能决策的全面升级 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师玩家都知道,百鬼夜行是获取稀有式神碎片的重…

2026/6/21 10:41:58阅读更多 →
2026实测:专业降AIGC工具TOP1推荐

2026实测:专业降AIGC工具TOP1推荐

2026 年降 AIGC 工具已从“机械式语言重构”进化为多维度智能优化系统,核心评估指标涵盖 AI 生成痕迹识别精准度、学术表达自然度、格式结构完整性、长段落逻辑流畅性、内容改写适配性以及高校查重平台兼容性。本次测评精选 5 款热门工具,测试场景覆盖中…

2026/6/21 10:41:58阅读更多 →
App UI自动化测试:元素定位策略全解析与工程化实践

App UI自动化测试:元素定位策略全解析与工程化实践

1. 项目概述:从“点点点”到“精准抓取”的蜕变做移动端测试或者开发的朋友,对“点点点”这个动作一定不陌生。无论是手动测试功能,还是早期尝试写脚本模拟点击,核心都绕不开一个最基础、也最让人头疼的问题:怎么让程序…

2026/6/21 10:41:58阅读更多 →
终极指南:如何用Python自动化工具轻松抢到B站会员购热门门票?

终极指南:如何用Python自动化工具轻松抢到B站会员购热门门票?

终极指南:如何用Python自动化工具轻松抢到B站会员购热门门票? 【免费下载链接】biliTickerBuy b站会员购购票辅助工具 项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy 还在为B站会员购热门活动门票秒光而烦恼吗?&am…

2026/6/21 10:41:58阅读更多 →
基于NXP MCAT工具的PMSM FOC参数测量与控制器整定实战指南

基于NXP MCAT工具的PMSM FOC参数测量与控制器整定实战指南

1. 项目概述与核心价值 搞电机控制的朋友,尤其是玩永磁同步电机(PMSM)的,应该都绕不开磁场定向控制(FOC)这个话题。这技术说白了,就是把交流电机当成直流电机来“驯服”,通过坐标变换…

2026/6/21 10:41:58阅读更多 →
掌握高效账号查询技巧:手机号逆向查询QQ号工具完整指南

掌握高效账号查询技巧:手机号逆向查询QQ号工具完整指南

掌握高效账号查询技巧:手机号逆向查询QQ号工具完整指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 手机号逆向查询QQ号工具phone2qq是一款专为解决账号遗忘问题的Python开源工具,通过手机号快速检索关联的…

2026/6/21 10:36:58阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/21 0:00:40阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/21 0:00:40阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/21 0:00:40阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/21 0:00:40阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/21 0:00:40阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/21 0:00:40阅读更多 →