@codependix/cli

中文文档
0.0.76发布于 2026/11/10MITTypeScriptES Module构建来源已验证近 30 天下载 9278

导出和验证 Nx 、 NestJS 以及文件级别依赖图和边界的命令行工具

中文使用文档
文档目录13 节
  1. 使用量
  2. 两者 --check 名称
  3. 哪个工程找不到边界
  4. 当没有命名模式时
  5. 每个项目的大门
  6. 输出到哪里
  7. 边界报告
  8. 软件包
  9. 代理技能
  10. 实例
  11. 开始
  12. 测试
  13. * 调和

\\ 代码平起克

npm

作为JSON和Markdown图表输出一个项目的依赖性图表——Nx、NestJS和文件级的导入,并打开这些图表被判断的规则.

Codependix读取每个项目所依赖的,并使其成为四个方法: Nx 项目图,一个 NestJS 项目的模块图, 一个 TypeScript 项目的自有 文件级导入图,以及 Python 项目本身的文件级导入图. 每个图都送到任何目的地 codependix.config.ts 工程名称—— JSON 文件, Markdown 锚 块分解成已有文件, 如 a README.md或两者兼有。 一样 然后根据配置规则判断已建图 声明——见 @codependix/boundaries。 。 。 .

pnpm add --filter <project> --save-dev @codependix/cli
codependix map --write --config configuration/codependix.config.ts

使用量

一个命令, map,没有每个图型子命令。 哪个图表运行于 a 哪个规则判断它完全是一个 函数,每个运行名称 --config 因为没有搜索,也没有默认 configuration/codependix.config.ts 为这个仓库自己.

旗帜含义
--check [check]无法使用从 boundaries 财务报告和审定财务报表 reports
--config <config>要求. 密码平分配置文件路径 。 关闭它失败运行, 命名旗帜; 没有搜索
--dependencies构建 --check boundaries 项目的依赖性 --projects 或者说 --tags 名称,将其发现作为注释(默认)报告。 没有效果 --projects 或者说 --tags
--no-dependencies构建 --check boundaries 仅限项目 --projects 或者说 --tags 名称,而不是他们的依赖。 没有效果 --projects 或者说 --tags
-d, --directory [directory]工作空间根, 其 Nx 工程图显示此运行 。 工作目录的默认值
--exclude [exclude]逗号分隔了已配置的软块 exclude。当 exclude 从未配置
--file-imports构建、检查和写入 fileImports 此运行的图表类型
--no-file-imports跳过 fileImports 此运行的图表类型
-f, --format [format]要打印到标准输出, 其中一个 json 财务报告和审定财务报表 markdown (默认 : markdown) (中文(简体) ). 只有在运行也为其配置了一个工作空间目的地时,一个图表类型才会打印出来,即使它自己的切换旗启用了它. A 类 --check boundaries 运行后添加其调查结果,列在 boundaries 键入 json (单位:千美元) Boundaries 节 markdown
--include [include]逗号分隔了已配置的软块 include。当 include 从未配置
--json-output [jsonOutput]将每个活动图类型的数据写入,在此路径上合并成一个JSON文件,由图类型名键入. 类型仅在运行同时为其配置工作空间目的地时才会出现 。 A 类 --check boundaries 运行中将结果添加到 a boundaries 键
--markdown-output [markdownOutput]在这条路径上, 将每个激活的图类型的图 合并成一个 Markdown 文件 。 类型仅在运行同时为其配置工作空间目的地时才会出现 。 A 类 --check boundaries 运行中添加其结果为 Boundaries 节
--nestjs-modules构建、检查和写入 nestjsModules 此运行的图表类型
--no-nestjs-modules跳过 nestjsModules 此运行的图表类型
--nx-projects构建、检查和写入 nxProjects 此运行的图表类型
--no-nx-projects跳过 nxProjects 此运行的图表类型
--projects [projects]以逗号分隔的项目名称或根来导出,作为 globs, 以超越 include 已选择 。 还将工作空间图缩小到命名的集,以及 --check boundaries 仅根据指控它的调查结果而失败
--tags [tags]逗号分隔 要导出 Nx 标记, 超出 include 已选择 。 缩小工作空间图和 --check boundaries 对标记的项目,如 --projects 已经
--write写入每个配置的导出

两者 --check 名称

--check 搜索失败的名称, 因为这两个结果属于 在拉力请求的对面.

