@cxtms/cx-schema

中文文档
1.9.285发布于 2026/10/27MITTypeScriptCommonJS构建来源已验证近 30 天下载 3613

CXTMS YAML 模块的Schema 验证软件包

中文使用文档
文档目录35 节
  1. 特征
  2. 安装
  3. 快速启动
  4. CLI 命令
  5. 验证( 默认)
  6. 输入
  7. 创建
  8. 报告
  9. 计划
  10. 实例
  11. 列表
  12. CLI 选项
  13. 输出格式
  14. 漂亮( 默认)
  15. 压缩
  16. 贾森
  17. 程序化 API
  18. 模板
  19. 模块模板
  20. 工作流程模板
  21. 可用的外观
  22. 模块图
  23. 工作流程图
  24. 退出代码
  25. CI/CD 一体化
  26. GitHub 动作
  27. GitLab CI 语录
  28. 承诺前虎克
  29. VS 代码整合
  30. 环境变量
  31. 发展
  32. 来源建筑
  33. 本地测试
  34. 许可证
  35. 支助

@cxtms/cx-schema (英语)

npm version npm downloads Build Status License: MIT

CXTMS YAML 模块和工作流程的Schema验证软件包. 这个软件包为CXTMS中使用的基于YAML的配置提供了全面的验证.

特征

  • 模块和工作流程验证: 验证用户界面模块和工作流程定义
  • CLI 工具: 有多个命令的全功能命令行接口
  • 项目脚手架数字 : init 命令以拖曳新工程
  • 模板生成数字 : create 命令从模板生成模块和工作流程
  • 报表生成: 生成 HTML 、 Markdown 或 JSON 格式的验证报告
  • 自动检测: 自动检测文件类型(模块 vs 工作流程)
  • 类型脚本支持: 包含全部类型脚本类型和声明
  • VS 代码整合: VS 代码中YAML schema 验证的可选设置
  • 详细错误报告: 用路径和建议清除错误消息

安装

npm install @cxtms/cx-schema

快速启动

# Initialize a new project
npx cxtms init

# Create a new module
npx cxtms create module orders

# Create a new workflow
npx cxtms create workflow invoice-processor

