refactor(types): 消除非必要 as 逃逸,锁紧 strict 政策

按 Oracle 复核处置全仓 5 处类型断言:

- fields.ts: as const → satisfies Record<GeneratedFieldKey, true>
- compile.ts: as readonly string[] → ReadonlySet<string>.has()
- embed-migrations.ts: JSON.parse as Journal → Zod schema 运行时校验,JSON.parse 显式 unknown
- interceptors.ts: 唯一保留的跨包断言(ORPC→Zod)注释扩写为完整背景
- router.tsx: satisfies 非 cast,保留

biome.json 增配 noExplicitAny / noTsIgnore / noNonNullAssertion,防止后续漂移。
This commit is contained in:
2026-04-25 14:23:08 +08:00
parent f520b54ca5
commit 695e826dcf
5 changed files with 38 additions and 9 deletions
+3 -2
View File
@@ -12,8 +12,9 @@ const SUPPORTED_TARGETS: readonly Bun.Build.CompileTarget[] = [
'bun-linux-arm64',
]
const isSupportedTarget = (value: string): value is Bun.Build.CompileTarget =>
(SUPPORTED_TARGETS as readonly string[]).includes(value)
const SUPPORTED_TARGET_SET: ReadonlySet<string> = new Set(SUPPORTED_TARGETS)
const isSupportedTarget = (value: string): value is Bun.Build.CompileTarget => SUPPORTED_TARGET_SET.has(value)
const { values } = parseArgs({
options: { target: { type: 'string' } },