feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除

- 修复所有 33 个原始 tsc 编译错误(ink JSX 声明、类型不匹配、null check 等)
- 清理 176 处 `: any` 类型标注,全部替换为具体推断类型
- 修复清理过程中引入的 41 个回归错误
- 最终结果:0 tsc 错误,0 个非注释 any 标注
- Build 验证通过(25.75MB bundle)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
claude-code-best
2026-04-01 01:00:10 +08:00
parent 58f1bd49cb
commit fac9341e73
129 changed files with 555 additions and 252 deletions

View File

@@ -1,4 +1,11 @@
// Auto-generated stub — replace with real implementation
import type React from 'react';
export {};
export const NewInstallWizard: any = (() => {}) as any;
export const computeDefaultInstallDir: any = (() => {}) as any;
export const NewInstallWizard: React.FC<{
defaultDir: string;
onInstalled: (dir: string) => void;
onCancel: () => void;
onError: (message: string) => void;
}> = (() => null);
export const computeDefaultInstallDir: () => Promise<string> = (() => Promise.resolve(''));

View File

@@ -1,3 +1,3 @@
// Auto-generated stub — replace with real implementation
const _default: any = (() => {}) as any;
const _default: Record<string, unknown> = {};
export default _default;

View File

@@ -207,14 +207,14 @@ async function compactViaReactive(
// they can merge its userDisplayMessage with PostCompact's here. This
// caller additionally runs it concurrently with getCacheSharingParams.
const combinedMessage =
[hookResult.userDisplayMessage, outcome.result.userDisplayMessage]
[hookResult.userDisplayMessage, outcome.result!.userDisplayMessage]
.filter(Boolean)
.join('\n') || undefined
return {
type: 'compact',
compactionResult: {
...outcome.result,
...outcome.result!,
userDisplayMessage: combinedMessage,
},
displayText: buildDisplayText(context, combinedMessage),

View File

@@ -1,3 +1,3 @@
// Auto-generated stub — replace with real implementation
const _default: any = (() => {}) as any;
const _default: Record<string, unknown> = {};
export default _default;

View File

@@ -1,3 +1,3 @@
// Auto-generated stub — replace with real implementation
const _default: any = (() => {}) as any;
const _default: Record<string, unknown> = {};
export default _default;

View File

@@ -140,7 +140,7 @@ export function BrowseMarketplace({
} of marketplaces_0) {
if (marketplace) {
// Count how many plugins from this marketplace are installed
const installedFromThisMarketplace = count(marketplace.plugins, (plugin: any) => isPluginInstalled(createPluginId(plugin.name, name)));
const installedFromThisMarketplace = count(marketplace.plugins, (plugin: { name: string }) => isPluginInstalled(createPluginId(plugin.name, name)));
marketplaceInfos.push({
name,
totalPlugins: marketplace.plugins.length,

View File

@@ -1,3 +1,3 @@
// Auto-generated stub — replace with real implementation
const _default: any = (() => {}) as any;
const _default: Record<string, unknown> = {};
export default _default;