在 #3207 收尾(PR #4734)跑 pnpm check:i18n 时发现的既有噪音,与该 PR 无关,按 Prime Directive #10 立单不修。
现象
check:i18n 全绿的运行中稳定输出:
defineStack: stack.name: 'name' is not a declared stack key, so its value is dropped at load — did you mean 'pages'?
(unknown-authoring-key lint 有 dedupe,九个包只打印一次。)
根因
全部九个 scripts/i18n-extract.config.ts 都在 defineStack({ ... }) 顶层写了 name::
packages/platform-objects/scripts/i18n-extract.config.ts:181
packages/plugins/plugin-approvals/scripts/i18n-extract.config.ts:30
packages/plugins/plugin-audit/scripts/i18n-extract.config.ts:25
packages/plugins/plugin-security/scripts/i18n-extract.config.ts:27
packages/plugins/plugin-sharing/scripts/i18n-extract.config.ts:23
packages/plugins/plugin-webhooks/scripts/i18n-extract.config.ts:26
packages/services/service-messaging/scripts/i18n-extract.config.ts:30
packages/services/service-realtime/scripts/i18n-extract.config.ts:23
packages/services/service-storage/scripts/i18n-extract.config.ts:26
name 不是声明的 stack key,值在 load 时被丢弃 —— lint 行为正确,配置是错的(九份互相拷贝的同一处错)。
决策点(二选一,不建议消音 lint)
- A. 删掉九处
name::机械修正,extract 配置本就不需要自命名;
- B. 若 stack 确实该有
name:走 spec 正路把它声明成 authorable key(Zod + 生成物),而不是靠 lint 容忍。
倾向 A:这些是内部 extract 夹具,name 从未被读。绿色运行里稳定出现的 warning 会训练人忽略 warning,这本身就是成本。
复现
pnpm check:i18n(需先构建 CLI:pnpm turbo run build --filter=@objectstack/cli...)。
发现于 session session_0176qgxgCXTJCUv4YFLtusP9(#3207 收尾途中,超范围不代修)
在 #3207 收尾(PR #4734)跑
pnpm check:i18n时发现的既有噪音,与该 PR 无关,按 Prime Directive #10 立单不修。现象
check:i18n全绿的运行中稳定输出:(unknown-authoring-key lint 有 dedupe,九个包只打印一次。)
根因
全部九个
scripts/i18n-extract.config.ts都在defineStack({ ... })顶层写了name::name不是声明的 stack key,值在 load 时被丢弃 —— lint 行为正确,配置是错的(九份互相拷贝的同一处错)。决策点(二选一,不建议消音 lint)
name::机械修正,extract 配置本就不需要自命名;name:走 spec 正路把它声明成 authorable key(Zod + 生成物),而不是靠 lint 容忍。倾向 A:这些是内部 extract 夹具,
name从未被读。绿色运行里稳定出现的 warning 会训练人忽略 warning,这本身就是成本。复现
pnpm check:i18n(需先构建 CLI:pnpm turbo run build --filter=@objectstack/cli...)。发现于 session
session_0176qgxgCXTJCUv4YFLtusP9(#3207 收尾途中,超范围不代修)