\\ 代码平起克
作为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/examples | 21个主题被绘制成图,每个主题都带有指南 代码endix制作从它 |
@codependix/nx | Nx 插件: 推断每个项目 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 - 命令 - 项目 符合模板.