npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

cac-frontend

v1.0.0

Published

Sistema de gestão de contratos desenvolvido com React + TypeScript + Vite, implementando um workflow enterprise com testes automatizados, commits padronizados e qualidade de código garantida.

Downloads

6

Readme

CAC Frontend

Sistema de gestão de contratos desenvolvido com React + TypeScript + Vite, implementando um workflow enterprise com testes automatizados, commits padronizados e qualidade de código garantida.

🚀 Início Rápido

# Instalar dependências
pnpm install

# Configurar hooks do Git
pnpm prepare

# Iniciar desenvolvimento
pnpm dev

🎯 Features Enterprise

✅ Sistema de Testes Robusto

  • 1.651+ testes passando distribuídos em 93 arquivos
  • Cobertura de código: 85% branches, 90% functions/lines/statements
  • Testing Library para testes focados no usuário
  • Vitest com configuração otimizada para performance

🔄 Workflow de Desenvolvimento Moderno

  • Conventional Commits com Commitizen para padronização
  • Git Hooks automatizados com Husky para qualidade
  • ESLint + Prettier configurado com Airbnb TypeScript
  • Pre-commit/Pre-push hooks para validação automática

🏗️ Arquitetura Modular

  • Domain-Driven Design com módulos por contexto de negócio
  • Componentes shadcn/ui com sistema de design consistente
  • TanStack Query para gerenciamento de estado server
  • Sistema de fallback automático para APIs

📋 Índice

💻 Desenvolvimento

Comandos Principais

# Desenvolvimento
pnpm dev                    # Servidor de desenvolvimento
pnpm build                  # Build de produção + verificação TypeScript
pnpm preview                # Preview do build

# Qualidade de Código
pnpm lint                   # ESLint com auto-fix
pnpm format                 # Prettier para formatação
pnpm format:check           # Verificar formatação

# Testes
pnpm test                   # Executar todos os testes
pnpm test:run               # Testes em modo CI
pnpm test:coverage          # Relatório de cobertura
pnpm test:ui                # Interface visual para testes
pnpm test src/path/         # Testes específicos

# Git Workflow
pnpm commit                 # Commit assistido com Commitizen

Ambiente de Desenvolvimento

  • Node.js 18+ (recomendado 20+)
  • pnpm como package manager obrigatório
  • VS Code com extensões recomendadas (ESLint, Prettier, Conventional Commits)

📝 Workflow de Commits

Commitizen Integrado

Ao invés de git commit, use sempre:

pnpm commit

Isso abrirá um wizard interativo que garante commits padronizados seguindo Conventional Commits.

Tipos de Commit Disponíveis

| Tipo | Descrição | Exemplo | | ---------- | ------------------- | -------------------------------------- | | feat | Nova funcionalidade | feat(auth): implementa 2FA | | fix | Correção de bug | fix(forms): valida CNPJ corretamente | | docs | Documentação | docs: atualiza README | | test | Testes | test(ui): adiciona testes do botão | | refactor | Refatoração | refactor: otimiza hooks customizados | | perf | Performance | perf: melhora renderização da tabela | | style | Formatação | style: aplica prettier | | chore | Manutenção | chore: atualiza dependências |

Git Hooks Automatizados

Pre-commit:

  • ✅ ESLint com auto-fix
  • ✅ Prettier para formatação
  • ✅ Aplicado apenas em arquivos modificados

Commit-msg:

  • ✅ Validação de mensagem Conventional Commits
  • ✅ Bloqueia commits fora do padrão

Pre-push:

  • ✅ Build completo do TypeScript
  • ✅ Execução de todos os testes
  • ✅ Bloqueia push se houver falhas

🧪 Sistema de Testes

Estatísticas do Projeto

  • 93 arquivos de teste
  • 1.651+ testes passando
  • 99.2% taxa de sucesso
  • Cobertura Enterprise: 85%+ branches, 90%+ functions/lines/statements

Executar Testes

# Todos os testes
pnpm test

# Testes específicos
pnpm test src/components/ui/__tests__/button.test.tsx
pnpm test src/modules/Dashboard

# Com cobertura
pnpm test:coverage

# Interface visual
pnpm test:ui

Estrutura de Testes

Cada módulo possui seus testes organizados em __tests__/:

src/modules/Contratos/
├── components/
│   └── __tests__/
├── pages/
│   └── __tests__/
├── hooks/
│   └── __tests__/
└── services/
    └── __tests__/

Stack de Testes

  • Vitest - Framework de testes rápido
  • Testing Library - Testes focados no usuário
  • JSDOM - Simulação de browser
  • MSW - Mock de APIs (quando necessário)