--check 价值运行失败的
boundaries一个边缘,或者一个循环,打破一个公开的规则
reports配置的目的地不再持有新运行将写入的内容

边界侵犯是由分支造成的 并由分支固定,所以 门每个拉取请求,一次一个工程——看 每个项目的大门。与 它描述的工作空间,并且会让每个改变工程的分支失败 而非分支本身所做的任何工作,所以在 默认的分行和门都没有。 那也是一样 callidescope 之间 --check depth 财务报告和审定财务报表 --check reports,以及 reports 故意在两种文字中拼写相同: 这是相同的发现, 和两个名字 它会使两份报告 无法读取在一起.

  • --check boundaries 没有读到目的地,写什么,所以它离开 每一个承诺出口 完全按照它发现的.
  • --write --check boundaries ——边界没有目的地 t.
  • --write --check reports 拒绝 : 导出无法在运行中 stale 刚刚写的.
  • 一个赤裸的 --check,或其价值仅为分离器的,被拒绝。 读取为 "门什么也没有" 它会是一个不能失败的大门, 这比没有更糟糕 门是因为它看起来像保护.

哪个工程找不到边界

每项发现都记入属于以下项目: 每个项目都有一个节点 禁止拥有它的边缘 源代码,是文件或 NestJS 级别查找到其图表的项目 和无法启动该集装箱项目的集装箱——其 当堆栈时, 信件指定拥有它失败的类的项目 显示另一个.

--projects 财务报告和审定财务报表 --tags 将项目命名为运行中的评委。 图形构建 以及他们所依赖的一切 运行失败时, 只能从指定项目中收费 。 一个只收取到 a 依赖性记录为“在依赖性中”,而不失败: 被命名的项目是建立在它的上, 但这不是该项目的修复. --no-dependencies 仅靠指定项目建设。 没有旗帜 每个项目都经过评判。 A 类 --projects编号 :--tags 选择不匹配 工程——拼写错误的名称、无人携带的标签或工作空间 root —— 被拒绝作为拒绝的命令行, 而不是作为门运行 没有判断力.

当没有命名模式时

没有命名 --check 也没有 --write 被问到,作为三个项目菜单—— boundaries, (中文(简体) ), reports, (中文(简体) ), write。 。 。 .

没有旗子可以关闭提示, 因为没有什么可以打开的 关闭无法回答的地方 : 运行失败, 其标准不是终端 立即命名它想要的旗帜,而不是绘制菜单. 那个 拒绝是负载而不是防御性的—— prompts 不失败于 a 非致命的结节。 它使菜单,永远不会解决,让过程 退出 0, 这将将一个忘记模式旗的脚本运行变成 默默地成功,却无所写. 取消终端的菜单 报告的方式与拒绝的命令行相同,而不是崩溃.

没有任何模式可以推断,这是规则 codometer还有.. callidescope旗帜也跟着来.

在Nx工作区,门是每个项目 codependix-bound 目标,以及 出版是整个工作区唯一的 write 运行。 这个仓库的 guard-code 在每次拉动请求中达到第一个,其发布工作流程运行 默认分支的第二个:

nx run <project>:codependix-bound
nx run configuration:codependix:write

一个项目失败 —— 缺少锚, 或者 NestJS 项目失败 启动其集装箱——据报道,其他集装箱没有停止: --write 无论是 完全成功, 或确切指定哪些项目在完成时失败 每一个其他的.

每个项目的大门

--check boundaries --projects <name> 是一个项目的大门,不需要 任务执行者. @codependix/nx 推断它是一个 Nx 工作空间作为缓存 codependix-bound 每个项目的目标 工作空间根, 所以 nx affected -t codependix-bound 选择工程 a 已触动更改和失败名称 一个全工作空间的任务。 目标宣布没有配置, 所以 guard-code --configuration=check 发生违约,因为 callidescope-restrict 已经.

出版在全工作空间停留: 1 --write 运行生成每个项目的 锚块,必须反映一个承诺,所以 configuration:codependix 实值 write- 仅且不属于 guard-code。 。 。 .

输出到哪里

印刷和交付是分开的. --format 决定什么达到标准 输出; 目的地在 workspace 组合和 --json-output编号 :--markdown-output 决定什么到达文件.

Markdown是控制台默认值,因为它是一个在读取 终端和粘贴成一个问题. --format json 用于机器读取 标准输出,所以每个诊断都到标准出错——保持标准 输出清洁和可解析为数据.

边界报告

--check boundaries 将其结果日志为标准错误,并给出 --format, (中文(简体) ), --json-output,或 --markdown-output,并把它们打印成 报告:a boundaries 在JSON中键,并作为 ### Boundaries 节 马克倒地。 A 类 --check boundaries- 只运行,不输出任何东西,打印只是 报告;一项出口也包含在一份文件中。 没有 这些旗帜中,只有边框的运算不显示任何字迹,还有运算 导出时的图表与以前完全一样.

JSON持有 judgedProjects (其结论失败的项目), violations (单位:千美元)level, (中文(简体) ), rule, (中文(简体) ), message, (中文(简体) ), source, (中文(简体) ), target, (中文(简体) ), cycle,则 收费 projects,则a verdict 联 合 国 fail 或者说 note和 failures (单位:千美元)level, (中文(简体) ), error,指控 projects,一个 ownerProject 当失败时 代码属于另一个工程,和 a verdictA级 note 是发现 生活在一个被判断的项目的依赖中,不会失败运行。 这个 Markdown列出了他们收取的每个项目下的相同结果,a 标记为未失败.

调查结论由谁负责,每个案件都有报告 印数,以四个例子表示: 周期, (中文(简体) ), 禁止的边缘, (中文(简体) ), 两者之一的附属关系, (中文(简体) ), 财务报告和审定财务报表 无法启动的容器。 。 。 .

软件包

软件包作用
@codependix/cli管弦乐四幅图的建造者并交付其出口
@codependix/boundaries为工作空间构建每个层次的图表,根据宣布的规则判断,并报告打破规则的情况. --check boundaries 代表批发
@codependix/configuration读取 codependix.config.ts 并解决每个项目的出口目的地和边界规则
@codependix/examples21个主题被绘制成图,每个主题都带有指南 代码endix制作从它
@codependix/nxNx 插件: 推断每个项目 codependix-bound 运行的目标 --check boundaries 超过项目及其 Nx 依赖性
@codependix/nx-projects构建工程的 Nx 邻接和整个工作空间
@codependix/nestjs-modules探索雀巢JS项目的容器并构建其模块图
@codependix/file-imports构建工程的文件级导入图 — a typescript 模块走自己的 ts.Program,则a python 模块解析 import编号 :from ... import 声明

代理技能

编码代理的代理技能发布于 @codependix/agents数字 :

技能说明
codependix-export导出依赖性图表并运行边界检查
codependix-configure配置图表类型、导出目的地和边界规则 codependix.config.ts
codependix-navigate查询依赖路径并导航软件包关系
codependix-triage破坏边界并报告漂移情况

实例

上面描述的每一个行为, 和每一个没有,因为它活着 至今为止,只有JSDoc的评论中, 才有由真实的 工具输入 @codependix/examples数字 :

  • 读取 ——每个示例一个目录 可自行读取,并配置第一个出口目的地和采用 在工作区没有锚地
  • 一般事务人员(其他职等) - 一个"代码"说X - 打开 这个例子"表, 加权到拒绝和 --check 停滞

开始

nx run codependix-cli:start

测试

nx run codependix-cli:vitest

* 调和

这个项目源于 巢js - 命令 - 项目 符合模板.

版本与发布记录

@codependix/cli 共发布 74 个版本,首次发布于 2026/10/05;过去 12 个月发布了 74 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.76latest2026/11/10今天
0.0.752026/11/091 天前
0.0.742026/11/091 天前
0.0.732026/11/091 天前
0.0.722026/11/082 天前
0.0.712026/11/073 天前

关于 @codependix/cli 的常见问题

@codependix/cli 是什么?

导出和验证 Nx 、 NestJS 以及文件级别依赖图和边界的命令行工具

如何安装 @codependix/cli?

在项目目录运行 npm install @codependix/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 codependix,可以用 npx codependix 直接运行。

@codependix/cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@codependix/cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@codependix/cli 可以商用吗?

@codependix/cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@codependix/cli 的下载量有多少?

根据 npm 官方下载统计,@codependix/cli 在 2026/10/10 – 2026/11/08 这 30 天内被下载 9,278 次,日均约 309 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@codependix/cli 还在维护吗?

最新版本 0.0.76 发布于 2026/11/10(今天);至今共发布 74 个版本,其中过去 12 个月发布了 74 个;首次发布于 2026/10/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。