build(deps): bump date-fns from 2.30.0 to 4.1.0#4
Conversation
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.30.0 to 4.1.0. - [Release notes](https://github.com/date-fns/date-fns/releases) - [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md) - [Commits](date-fns/date-fns@v2.30.0...v4.1.0) --- updated-dependencies: - dependency-name: date-fns dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
date-fns@^4 (PR #4) conflicts with react-day-picker@8.10's peer dep (date-fns@^2 || ^3). Adds repo-wide legacy-peer-deps so 'npm ci' succeeds without forcing a major bump of react-day-picker (which has breaking API changes in v9).
|
Bump consolidated in #17. Will close once #17 is merged. Generated by Claude Code |
|
Bump consolidated in #26 (against the realigned main, after the divergent-history issue was resolved). PR #17 (the previous consolidation against the abandoned main) was closed. Generated by Claude Code |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Validacao cruzada plano-vs-repo executada em 08/05/2026. Metricas Fase 0 corrigidas: - TS/TSX files: 1.671 -> 1.632 - Linhas de codigo: ~281k -> ~183k (gap nao-investigado de ~98k) - Edge functions: 87 -> 81 (F1-6.6 removeu 6) - Paginas top-level: 75 -> 50 (12 documentadas + 13 nao-rastreadas) - Sub-paginas: 50 -> 49 - Migrations: 366 -> 368 (+2: passkey + public_token) Atualizacoes: - F1-6.13 e Anexo C 🟡-10: 26 mencoes -> 11 mencoes (caiu organicamente) - F1-4: total de rotas 102 -> 98 - Adicionada nota de discrepancia explicita na tabela de metricas - Adicionada secao F1-9 (Investigacao de gap de metricas) com 5 tarefas - Adicionada entry 1.6 no Changelog Validacoes confirmadas: - 11 commits citados existem no historico - Typecheck verde (0 erros) - F1-1, F1-3, F1-6, F1-7, F1-8: 100 porcento das remocoes confirmadas - ESLint baseline: 1.571 erros congelados (confere) - Decisoes F3 (#2, #3, #4, #5, #7): codigo presente conforme esperado Sem mudancas em codigo. Apenas documentacao.
…1.x Onda D #1) (#121) * cleanup(dead-exports): remove hooks órfãos Legacy + getAllPantoneCodes (F1-1.x Onda E #2) ## Onda E — segunda leva de código morto Continua a limpeza dos 1.013 exports órfãos identificados na auditoria. Esta PR foca em hooks com nome 'Legacy' (auto-confissão de obsoletos) e exports zero-callers em arquivos de dados. ## Mudanças ### useCrmCompanies.ts (-23L) Removidos 2 hooks órfãos validados via grep: - `useCrmCompaniesLegacy` (zero callers) - `useCrmCompanyLegacy` (zero callers) A palavra 'Legacy' no nome era pista. Como ambos eram os únicos consumidores de `toLegacyClient` neste arquivo, também removo o import. ### useCommercialIntelligence.ts (-48L) - Removido `useRevenueTrend` (45L, zero callers) - Removido `RevenuePoint` interface (1L, zero callers — só era usada pelo hook removido) ### pantone-coated.ts (-5L) - Removido `getAllPantoneCodes` (zero callers) - `searchPantone` preservada (em uso) ## Validação - ✅ `grep -rE 'useCrmCompaniesLegacy|useCrmCompanyLegacy'` em src/, tests/, e2e/ = 0 callers - ✅ `grep -rE 'useRevenueTrend'` em src/, tests/, e2e/ = 0 callers - ✅ `grep -rE 'RevenuePoint'` em src/, tests/, e2e/ = 0 callers - ✅ `grep -rE 'getAllPantoneCodes'` em src/, tests/, e2e/ = 0 callers - ✅ `toLegacyClient` mantido em `@/types/crm` (caso futuro consumidor) ## Resultado | Arquivo | Antes | Depois | Redução | |---|---|---|---| | useCrmCompanies.ts | 220 | 197 | -23L | | useCommercialIntelligence.ts | 420 | 372 | -48L | | pantone-coated.ts | (~700) | (-5) | -5L | | **Total** | | | **-76L líquidas** | ## Risk 🟢 **Baixo**. Apenas remoções de exports zero-callers validados via grep. ## Test plan - [x] Zero callers de cada export removido - [x] -76L líquidas - [ ] CI verde - [ ] CodeRabbit OK * refactor(badges): extrai EntityBadge genérico para Material+Ramo (F1-1.x Onda D) ## Onda D — Eliminar duplicação top 7 Auditoria F1 detectou que MaterialBadge.tsx (177L) e RamoAtividadeBadge.tsx (179L) eram **95% idênticos** — confirmados como par #4 da lista jscpd de duplicações com 96 linhas duplicadas. ## Mudanças | Arquivo | Antes | Depois | |---|---|---| | MaterialBadge.tsx | 177L | **53L** (wrapper fino) | | RamoAtividadeBadge.tsx | 179L | **63L** (wrapper fino) | | EntityBadge.tsx | — | 184L (genérico) | | EntityBadge/index.ts | — | 2L | | **Total** | **356L** | **302L** (-54L, mais reusável) | ## API mantida 100% compatível Os componentes públicos MaterialBadge e RamoAtividadeBadge mantêm props e comportamento idênticos — **zero mudança em callers**: - 5 callers de MaterialBadge → não tocados - 3 callers de RamoAtividadeBadge → não tocados ## EntityBadge — design Suporta os 2 casos atuais e novos casos futuros: - `groupLabel` + `groupSeparator` (": " pra material, " → " pra ramo) - `icon` opcional (lucide ou emoji string) - `hexCode` opcional (color dot) - `truncateMaxWidth` per-size (config diferente entre os 2 atuais) - `tooltipContent` override pra casos custom ## Risk 🟡 médio — refactor de UI compartilhada, mas: - API dos wrappers mantida 100% - Comportamento visual preservado (validado por inspeção do JSX gerado) - Componentes pequenos, mudança contida ## Test plan - [x] MaterialBadge mantém TODAS as props do original - [x] RamoAtividadeBadge mantém TODAS as props do original - [x] separator ": " para Material, " → " para Ramo - [x] truncate widths diferenciados (Material: 100/120/150, Ramo: 100/140/180) - [ ] CI verde - [ ] CodeRabbit OK - [ ] Vercel preview — visual idêntico ao atual
…1-1.x Onda C #4) (#127) ## Onda C #4 — useSalesGoals.ts: 32 → 0 erros A tabela 'sales_goals' não está nos tipos gerados do Supabase, então `supabase.from("sales_goals")` fazia fallback para 'audit_logs' e cuspia 32 erros de TS2769/TS2345/TS2322/TS2339/TS2353. ## Fix Usar `untypedFrom<SalesGoal>("sales_goals")` (helper criado no PR #125), que recupera o tipo da row via generic. SalesGoal já estava declarado no próprio arquivo. Trocas: - Adicionar import: `import { untypedFrom } from "@/lib/supabase-untyped";` - 6 chamadas: `supabase.from("sales_goals")` → `untypedFrom<SalesGoal>("sales_goals")` - Remover import unused do supabase ## Resultado | Métrica | Antes | Depois | Delta | |---|---|---|---| | Total tsc errors | 924 | **892** | -32 (-3.5%) | | useSalesGoals.ts | 32 | **0** | -100% ✨ ## Risk 🟢 **Baixo**. `untypedFrom` chama internamente o mesmo `supabase.from()` (verificado no PR #125). Comportamento runtime equivalente, JS gerado idêntico. ## Test plan - [x] tsc: 924 → 892 (-32) - [x] useSalesGoals.ts: 32 → 0 - [x] Baseline regenerado - [ ] CI verde - [ ] CodeRabbit OK
Closing — bump consolidated in #26 (against the realigned
main). The 5 dependabot PRs (#2, #4, #5, #7, #15) all targeted an abandonedmain; main was force-pushed to the active development line and the dep bumps re-applied in a single PR.