🏗️ Arquitetura

Estrutura Modular por Domínio

src/
├── modules/                 # Módulos de negócio
│   ├── Contratos/          # 📄 Gestão de contratos
│   ├── Fornecedores/       # 🏢 Gestão de fornecedores
│   ├── Unidades/           # 🏭 Gestão de unidades
│   ├── Funcionarios/       # 👥 Gestão de funcionários
│   └── Dashboard/          # 📊 Dashboard principal
├── components/             # 🧩 Componentes globais
│   └── ui/                 # 🎨 Sistema de design
├── lib/                    # 🛠️ Utilitários e configs
│   ├── auth/               # 🔐 Sistema de autenticação
│   ├── utils.ts            # 🔧 Utilitários (CNPJ, etc.)
│   └── axios.ts            # 🌐 HTTP com fallback
├── hooks/                  # 🎣 Hooks customizados
└── pages/                  # 📱 Páginas de rota

Módulo Padrão

Cada módulo segue estrutura consistente:

ModuloExemplo/
├── components/         # Componentes específicos
├── pages/             # Páginas do módulo
├── hooks/             # Hooks específicos
├── services/          # Serviços de API
├── utils/             # Utilitários do módulo
├── types/             # Tipos TypeScript
└── __tests__/         # Testes do módulo

Sistema de Autenticação

  • JWT Tokens com renovação automática
  • 2FA obrigatório via código por email
  • Guards de rota para proteção
  • Middleware para fluxos de autenticação

🛠️ Stack Tecnológica

Core

  • React 19.1.0 - Framework frontend
  • TypeScript 5.8.3 - Tipagem estática
  • Vite 7.0.4 - Build tool ultra-rápido
  • TailwindCSS 4.1.11 - Framework CSS utility-first

UI & Design

  • shadcn/ui - Sistema de componentes (estilo New York)
  • Radix UI - Primitivos acessíveis
  • Lucide React - Ícones SVG
  • Framer Motion - Animações fluidas

Estado & Dados

  • TanStack Query 5.85.5 - Estado server e cache
  • Zustand 5.0.7 - Estado global (quando necessário)
  • React Hook Form 7.62.0 - Formulários performáticos
  • Zod 4.0.14 - Validação de schema

Qualidade & Testes

  • Vitest 3.2.4 - Framework de testes
  • Testing Library - Testes de componentes
  • ESLint 9.30.1 - Linting (Airbnb + Security)
  • Prettier 3.6.2 - Formatação de código

DevOps & Workflow

  • Husky 9.1.7 - Git hooks
  • Commitizen 4.3.1 - Commits padronizados
  • Commitlint 19.8.1 - Validação de commits
  • lint-staged 16.1.6 - Linting incremental

📜 Scripts Disponíveis

Desenvolvimento

pnpm dev              # Servidor de desenvolvimento
pnpm build            # Build de produção
pnpm preview          # Preview do build

Qualidade

pnpm lint             # ESLint com auto-fix
pnpm format           # Formatação com Prettier
pnpm format:check     # Verificar formatação

Testes

pnpm test             # Todos os testes
pnpm test:run         # Testes modo CI
pnpm test:coverage    # Com cobertura
pnpm test:ui          # Interface visual
pnpm test:watch       # Modo watch

Git Workflow

pnpm commit           # Commit com Commitizen
pnpm prepare          # Configurar hooks

🔧 Configuração

Aliases de Path

'@/*' → './src/*'

Coverage Thresholds

  • Branches: 85%
  • Functions: 90%
  • Lines: 90%
  • Statements: 90%

ESLint Rules

  • Airbnb TypeScript
  • React Hooks
  • Security
  • Import/Export
  • Accessibility (A11y)

🎨 Sistema de Design

Componentes Base

  • Button System com variantes (CVA)
  • Status Badges universais por domínio
  • Form Components com validação
  • Loading States padronizados

Padrões de Cores

  • Contratos: ativo (verde), vencendo (amarelo), vencido (vermelho)
  • Fornecedores: ativo (verde), inativo (cinza), suspenso (laranja)
  • Status Universal com fallbacks seguros

Utilitários Específicos

// Validação e formatação brasileira
cnpjUtils.validate()
cnpjUtils.format()
cepUtils.validate()
currencyUtils.format()
dateUtils.formatUTC()

🔗 Links Úteis


CAC Frontend - Sistema enterprise com qualidade garantida, testes automatizados e workflow moderno para desenvolvimento ágil e seguro.