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

@gipisistemas/ngx-core

v1.0.10

Published

Componentes e utilitários para projetos da GIPI Sistemas.

Readme

GIPI NGX-CORE

NGX-CORE é um projeto modular que fornece componentes, interceptadores, guardas de rotas, estilos e utilitários para acelerar o desenvolvimento das aplicações da GIPI Sistemas. Projetada para ser flexível e escalável, ela facilita a criação de interfaces padronizadas e a implementação de funcionalidades essenciais para os projetos.

⚠️ Estrutura de Commits (Conventional Commits)

Este projeto utiliza Semantic Release para gerar versões automaticamente. A versão (patch, minor, major) é definida de acordo com o tipo do commit.

🔑 Regras principais

  • fix: incrementa patch1.0.0 → 1.0.1
  • feat: incrementa minor1.0.0 → 1.1.0
  • feat!: ou qualquer commit com BREAKING CHANGE no corpo → incrementa major1.0.0 → 2.0.0

✅ Exemplos de commits válidos

  • fix: corrige bug no botão de login
  • feat: adiciona novo componente de avatar
  • feat!: altera API de autenticação
  • chore: atualiza dependências (não gera release)
  • docs: adiciona instruções no README (não gera release)

⚠️ Importante

Sempre coloque dois pontos e um espaço depois do tipo.

  • ✅ fix: descrição
  • ❌ fix:descrição

Somente commits fix, feat ou com BREAKING CHANGE geram versão. Outros tipos (chore, docs, refactor, etc.) não geram release automaticamente.

🚀 Servidor de desenvolvimento

Para iniciar um servidor de desenvolvimento local, execute:

ng run watch

Após iniciar o servidor, o diretório /dist será gerado automaticamente. Se ele já existir, será excluído e recriado, garantindo uma versão sempre atualizada da saída do projeto. Além disso, qualquer modificação nos arquivos do projeto acionará uma nova build automaticamente, aplicando as mudanças sem necessidade de reconstrução manual.

🏗 Estrutura de código

Ainda falta detalhar

🏨 Building

Para gerar a build do projeto, execute:

ng build

Isso compilará seu projeto e armazenará os artefatos de build no diretório dist/. Por padrão, o build de produção otimiza seu aplicativo para desempenho e velocidade.

📦 Instalação

Para utilizar esta biblioteca, siga os passos abaixo:

1️⃣ Instale os pacotes necessários

Execute o seguinte comando para instalar as dependências obrigatórias:

npm install extensao moment-timezone

2️⃣ Adicione o Angular Material

Se ainda não tiver o Angular Material instalado, execute:

ng add @angular/material

Siga as instruções do assistente de instalação para configurar o Material corretamente.

⚙️ Configuração

Para evitar erros durante a execução, é necessário realizar algumas configurações no projeto Angular.

1️⃣ Configurar preserveSymlinks

É necessário definir preserveSymlinks: true no arquivo angular.json para evitar o seguinte erro: core.mjs:7195 ERROR RuntimeError: NG0203: inject() must be called from an injection context...

🔹 No angular.json, dentro de projects -> gipi-web -> architect -> build -> options, adicione: "preserveSymlinks": true

2️⃣ Adicionar os Providers Necessários

No main.ts ou no arquivo de configuração app.config.ts, adicione os seguintes providers:

import { provideHttpClient, withInterceptors } from "@angular/common/http";
import { importProvidersFrom, inject, provideAppInitializer } from "@angular/core";
import { FormsModule } from "@angular/forms";
import { MatSnackBarModule } from "@angular/material/snack-bar";
import { AuthService } from "@domain/auth/services/auth.service";
import { authInterceptor, DEFAULT_MESSAGES, errorInterceptor, provideALlowedPublicRoutes, provideAppMessages, provideBaseAuthService } from "@gipisistemas/ngx-core";
import { appRoutes } from "./app.routes";

bootstrapApplication(AppComponent, {
    providers: [
        ...importProvidersFrom([MatSnackBarModule, FormsModule]),
        provideBaseAuthService(AuthService),
        // Rotas públicas que não podem redirecionar para a rota / mesmo que autenticado
        provideALlowedPublicRoutes(["/oauth/change-password", "/oauth/confirm-access"]),
        provideAppInitializer(() => {
            const authService = inject(AuthService);
            return authService.load();
        }),
        provideHttpClient(withInterceptors([authInterceptor, errorInterceptor])),
        provideAppMessages(DEFAULT_MESSAGES),
        providePaginatorIntl(),
    ],
}).catch((err) => console.error(err));

Esses providers são essenciais para o funcionamento da biblioteca.

🔗 Recursos Adicionais

Para obter mais informações sobre como usar o Angular CLI, incluindo referências detalhadas de comandos, visite a página Angular CLI Overview and Command Reference.