fix: harden admin product runtime lint#170
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Your plan currently allows 2 reviews/hour. Refill in 7 minutes and 30 seconds. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more review capacity refills, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (12)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Tipa o resultado de fetchPromobrindProducts como PromobrindProduct[] no dedupe de SKU, eliminando o último erro TS2339 do arquivo. Sem mudança de runtime. Harmonizado com o guard de id do PR #170.
…os (#174) * refactor(new-supplier): type BasicDataTab form prop with NewSupplierForm (Etapa 12) Substitui `form: Record<string,unknown>` pelo tipo inferido do hook (`NewSupplierForm = ReturnType<typeof useNewSupplierForm>`), eliminando 32 erros TS18046/TS2322 de acesso a propriedade unknown. Sem mudança de runtime. * refactor(new-supplier): type AddressTab form prop with NewSupplierForm (Etapa 11) Substitui `form: Record<string,unknown>` pelo tipo do hook e usa o elemento tipado de carrierResults (remove cast Record no .map), eliminando 56 erros TS18046/TS2322. Sem mudança de runtime. * refactor(new-supplier): export NewSupplierForm type from hook (Etapas 11-12) Adiciona `export type NewSupplierForm = ReturnType<typeof useNewSupplierForm>` para que AddressTab e BasicDataTab tipem o prop `form` com o retorno real do hook. Sem mudança de runtime. * refactor(favorites): remove stale @ts-expect-error after Product extension (Etapa 13) A extens\u00e3o de Product com o ref aninhado `category` tornou v\u00e1lido o acesso `p.category?.name`, deixando 2 diretivas @ts-expect-error sem uso (TS2578). Remove ambas. Sem mudan\u00e7a de runtime. * refactor(types): add nested category/supplier refs to Product (Etapa 13) Adiciona ProductCategoryRef e ProductSupplierRef como objetos aninhados opcionais ao tipo can\u00f4nico Product. Modela o join real com categories/ suppliers usado em ~15 arquivos consumidores; elimina acessos `unknown` em CompareTableView. Sem mudan\u00e7a de runtime. * refactor(external-db): extend PromobrindProduct with admin-form fields (Etapa 10) Declara ~57 colunas (opcionais/nullable) que o AdminProductFormPage lê via productToFormData: pricing, dimensões internas, embalagem, flags fiscais, logística, SEO/mídia e nomes denormalizados. Elimina 60 erros TS2339/TS2551. Sem mudança de runtime — os consumidores já aplicavam `?? default`. * refactor(personalization): type price-response parsers at boundary (Etapa 9) Substitui `AnyRec`/`Record<string,unknown>` por 12 interfaces de payload (Nested*/Flat*) na fronteira dos parsers, eliminando 61 erros TS2339/TS2322/ TS2362/TS2363 e o cast redundante de tabelaCode. Defaults (?? '' / ?? 0) seguem garantindo o tipo canônico. Sem mudança de runtime. * refactor(compare): fix CompareTableView types + latent runtime bugs (Etapa 13) - camelCase→snake_case: isKit→is_kit, minQuantity→min_quantity, stockStatus→stock_status (eram undefined em runtime — bugs latentes). - null-safety em images/colors (images?.[i], colors?.length). - helper tagArray() para ler arrays do JSONB `tags` com segurança. - usa refs aninhados tipados category?.name / supplier?.name. - cast no call-site de StockRiskBadge/OtherSuppliersRow (props Record). Elimina 26 erros TS2339/TS18047/TS2551/TS2322/TS18046. * refactor(admin): type SKU-dedup products array (Etapa 10) Tipa o resultado de fetchPromobrindProducts como PromobrindProduct[] no dedupe de SKU, eliminando o último erro TS2339 do arquivo. Sem mudança de runtime. Harmonizado com o guard de id do PR #170. * docs(status): registra Etapas 9-13 (top-5 TSC baseline eliminado) Adiciona bloco da sessão 2026-05-23 com tabela before/after dos 5 arquivos (235 erros eliminados), demove pendências 9-13, deixa 3 etapas restantes (14-16, ~5h) e atualiza backlog. * chore(baseline): drop top-5 TSC files from baseline (-235 erros) Remove as 5 chaves dos arquivos zerados nas Etapas 9-13 do .tsc-baseline.json (1295→1060 erros, 306→301 arquivos). Derivado cirurgicamente do baseline do main: apenas as 5 chaves removidas, os 301 arquivos restantes byte-idênticos. Gate typecheck vê drift positivo.
Resumo
BulkVariantWizardcomLucideIconem vez deany.Validação
npx.cmd eslint src/components/expert/ProductLinkRenderer.tsx src/components/simulator/NicheRecommendationBadge.tsx src/hooks/quotes/useProdutoPersonalizacao.ts src/pages/admin/AdminProductFormPage.tsx src/components/admin/security/keys/UpdateMcpKeyDialog.tsx src/components/admin/telemetry/BridgeCallDetailDrawer.tsx src/components/catalog/BulkVariantWizard.tsx src/components/inventory/risk/ProductRiskDetail.tsx src/pages/quotes/QuoteBuilderPage.tsx src/pages/admin/SellerDiscountLimitsAdminPage.tsx src/pages/admin/RlsDenialsAdminPage.tsx src/components/admin/products/sections/ProductClassificationSection.tsxnpx.cmd vitest run src/pages/__tests__/QuoteBuilderDeliveryTooltip.test.tsx src/components/products/customization/__tests__/LocationPanelPrice.test.tsx- 2 arquivos / 8 testes passandogit diff --check HEAD~1..HEADnpm.cmd run buildcomVITE_SUPABASE_URLeVITE_SUPABASE_PUBLISHABLE_KEYObservação
git pushnormal ainda falha no hook locallint:baselinecomeslint falhou com status null; a branch foi publicada comHUSKY=0após validação manual focada.Summary by cubic
Hardened admin/product flows by removing unsafe non‑null assertions, adding defensive guards for IDs/URLs/async data, and tightening types to prevent runtime crashes and lint failures. Improves stability across admin pages, risk detail, product links, telemetry, and quoting.
Bug Fixes
useProdutoPersonalizacaoand admin product load now handle absentproductId/idwithout throwing.Refactors
BulkVariantWizardicon map withLucideIcon(fromlucide-react) instead ofany.Written for commit 159c4a7. Summary will update on new commits. Review in cubic