Skip to content

All nine i18n-extract configs author name: on defineStack — a key the lint drops at load, warning on every check:i18n run #4736

Description

@os-zhuang

#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 收尾途中,超范围不代修)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions