@linkiez/jcm-library
v3.24.1
Published
Biblioteca JCM para modelos e utilitários compartilhados.
Maintainers
Readme
@linkiez/jcm-library
Biblioteca compartilhada JCM contendo modelos, interfaces e utilitários para os projetos JCMfront2 e JCMserver3.
Instalação
Via GitHub (Recomendado para desenvolvimento)
npm install linkiez/JCMlibrary#v1.0.0
# ou
yarn add linkiez/JCMlibrary#v1.0.0Via NPM (quando publicado)
npm install @linkiez/jcm-library
# ou
yarn add @linkiez/jcm-libraryUso
import {
Produto,
IProduto,
Usuario,
IUsuario,
AcaoDisposicao,
} from "@linkiez/jcm-library";
// Usando interfaces
const produto: IProduto = {
id: 1,
nome: "Produto Exemplo",
// ... outras propriedades
};
// Usando classes
const produtoModel = new Produto(produto);
// Usando enums
const acao = AcaoDisposicao.APROVADO;Estrutura
- Models: Classes de modelo para entidades
- Interfaces: Definições de tipos TypeScript
- Enums: Enumerações compartilhadas
Desenvolvimento
# Instalar dependências
yarn install
# Build
yarn build
# Testes
yarn test
# Lint
yarn lintVersionamento e Releases
Este projeto usa semantic-release para versionamento automático e publicação de pacotes. Releases são criadas automaticamente com base nas mensagens de commit seguindo a Convenção de Commits Angular.
Convenção de Commits
Use os seguintes prefixos nas mensagens de commit:
feat:Nova funcionalidade (gera versão minor)fix:Correção de bug (gera versão patch)docs:Mudanças na documentaçãostyle:Formatação, ponto e vírgula faltando, etcrefactor:Refatoração de código (gera versão patch)perf:Melhoria de performance (gera versão patch)test:Adição de testesbuild:Mudanças no build ou dependênciasci:Mudanças em CI/CDchore:Outras mudançasrevert:Reverter commit anterior
Breaking Changes
Para indicar mudanças incompatíveis (versão major), adicione BREAKING CHANGE: no rodapé do commit:
feat: adicionar nova API de validação
BREAKING CHANGE: A função validateProduct agora retorna Promise em vez de valor síncronoExemplos
# Patch release (3.3.4 -> 3.3.5)
git commit -m "fix: corrigir validação de CPF"
# Minor release (3.3.4 -> 3.4.0)
git commit -m "feat: adicionar novo modelo de Nota Fiscal"
# Major release (3.3.4 -> 4.0.0)
git commit -m "feat: refatorar API de produtos
BREAKING CHANGE: Removido suporte para formato legado de produtos"Como funciona
- Faça commits seguindo a convenção acima
- Faça push para a branch
main - O GitHub Actions executa automaticamente:
- Análise dos commits para determinar a versão
- Atualização do
CHANGELOG.md - Criação de uma nova tag Git
- Publicação do pacote no NPM
- Criação de um GitHub Release
Validação de Commits
O projeto usa commitlint para validar mensagens de commit. Se você tentar fazer um commit com formato inválido, ele será rejeitado:
# ❌ Inválido
git commit -m "atualizar documentação"
# ✅ Válido
git commit -m "docs: atualizar documentação"Licença
MIT
