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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions