@ankhorage/apm (英语)
无头项目更新分析、规划、执行、恢复和核查.
生成的文件
- 交互式文件应用
- 公共 API 参考
- 构成部分登记册
- 结构概览
- 模块关系
- 导出图
- apm 序列
- 创建 NpmRegistry Available 移植序列
- 检查依赖性库存序列
- 验证 Package Update Metadata 序列
- 验证更新扩展能力序列
公共 API
公用事业
APM PLAN 港口
公布由APM实施的确定性规划保障和本地解析器矩阵.
plan 仅就被检查的项目读取。 软件包管理分辨率运行于 a
一次性装入目录并使用选定项目的本地npm、pnpm、Yarn或Bun
解决者。 生命周期脚本被禁用. 只返回已审查的表单和锁文件更改
(c) 组装/缓存/网络效应仍在项目树外.
默认的依赖性政策是保守的:只有直接的注册软件包有更新的版本 满足其已宣布的现有范围是自动选择的。 最近的主要,预发, 降级和准确的版本需要明确的选择,APM从不发明出新的护照范围. 明确的过渡性选择仍然只有锁;它们不被提升为根依赖.
本地解析器输出通过相同的软件包管理证据适配器重新检查
status。复制软件包实例、对等背景和工作空间链接保持其本地身份.
未知的文物来源、同行冲突、不支持的锁定/链接模式和未解决的目标
阻断器而不是部分可执行计划.
软件包拥有的迁移/预测规划人员可以要求更多的依赖选择。 亚太 通过一个有界限的固定点循环(默认的四次重复)解决那些问题。 冲突主人 中间diffs从不作为 可执行结果 。 所需的主机/扩展升级是明确的重启和再规划边界.
保存的计划包含精确的目标,审查的文件内容/diests,解析的图表/艺术身份,
命令步骤先决条件、执行人身份和语义输入指纹。 书记官处更新
时间戳与指纹有效性分开记录:刷新相同的登记处证据
不使原本相同的计划无效。 应用必须重新验证工程指纹和
执行器而不是重解 latest。 。 。 .
货运效应仍与源更新分开. 特别是依赖性图表的变化
从未假定OTA安全;没有包/平台证据 APM将OTA的资格记录为 unknown。 。 。 .
模块 : src/features/plan/constants/support.ts
资料来源: src/features/plan/constants/support.ts:34:14
APM STATUS 苏维埃
发布证据适配器所证明的精确只读状态矩阵 .
运行时间:APM需要节点24或更新. 开发用途 1.4.2号舱,但检查客户 项目可使用下文中明确支持的任何管理器.
普通 JavaScript 和 TypeScript 工程不需要 ankh.config.json杀伤人员地雷产生的包件,
工作空间和来自项目检测器的软件包管理证据加软件包管理本地文件.
检测到的非JavaScript生态系统仍只检查,直到一个明确的APM适配器拥有为止
它们的依赖语义; 它们永远不会成为虚假的完整/当前的结果.
安装根选择基于证据 。 明确 packageManager 声明胜出
lockfile heuristics 而来自其他管理人员的 stale lockfile 仍然是诊断证据. 若为
多个管理器锁文件存在, 没有明确的选择, 根有冲突
不完整 。 携带自己管理器/锁定证据的嵌入式包独立化
安装根而不是被折叠到父工作空间.
npm:包锁 v2和v3被解析. npm记录的物理节点 模块位置是: 检查时没有执行软件包代码 。 检测到包锁v1,但仍只检查. 复制版本仍然是单独的物理软件包实例,依赖边缘保留 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}他们实际上决心要证明身份.
pnpm: 解析了锁文件 v9, 包括导入根, 包/ snapshot 实例身份, 工作空间链接和对等文本后缀。 从 pnpm 虚拟确认已安装状态 存储锁定当存在时;未知/客户布局保持清晰。 因此,同级变量依然存在 不同的软件包实例,而不是被软件包名称所崩溃.
Yarn:Berry锁定元数据v8解析. nodeLinker: node-modules 用途 .yarn-state.yml· ;
nodeLinker: pnp 读取 .pnp.data.json 当存在且从未执行 .pnp.cjs。一个内衬
因此,PnP地图在设计上仍然不完整。 Yarn Classic和Yarn的pnpm连接器被检测到
但是在本版中没有作为完整的清单模式提出.
Bun: 文本 bun.lock v1和v2被解析. Bun的隔离 .bun 存储和普通节点链接为
作为数据检查。 锁定的锁道密钥保留了嵌入式和放入式包件;安装了
身份/版本不匹配仍然是明显不完整的证据。 二进制 bun.lockb 而未知的锁版本只是检查而已.
从项目/用户npmrc和
环境覆盖。 证书只在 HTTP 边缘使用,从未返回
报告。 查找复制注册名, 保留每个实例已宣布的制约, 然后运行
以最多8个请求(可配置 1–64)进行批次,默认预算为4096名.
主机可以通过一个配置的注册可用端口 statusProjectAsync; 超过
明确的预算使未加注的一揽子计划不明,而不是将它们从报告中删除.
离线缓存缺失, 注册/ 自动/ 网络故障导致可用性未知 .
status 财务报告和审定财务报表 plan 只读项目操作。 状态读取列表,锁文件,
安装元数据和登记册数据。 计划仅在下列情况下执行软件包管理本地解析
一次性中转和收益审查,不写被检查项目。 也没有
操作执行项目生命周期钩或迁移. apply 财务报告和审定财务报表 verify 保持单独
路线图操作.
模块 : src/features/status/constants/support.ts
资料来源: src/features/status/constants/support.ts:52:14
状态同步
statusAsync(input: ApmStatusInput, ports: ApmStatusPorts) => Promise<ApmStatusResult>
在不改变被检查项目的情况下,建立基于证据、可序列的杀伤人员地雷状态.
项目探测器证据、包管理库存、登记册
以及外出港口后可选的包式投影/迁移证据.
缺少或部分证据为货币 unknown它永远不会变成绿色的当前结果.
主机可以在不设终端的情况下调用这个边界,并且可以用定型假端口进行测试.
模块 : src/features/status/application/statusAsync.ts
资料来源: src/features/status/application/statusAsync.ts:20:1
相关符号 : ApmStatusInput, (中文(简体) ), ApmStatusPorts, (中文(简体) ), ApmStatusResult