# @codependix/nx 中文文档

规范地址：https://npmcn.com/package/%40codependix/nx/

版本：0\.0\.62
npm 元数据更新时间：2026-11-10T03:12:13.000Z
中文译文更新时间：2026-11-10T07:27:36.514Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40codependix/nx
原文对照：https://npmcn.com/package/%40codependix/nx/?lang=original
项目主页：https://github.com/organizzolini/codebase/tree/main/projects/ic-suite/codependix/codependix-nx#readme
源码仓库：https://github.com/organizzolini/codebase

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：67.6 kB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：8 个
- peer 依赖：typescript ^6\.0\.3
- 首次发布：2026-10-13T02:50:18.496Z
- 最新版本发布：2026-11-10T03:12:12.638Z
- 近 30 天下载量：8489（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：63（近 12 个月 63 个）

## 中文简介

Nx 插件推断每个项目的编码endix 边界门, 判断每个项目的 Nx 依赖性关闭

## 安装

```sh
npm install @codependix/nx
```

也可以使用：`pnpm add @codependix/nx`、`yarn add @codependix/nx`、`bun add @codependix/nx`

## README

# \\\\ 代码pendix Nx

[![npm](https://img.shields.io/npm/v/@codependix/nx?logo=npm&label=npm)](https://www.npmjs.com/package/@codependix/nx)

**在每个工程的Nx依赖关闭上建起一个Nx插件,检查每个工程的编码边框.**

图表导出、配置、边界规则和 如何将调查结果记入项目 [`@codependix/cli` 读取](https://github.com/Organizzolini/codebase/tree/main/projects/ic-suite/codependix/codependix-cli#readme)。 。 。 . `@codependix/cli` 不需要 Nx 插件 : `--projects` 财务报告和审定财务报表 `--tags` 已经 缩窄 a `--check boundaries` 从平地跑到它判断的项目 壳. 这个软件包是工具链中依赖于 `@nx/devkit`,并增加了只有任务执行者才能做到的:

-   **每个项目的门**这样 `nx affected`, (中文(简体) ), `--projects=tag:…`,则 任务缓存进行选择.
-   **以边界被打破的项目命名的失败**,而不是一个 整个工作空间的任务对他们来说都是失败的.

## 安装

```bash
npm install --save-dev @codependix/nx
```

登记在册 `nx.json`数字 :

```json
{
  "plugins": [
    {
      "plugin": "@codependix/nx",
      "options": {
        "configurationPath": "configuration/codependix.config.ts",
        "gateTargetName": "codependix-bound"
      }
    }
  ]
}
```

| 选项 | 含义 |
| --- | --- |
| `configurationPath` | **要求.** 代码化配置所住之处. 注册插件而不失败推断, 命名选项; 没有默认路径 |
| `gateTargetName` | 推断出的目标. `codependix-bound` 省略时 |

门管指挥线 `@swc-node/register` 钩子,什么 此插件本身依赖并注册 —— 工作空间不需要 安装它们。 工作空间根确实需要一个 `tsconfig.json` 发送 装饰元数据: 钩子从工作目录读取, 从 : 从其类型Script来源中检查靴子 NestJS 容器,以及 构造器注入读取了元数据.

## 使用量

门被推断为每个工程 `project.json`, (中文(简体) ), 除了工作空间根,它的依赖性关闭是整个工作空间. A 类 工程 Nx 从 a 推断 `package.json` 单枪匹马没有大门,直到得到它 (单位:千美元) `project.json` 还有.

```bash
nx run lexico-db:codependix-bound          # one project
nx run-many -t codependix-bound                  # every project
nx affected -t codependix-bound                  # only what changed
```

### 大门

每个门都从工作空间根运行:

```bash
node --import <file URL of @codependix/nx/loader> <@codependix/cli/main> \
  map --directory <workspaceRoot> --config <configuration> \
  --check boundaries --projects <project>
```

`@codependix/nx/loader` 登记 `@swc-node/register` 钩子解析自 此插件本身的位置 。 钩子是自己的 `@swc-node/register/esm-register` 可以从工作目录——消费者的根——中解决这些问题, 当 pnpm 这样的软件包管理器不显示此插件时 依赖性。 装填器和命令行的输入都解决了 通过软件包导出, 因此同一闸门在内部运行 TypeScript 源 此工作空间和已建 `dist/` 来自已安装副本的文件。 其产出 被流到任务到达时,任务只在离开时通过 无.

**一个依赖的分界线就是依赖的大门的生意.** 这个 图表是建在项目和它所依赖的一切上,所以一个循环 仍可发现存在依赖关系的情况,但只有一项调查结果被归罪于 工程门失败 。 向抚养人收取的费用以纸币形式印制,以及 失败的依赖者自己的门.

目标被缓存. 其投入是项目本身的来源及其 依赖性'(`default`, (中文(简体) ), `^default`),工作空间配置规则 生活,项目自己的 `codependix.config.*`,和编码后缀命令 线条本身——因为没有经过判断的项目取决于决定其 判决,如果改变代码, 将会重放每个缓存的密码:

-   何时 `@codependix/cli` 是同一工作空间的软件包, 2 `{workspaceRoot}` 输入它和它到达的每个工作空间包 结束 `workspace:` 依赖性 : `<package>/package.json` 财务报告和审定财务报表 `<package>/src/**/!(*.test.*|*.spec.*)` - 未经测试的来源, 因此,只测试编辑到命令行的闸门无效 软件包本身和它的依赖。 文件缩写 而不是说 `{ "input", "projects" }` 输入, 因为 Nx 受到影响 计算如下 `{workspaceRoot}` 抹黑并忽略后者——所以 更改命令行源的分支选择每个门,一个 这只能改变它的测试。 测试不包括在 而不是被一个 `!`\- 前置输入, 受影响的计算 无视.
    
-   当从登记册中安装时 `externalDependencies` 输入命名 它和那个 `@codependix/*` 软件包取决于它,所以一个版本起伏 取消缓存。 Nx 将外部依赖加在一起 取决于一切,所以 `@codependix/*` 下方的软件包 盖也.
    
-   无论哪种情况, `{workspaceRoot}/tsconfig.json` 和每个tscond它 `extends`. 装载器(`@swc-node/register`)取其编译器选项—— `emitDecoratorMetadata` 其中,决定雀巢JS如何来源 汇编——从 `SWC_NODE_PROJECT` 或者说 `TS_NODE_PROJECT`,否则 `tsconfig.json` 在闸门的工作目录中,工作空间根,以及 从来没有从一个包裹自己的。 档案通过 `extends`, (中文(简体) ), 从而在 TypeScript 解析时跟随链条进行推断——一个字符串 或数组,通过每个关卡,注释和后缀允许, `.json` 附加到命名无文件的路径, 并带一个光包名称 联合国 `tsconfig.json` 或编号 `exports` (不向 `tsconfig` 区域 明显的,这是罕见的:
    
    -   工作空间中的基础,通过相对路径或通过一揽子 同一个工作空间,是另一个 `{workspaceRoot}` 输入。 一个也是 缺少或无法解析 —— 修正它的编辑会失效 门 - 虽然它会延伸什么 无法遵循,和Nx的日志 警告它命名.
    -   安装的软件包提供的基础,例如 `@tsconfig/node24` —— 说 以软件包或路径命名 `node_modules` - 在一个 `externalDependencies` 输入,所以一个版本的凸起使缓存无效, 但只有在根时 `package.json` 从一个 登记。 Nx 失败的每个任务 `externalDependencies` 名称 a 软件包在图中缺失,所以只有另一个软件包宣布, 或通过 `workspace:`, (中文(简体) ), `file:`, (中文(简体) ), `link:`,或 `portal:`跳过 警告:在根中声明 `package.json` 拥有它 散开.
    -   工作空间外的基地,或解析为无文件的软件包基地, 无法用任何输入来命名,而是以警告跳过.
    
    A 类 `SWC_NODE_PROJECT` 或者说 `TS_NODE_PROJECT` 指向别处不是 随后: 将该文件添加到目标输入中 。 也没有 gitignored 碱基, 如生成的框架 tsconfig, 无效 任何东西: 它被命名了, 但是 Nx 的文件映射会忽略文件 .
    

每个工作空间软件包都是通过输入而不是通过 它的表,所以一个无法解决的,只花费它自己的投入: 纳克丝 logger警告它命名,而所有其他软件包都保留其输入. 如果 命令行本身无法在图形、工具构建时解决 输入被忽略,并且警告它的名称——从不辜负图表。 这个 tsconfig 链在命令行之外解决, 所以失败或失败 保持对方的投入。 这个 目标声明否 `configurations`因此,集合器运行与 `--configuration=check` 倒计时.

**一个缓存的门 `projects` 或者说 `tags` 选择它自己以外的任何东西 项目被拒绝 .** 它的投入包括自己的项目和该项目的 依赖性,不是这样的项目 运行评委,所以Nx可以重放过关 在编辑到当前失败的工程之后。 Nx 修正 `cache` 每个目标, 因此目标设定 `projects` 或者说 `tags` 也必须设置 `cache: false`; 数据 执行器会发出这样一条消息, 选择是否来自 命令行、目标选项或配置。 门只判断 其项目——包括 `projects` 完全标出项目名称 继续缓存.

### 执行器选项

```bash
nx run lexico-api:codependix-bound --projects=lexico-db,lexico-api
nx run logging:codependix-bound --tags=type:package --dependencies=false
```

| 选项 | 含义 |
| --- | --- |
| `projects` | Nx 项目名以判断, 替换目标自己的项目 |
| `tags` | Nx 工程标记, 判断每个携带的项目 **任意** 他们 |
| `dependencies` | 构建已判断的项目' Nx依赖性关闭. `true` 默认; `false` 仅建设经判断的项目 |
| `configuration` | 覆盖已注册的配置路径。 如果注册名称无,则需要;拒绝空白值 |

Nx 手插件选项可以推论, 也可以不做其他选择, 所以一个门给出了没有 `configuration` 读取此插件的 `configurationPath` 注册后退出 `nx.json`,所以一个门读取的文件就是它命名的缓存输入. 门 既不失败,则命名选项:不假定路径。 执行器选项 这不是Nx的了 `--configuration` 旗帜,用于选择目标配置 例如 `check` 或者说 `write`。 。 。 .

## 软件包

| 软件包 | 作用 |
| --- | --- |
| [`@codependix/nx`](https://npmcn.com/package/%40codependix/nx/) | Nx 插件: 在 Nx 依赖性关闭上建造的每个项目边界门 |
| [`@codependix/cli`](https://npmcn.com/package/%40codependix/codependix-cli/README.md) | 管弦乐四相相图所造者,运出出所出所出所出所出所出所出所出所出所出 `--check boundaries` |
| [`@codependix/boundaries`](https://npmcn.com/package/%40codependix/codependix-boundaries/README.md) | 构建每个层次的图表,根据宣布的规则判断,并将每个发现收费给一个项目 |
| [`@codependix/configuration`](https://npmcn.com/package/%40codependix/codependix-configuration/README.md) | 读取 `codependix.config.ts` 并解决每个项目的出口目的地和边界规则 |

## 测试

```bash
nx run codependix-nx:vitest
```

## 捐款

```bash
nx run codependix-nx:lint-code --configuration=check
```

## 许可证

麻省理工学院——见 [自由主义](https://npmcn.com/LICENSE)。 。 。 .

## \* 调和

这个项目源于 [巢-服务-项目](https://npmcn.com/configuration/conformetry-templates/nestjs-service-project) 符合模板.

## 常见问题

### @codependix/nx 是什么？

Nx 插件推断每个项目的编码endix 边界门, 判断每个项目的 Nx 依赖性关闭

### 如何安装 @codependix/nx？

在项目目录运行 npm install @codependix/nx，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：typescript（^6\.0\.3）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @codependix/nx 支持 TypeScript 吗？

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

### @codependix/nx 支持 ESM 还是 CommonJS？

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

### @codependix/nx 可以商用吗？

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

### @codependix/nx 的下载量有多少？

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

### @codependix/nx 还在维护吗？

最新版本 0\.0\.62 发布于 2026/11/10（今天）；至今共发布 63 个版本，其中过去 12 个月发布了 63 个；首次发布于 2026/10/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

