fix: npm run lint(tsc --noEmit) 실제 0 에러 달성 — 기존 93건 정리
- tsconfig에 supabase 제외 (Deno 런타임 코드를 프론트 tsc+DOM lib로 검사하던 오류 79건) - src/vite-env.d.ts 추가 (import.meta.env 타입 6건) - @types/react 부재 환경의 JSX key 시임 4건 (ColorSwatchCard·WorkflowCard·EnvKeyRow·ApiCard) - transformPlan latestPosts 타입 캐스트, transformReport unknown 경유 캐스트, MultiChannelInput trim 가드 - Office 임시 잠금 파일(~$*.pptx) 삭제 반영 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
This commit is contained in:
parent
58fb4a317d
commit
85d72e4cfb
Binary file not shown.
@ -132,7 +132,7 @@ export default function MultiChannelInput({ variant = 'hero', onAnalyze }: Multi
|
||||
gangnamUnni: aggregated.gangnamUnni.length ? aggregated.gangnamUnni : undefined,
|
||||
},
|
||||
rawInput: Object.entries(urls)
|
||||
.filter(([, v]) => v.trim())
|
||||
.filter(([, v]) => typeof v === 'string' && v.trim() !== '')
|
||||
.map(([k, v]) => `${k}: ${v}`)
|
||||
.join('\n'),
|
||||
};
|
||||
|
||||
@ -55,7 +55,7 @@ const statusLabel: Record<string, string> = {
|
||||
};
|
||||
|
||||
/* ─── Color Swatch Editor Popover ─── */
|
||||
function ColorSwatchCard({ swatch, onUpdate }: { swatch: ColorSwatch; onUpdate: (newHex: string) => void }) {
|
||||
function ColorSwatchCard({ swatch, onUpdate }: { key?: string; swatch: ColorSwatch; onUpdate: (newHex: string) => void }) {
|
||||
const [open, setOpen] = useState(false);
|
||||
const [hexInput, setHexInput] = useState(swatch.hex);
|
||||
const popoverRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
@ -79,6 +79,7 @@ function StageBar({ currentStage }: { currentStage: WorkflowStage }) {
|
||||
}
|
||||
|
||||
function WorkflowCard({ item, onStageChange, onNotesChange }: {
|
||||
key?: string;
|
||||
item: WorkflowItem;
|
||||
onStageChange: (id: string, stage: WorkflowStage) => void;
|
||||
onNotesChange: (id: string, notes: string) => void;
|
||||
|
||||
@ -194,8 +194,10 @@ function buildAssets(enrichment: EnrichmentData | undefined): { assets: AssetCar
|
||||
// Instagram posts → photo assets
|
||||
const igAccounts = enrichment.instagramAccounts || (enrichment.instagram ? [enrichment.instagram] : []);
|
||||
for (const ig of igAccounts) {
|
||||
if (ig.latestPosts) {
|
||||
for (const p of (ig.latestPosts as { type?: string; likes?: number; caption?: string }[]).slice(0, 3)) {
|
||||
const igPosts = (ig as { latestPosts?: { type?: string; likes?: number; caption?: string }[] })
|
||||
.latestPosts;
|
||||
if (igPosts) {
|
||||
for (const p of igPosts.slice(0, 3)) {
|
||||
assets.push({
|
||||
id: `ig-${assetIdx++}`,
|
||||
source: 'social',
|
||||
|
||||
@ -159,7 +159,7 @@ function buildDiagnosis(report: ApiReport): DiagnosisItem[] {
|
||||
}
|
||||
if (ch.issues) {
|
||||
for (const issue of ch.issues) {
|
||||
const issueObj = issue as Record<string, unknown>;
|
||||
const issueObj = issue as unknown as Record<string, unknown>;
|
||||
const detail = typeof issue === 'string'
|
||||
? issue
|
||||
: typeof issueObj.issue === 'string'
|
||||
|
||||
@ -262,7 +262,7 @@ function CategoryBadge({ category }: { category: ApiConfig['category'] }) {
|
||||
);
|
||||
}
|
||||
|
||||
function EnvKeyRow({ envKey, present, isServerSide }: { envKey: string; present: boolean; isServerSide: boolean }) {
|
||||
function EnvKeyRow({ envKey, present, isServerSide }: { key?: string; envKey: string; present: boolean; isServerSide: boolean }) {
|
||||
const [showKey, setShowKey] = useState(false);
|
||||
const [copied, setCopied] = useState(false);
|
||||
|
||||
@ -303,7 +303,7 @@ function EnvKeyRow({ envKey, present, isServerSide }: { envKey: string; present:
|
||||
);
|
||||
}
|
||||
|
||||
function ApiCard({ api, index }: { api: ApiStatusInfo; index: number }) {
|
||||
function ApiCard({ api, index }: { key?: string; api: ApiStatusInfo; index: number }) {
|
||||
const [expanded, setExpanded] = useState(false);
|
||||
|
||||
return (
|
||||
|
||||
1
src/vite-env.d.ts
vendored
Normal file
1
src/vite-env.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
@ -22,5 +22,6 @@
|
||||
},
|
||||
"allowImportingTsExtensions": true,
|
||||
"noEmit": true
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist", "supabase"]
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user