@anpdgovbr/shared-ui
Version:
Biblioteca de componentes React com MUI v7 e padrão govbr-ds para ANPD
135 lines (99 loc) • 6.42 kB
Markdown
# 📊 CHANGELOG
Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
e este projeto adere ao [Versionamento Semântico](https://semver.org/spec/v2.0.0.html).
---
## [Não Lançado] - Em Desenvolvimento
### 🚀 Adicionado
- **Path Aliases Configurados**: Implementados aliases `@components`, `@theme`, `@helpers`, `@govbr-types` para imports limpos
- **Sistema de Tipos Unificado**: Todos os componentes GovBR agora herdam `SharedUIComponentProps` automaticamente
- **Tree Shaking Otimizado**: Configuração ESLint personalizada para forçar imports específicos do MUI
- **Estrutura Kebab-case**: Componentes seguem padrão `src/components/ui/nome-componente/` inspirado no shadcn/ui
- **Documentação Completa**: Adicionados guias de desenvolvimento, migração e contribuição
- **GitHub Copilot Instructions**: Instruções personalizadas para desenvolvimento assistido por IA
- **Templates de Issues**: Adaptados para contexto de biblioteca UI com áreas específicas (Componentes UI, Tema/Estilos, Types/TypeScript)
- **Pasta Examples**: Organização centralizada de exemplos de uso com estrutura padronizada
- **ESLint Rule 'use client'**: Regra customizada que força todos os componentes UI a terem diretiva `'use client'` para compatibilidade Next.js
- **Suite de Testes Completa**: Implementados testes básicos para todos os 11 componentes usando Vitest + Testing Library
- **Husky v10+ Ready**: Configuração de git hooks atualizada para versões futuras do Husky
### 🔧 Corrigido
- **Husky Compatibility**: Removidas linhas depreciadas dos hooks pre-commit e pre-push
- **ESLint Custom Plugin**: Implementado plugin inline com análise AST para validação de diretivas
- **Test Environment**: Configurado jsdom com suporte completo a MUI e React Testing Library
### 🧪 Testes
- **40 testes implementados** cobrindo:
- GovBRButton (1 teste)
- GovBRInput (3 testes)
- GovBRCheckbox (3 testes)
- GovBRRadio (4 testes)
- GovBRAvatar (4 testes)
- GovBRBreadcrumb (4 testes)
- AutoSyncButton (4 testes)
- GovBRFormInput (4 testes)
- GovBRFormCheckbox (3 testes)
- GovBRSignIn (5 testes)
- GovBRSwitch (5 testes)
- **Template PR Atualizado**: Refletindo novos padrões kebab-case e checklist de qualidade
- **Testes Básicos**: Criados testes unitários básicos para todos os componentes com Vitest + Testing Library
### 🔧 Modificado
- **SharedUIComponentProps**: Adicionado utility type `GovBRComponentProps<T>` para melhor inferência de tipos
- **GovBRTypes.ts**: Corrigida inconsistência em `GovBRSemanticColor` (unificado uso de "error" vs "danger")
- **TSConfig**: Configuração atualizada para incluir stories no processo de compilação
- **Estrutura de Exports**: Reorganizada para melhor performance de bundle
- **README**: Reestruturado com seções organizadas e links entre documentos
- **CONTRIBUTING**: Atualizado com checklist detalhado e novos padrões
- **Templates GitHub**: Issues e PR adaptados para contexto de biblioteca UI
- **Organização de Arquivos**: Exemplos movidos para `/examples` com estrutura padronizada
- **ESLint Rule 'use client'**: Aprimorada regra customizada para verificar diretiva 'use client' em componentes UI
- **Husky Configuration**: Removidas linhas deprecadas para compatibilidade com Husky v10+
### 🐛 Corrigido
- **Path Aliases em Stories**: Corrigido problema onde aliases não funcionavam no Storybook
- **Lint Errors**: Resolvidas todas as 20 violações de tree shaking do ESLint
- **MUI Imports**: Convertidos todos os imports genéricos para imports específicos (ex: `@mui/material/Button`)
- **Icon References**: Padronizados sufixos de ícones (ex: `<Add/>` → `<AddIcon/>`)
### 📚 Documentação
- **[ADICIONAR_COMPONENTE.md](./docs/ADICIONAR_COMPONENTE.md)**: Guia completo para criação de componentes
- **[GUIA_MIGRACAO.md](./docs/GUIA_MIGRACAO.md)**: Documentação para migração de componentes
- **[GitHub Copilot Instructions](./.github/copilot/instructions.md)**: Padrões para IA
- **[Examples](./examples/)**: Pasta centralizada com exemplos práticos de uso
- **Templates GitHub**: Issues e PR templates adaptados para contexto de biblioteca
- **CHANGELOG**: Criado para documentar mudanças do projeto
- **Preparação TypeDocs**: Estrutura preparada para futura documentação automática
### ⚡ Performance
- **Bundle Size**: Reduzido através de tree shaking otimizado
- **Build Speed**: Melhorado com configuração de paths e exports otimizada
- **Development**: Path aliases aceleram desenvolvimento com imports mais limpos
---
## [0.2.0-alpha.1] - 2025-08-06
### 🚀 Adicionado
- Atualização das definições de tipos para melhor consistência
- Melhorias na consistência do código entre componentes
### 🔧 Modificado
- Refatoração dos tipos e definições para melhor manutenibilidade
---
## [0.1.x] - 2025-07-04 a 2025-08-06
### 🚀 Adicionado
- **Componentes Base**: GovBRButton, GovBRInput, GovBRAvatar, GovBRRadio, AutoSync
- **Storybook**: Configuração inicial com documentação interativa dos componentes
- **Estrutura do Projeto**: Configuração base com React 19+, MUI v7, TypeScript
- **Temas GovBR**: Implementação de temas baseados no Design System do Governo Federal
- **CI/CD**: GitHub Actions para build e validação automática
- **Testes**: Configuração inicial com Vitest
- **Linting**: ESLint e Prettier para qualidade de código
- **Git Hooks**: Husky para validação pre-commit e pre-push
### 🔧 Modificado
- **Package Name**: Atualizado para `@anpdgovbr/shared-ui`
- **Configuração Storybook**: Melhorias na estrutura e consistência das stories
- **Formatação**: Aplicação consistente do Prettier em todo o código
### 📚 Documentação
- **README**: Documentação inicial do projeto
- **Storybook Stories**: Documentação interativa dos componentes
- **Assets SVG**: Adicionados assets visuais para buttons, headers e páginas
---
## 📝 Legenda
- 🚀 **Adicionado** para novas funcionalidades
- 🔧 **Modificado** para mudanças em funcionalidades existentes
- 🐛 **Corrigido** para correção de bugs
- 📚 **Documentação** para mudanças na documentação
- ⚡ **Performance** para melhorias de performance
- 🔒 **Segurança** para correções relacionadas à segurança