@ cobre- npm/ portal- widgets (英语)
可嵌入的 Vue 3 元件为 Cobre 的出入口,发布到 npm , 由出入口外壳和
由任何其他主机应用程序. vue 财务报告和审定财务报表 vue-i18n 是外部的——由主机提供.
脚本
| 脚本 | 它会做什么 |
|---|---|
pnpm dev | Vite Dev 牵引装置(src/main.ts(中文(简体) ) |
pnpm build | 将可出版的图书馆建为 dist/ + 将类型输入 dist/types/ |
pnpm test | 整个大门: 套房, 覆盖在地板上, 和鼠标 |
pnpm lint | 带有 ESLint 的 Lint 自动修正( A) |
测试
pnpm test 运行三件事的顺序, 和任何其中的去红色失败的建设:
- 那个套房 - 维特过来
src/**/*.{test,spec}.ts。 。 。 . - 覆盖范围 ——按下列标准执行:
coverage-floor.json。 。 。 . - 转弯 —— 说
scripts/check-invariants.mjs比较底稿和底稿.
src/repo-invariants.test.ts 守卫 形状 而不是其编号:
阈值从 coverage-floor.json 而不是暗示,所有四个度量衡,
无法排除所有部件目录缩小分母 test 脚本
仍然引用一个真正的跑者 没有 --passWithNoTests没有它,大门就可以被打败,没有它
触摸一个数字 鼠标手表.
车道覆盖 src/**/*.ts 减测试,只类型模块, enums, locales, 模拟,常数,
桶和Dev条目。 这个 .vue 组件是故意的 没有 在分母中:与
ds-v3 这个软件包没有故事道,所以没有二进制渲染闸门可以和,
将未经测试的部件折叠成一个数字,以衡量是否缺少向导道
而不是逻辑ADR-0008 (英语)) (中文(简体) ).
覆盖层的缝隙
coverage-floor.json 是一个 地板,不是目标它掌握着门的日记
被打开(2026-09-17),而不是95%,因为没有可追溯的回填——无人能够进入的大门
第一天收养的门没人打开.
它可能只会上升. scripts/check-invariants.mjs 当其中的任何数字下降到低于值时失败
当一个度量衡被完全去除时,或者当基准值不能解决时——鼠标
默默不作的跑步 与过去那段是分不开的 这就是整个的缺陷
要删除的闸门存在。 放下地板在同一块 承诺
打破它正是 鼠标的存在防止.
当加入测试和覆盖率上升时,在同一公关中提高底线. 这就是整个机制.
在CI之外,鼠标是一个不op 除非你给它一个基础参考:
node scripts/check-invariants.mjs --base origin/trunk
这道门被执行的地方
输油管是 不在此还原它生活在 Cobre-Colombia/circleci-library 时间
pipes/npm/config-frontend-libraries.yml,其 build_unit 任务运行
eval "CI=true ${TEST_CMD:-npm test}"。 。 。 .
这个软件包 没有 .env 在repo的文件中 config/frontend-libraries-project-overrides/这样
build_unit 陷入默认状态 npm test ——和该默认 实值 大门。 缺席
这是故意的,而不是疏忽: 管子不需要覆盖这个步骤运行
此处的操作只能削弱已经定义的软件包本身的命令 .
如果增加了一个,它不能携带 TEST_CMD 会 议 日 程 和 议 程 vitest ... --passWithNoTests 形状.
这正是中和的 util-ds:步骤跑出,报告成功,永远不能失败.
CI=true 开关也是:没有它 check-invariants.mjs 没有任何根据
出口为0.
建筑
见 克劳德·姆德 用于部件布局、导出表面、本地化模式和 代码样式规则.