# Validate files
npx cxtms modules/*.yaml workflows/*.yaml

# Generate validation report
npx cxtms report modules/*.yaml --report report.html

CLI 命令

验证( 默认)

对照 JSON Schema 定义验证 YAML 文件 .

cxtms [files...]
cxtms validate [files...]

# Examples
cxtms modules/orders-module.yaml
cxtms modules/*.yaml workflows/*.yaml
cxtms --verbose modules/orders-module.yaml
cxtms --format json modules/orders-module.yaml

输入

初始化带有配置文件的新 CX 项目 .

cxtms init

创建 :

  • app.yaml - 项目配置
  • README.md 项目文件
  • AGENTS.md - 关于鉴定的AI助理指示
  • modules/ - 模块文件目录
  • workflows/ - 工作流程文件目录

创建

从模板创建新模块或工作流程 .

cxtms create <type> <name>

# Examples
cxtms create module orders
cxtms create workflow invoice-generator

生成的文件包括:

  • 独特的UUID标识符
  • fileName gitHub repo 跟踪的属性
  • 具有共同模式的样本结构

报告

生成多个文件的验证报告 .

cxtms report [files...] --report <output-file>

# Examples
cxtms report modules/*.yaml --report report.html
cxtms report workflows/*.yaml --report report.md
cxtms report modules/*.yaml workflows/*.yaml --report results.json

报告格式(自动从扩展名中查找):

  • HTML 语言 - 有摘要卡和详细错误的样式报告
  • 标记 - 方便文件的表格和清单
  • 贾森 - CI/CD输油管机读取

计划

为组件或任务显示 JSON Schema 定义.

cxtms schema <name>

# Examples
cxtms schema form
cxtms schema dataGrid
cxtms schema workflow
cxtms schema foreach

实例

显示组件或任务的示例 YAML .

cxtms example <name>

# Examples
cxtms example form
cxtms example workflow

列表

列出所有可用的验证计划 .

cxtms list
cxtms list --type module
cxtms list --type workflow

CLI 选项

选项短数说明
--help-h显示帮助消息
--version-v显示版本编号
--type <type>-t验证类型 : module, (中文(简体) ), workflow,或 auto (默认 : auto(中文(简体) )
--format <format>-f输出格式 : pretty, (中文(简体) ), json,或 compact (默认 : pretty(中文(简体) )
--schemas <path>-s自定义计划目录路径
--verbose以方案路径显示详细输出
--quiet-q只显示出错, 压制其他输出
--report <file>-r生成报告到文件( html、 md、 或 json)
--report-format <fmt>报告格式 : html, (中文(简体) ), markdown,或 json

输出格式

漂亮( 默认)

人可读出有彩色格式和详细出错信息.

╔═══════════════════════════════════════════════════════════════════╗
║                  CX SCHEMA VALIDATION REPORT                     ║
╚═══════════════════════════════════════════════════════════════════╝

  File:    modules/my-module.yaml
  Type:    module
  Status:  ✓ PASSED
  Errors:  0
  Warnings:0

压缩

批量处理最小输出.

PASS modules/orders-module.yaml
PASS modules/contacts-module.yaml
FAIL modules/broken-module.yaml (3 errors)

贾森

JSON方案处理产出.

{
  "isValid": true,
  "errors": [],
  "warnings": [],
  "summary": {
    "file": "modules/my-module.yaml",
    "status": "PASSED",
    "errorCount": 0
  }
}

程序化 API

import { ModuleValidator, WorkflowValidator } from '@cxtms/cx-schema';

// Validate a module
const moduleValidator = new ModuleValidator({
  schemasPath: './.cx-schema'
});
const moduleResult = await moduleValidator.validateModule('modules/orders.yaml');

// Validate a workflow
const workflowValidator = new WorkflowValidator({
  schemasPath: './.cx-schema/workflows'
});
const workflowResult = await workflowValidator.validateWorkflow('workflows/process.yaml');

if (moduleResult.isValid) {
  console.log('✓ Module is valid');
} else {
  moduleResult.errors.forEach(error => {
    console.error(`${error.type}: ${error.message} at ${error.path}`);
  });
}

模板

模板存储于 templates/ 目录和使用占位符语法 :

占位符说明
{{name}}化名( 小写、 破折号)
{{displayName}}标题大小写显示名
{{uuid}}生成的 UUID
{{fileName}}文件的相对路径

模块模板

生成模块包括:

  • 模块元数据 appModuleId 财务报告和审定财务报表 fileName
  • 样本实体和权限
  • 列表和详细视图的路径
  • 带有数据Grid和窗体的布局组件

工作流程模板

生成的工作流程包括:

  • 工作流程元数据 workflowId 财务报告和审定财务报表 fileName
  • 投入、产出和变量样本
  • 有共同任务实例的活动(Log、Query/GraphQL、开关)
  • 手动触发

可用的外观

模块图

组件 : 布局、窗体、数据Grid、标签、标签、字段、按钮、收集、下放、数据源、日历、卡片、导航栏、时间表

字段 : 文本、文本区域、数字、选择、选择、同步、日期、日期、时间、复选框、收音机、附件、自动完整浏览器

行动: 导航、导航Back、突变、查询、通知、对话框、工作流程、设置域、设置Store、验证Form

工作流程图

核心 : 工作流程、活动、输入、产出、可变、触发、时间表

控制流量 : foreach, 切换, 同时, 验证

公用事业: 映射、 设置变量、 httprequest、 日志、 错误、 csv、 导出、 模板

实体: 订单、联系人、商品、工作、附件、收费、付款

通讯: 电子邮件发送、文档发送、文档发送

查询 : 图ql (查询/ GraphQL, 查询/ GraphQL@ 1)

退出代码

代码说明
0通过验证( 无出错)
1验证失败( 发现错误)
2CLI 错误( 无效参数, 文件未找到等)

CI/CD 一体化

GitHub 动作

- name: Validate YAML files
  run: |
    npx cxtms --format compact modules/*.yaml workflows/*.yaml

- name: Generate validation report
  run: |
    npx cxtms report modules/*.yaml workflows/*.yaml --report validation-report.html

- name: Upload report
  uses: actions/upload-artifact@v3
  with:
    name: validation-report
    path: validation-report.html

GitLab CI 语录

validate:
  script:
    - npx cxtms --format json modules/*.yaml > validation-results.json
  artifacts:
    paths:
      - validation-results.json

承诺前虎克

#!/bin/bash
# .git/hooks/pre-commit

staged_files=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(yaml|yml)$')

if [ -n "$staged_files" ]; then
  npx cxtms --format compact $staged_files
  if [ $? -ne 0 ]; then
    echo "Validation failed. Please fix errors before committing."
    exit 1
  fi
fi

VS 代码整合

要启用 VS 代码中的 YAML 计划验证和自动完成 :

node node_modules/@cxtms/cx-schema/scripts/setup-vscode.js

此创建/ 更新 .vscode/settings.json 有计划协会.

环境变量

变量说明
CX_SCHEMA_PATH计划目录的默认路径
NO_COLOR禁用彩色输出

发展

来源建筑

git clone <repository>
cd cx-schema
npm install
npm run build

本地测试

npm pack
# In another project:
npm install /path/to/cxtms-cx-schema-1.0.0.tgz

许可证

麻省理工学院

支助

关于问题,请访问 GitHub 仓库。 。 。 .

版本与发布记录

@cxtms/cx-schema 共发布 140 个版本,首次发布于 2025/12/13;过去 12 个月发布了 140 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.9.285latest2026/10/2714 天前
1.9.2842026/10/2715 天前
1.9.2832026/10/2418 天前
1.9.2822026/10/2319 天前
1.9.2812026/10/2220 天前
1.9.2802026/10/2121 天前

关于 @cxtms/cx-schema 的常见问题

@cxtms/cx-schema 是什么?

CXTMS YAML 模块的Schema 验证软件包

如何安装 @cxtms/cx-schema?

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

@cxtms/cx-schema 支持 TypeScript 吗?

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

@cxtms/cx-schema 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@cxtms/cx-schema 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cxtms/cx-schema 可以商用吗?

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

@cxtms/cx-schema 的下载量有多少?

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

@cxtms/cx-schema 还在维护吗?

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