open-index/open-npm huggingface dataset:
npm package: @seedgrid/fe-commons
Description: Coleção de utilitários leves para chamadas HTTP, consulta de CEP e CNPJ que já respeitam o estilo SeedGrid.
Latest version: 2026.4.12

# @seedgrid/fe-commons

Coleção de utilitários leves para chamadas HTTP, consulta de CEP e CNPJ que já respeitam o estilo SeedGrid.

## Características

- `createHttpClient` monta clientes `fetch` com `baseUrl`, `Content-Type` e autenticação automática via `Bearer`.
- `buscarCep` consome o serviço oficial ViaCEP com validação e erros amigáveis.
- `buscarCnpj` consulta o Publica CNPJ, retorna dados cadastrais completos e protege contra CNPJs inválidos.
- Tipagens exportadas (`ViaCepResponse`, `PublicaCnpjResponse`, opções de lookup) para completar formulários ou serviços de validação.

## Instalação

```bash
pnpm add @seedgrid/fe-commons
```

## Como utilizar

```tsx
import { createHttpClient, buscarCep, buscarCnpj } from "@seedgrid/fe-commons";

const apiClient = createHttpClient({
  baseUrl: "https://api.seedgrid.com.br",
  getAccessToken: () => localStorage.getItem("sg:session-token")
});

async function carregarEndereco() {
  const cep = await buscarCep("01001-000");
  console.log("Cidade:", cep.localidade, cep.uf);
}

async function detalharEmpresa() {
  const empresa = await buscarCnpj("10404812000100");
  console.log("Razão social:", empresa?.razao_social);
}

async function buscarDashboard() {
  const dados = await apiClient.request("/v1/dashboard");
  return dados;
}
```

## Recursos

- [ViaCEP](https://viacep.com.br) — consulta pública de CEPs com cache-friendly JSON.
- [Publica CNPJ](https://publica.cnpj.ws) — APIs abertas com histórico completo de sócios, natureza jurídica e endereços.
- `fetch` nativo + `Headers` prontos, ideal para serviços SeedGrid que usam Bearer tokens.

## Exemplos

- **Formulário de cadastro**: invoque `buscarCep` no campo de CEP e prefira preencher `logradouro`, `bairro` e `cidade` automaticamente.
- **Validação fiscal**: use `buscarCnpj` para confirmar se uma empresa aceita pagamentos e exibir o nome fantasia detalhado.
- **Camada HTTP compartilhada**: `createHttpClient` garante `Content-Type: application/json` e adiciona `Authorization` apenas quando o token estiver presente.
npm package: @seedgrid/fe-core
Description: Biblioteca de infraestrutura que padroniza módulos, rotas, persistência e internacionalização do SeedGrid.
Latest version: 2026.4.12

# @seedgrid/fe-core

Biblioteca de infraestrutura que padroniza módulos, rotas, persistência e internacionalização do SeedGrid.

## Características

- **Registro centralizado** de provedores, itens de navegação e rotas (`SeedGridRegistry`).
- **Manifestos de módulos** com metadata, dependências de i18n e callbacks de registro.
- **Construção de chaves de persistência** (`buildSgPersistenceKey`) e estratégias (localStorage, API ou compostas).
- **Utilitários de i18n** para mesclar bundles e manter namespaces organizados.
- Tipagens prontas para ambientes, provedores e estratégias que facilitam a evolução do portal SeedGrid.

## Instalação

```bash
pnpm add @seedgrid/fe-core
```

## Como utilizar

```tsx
import {
  SeedGridRegistry,
  SeedGridModuleManifest,
  createLocalStorageStrategy,
  createCompositePersistenceStrategy,
  mergeMessages
} from "@seedgrid/fe-core";

const registry = new SeedGridRegistry();

const moduleManifest: SeedGridModuleManifest = {
  id: "my-module",
  name: "Módulo personalizado",
  version: "1.0.0",
  register: (registry) => {
    registry.addNavItem({
      id: "dashboard",
      labelKey: "menu.dashboard",
      href: "/dashboard"
    });
    registry.addRoute({ id: "dashboard", path: "/dashboard" });
  }
};

registry.addNavItem({
  id: "marketing",
  labelKey: "menu.marketing",
  href: "/marketing",
  order: 10
});

const messages = mergeMessages(
  { app: { welcome: "Bem-vindo" } },
  { app: { logout: "Sair" } }
);

const persistence = createCompositePersistenceStrategy({
  mode: "mirror",
  primary: createLocalStorageStrategy({ prefix: "sg:" }),
  secondary: createLocalStorageStrategy(),
});
```

## Recursos

- `SeedGridRegistry` mantém provedores, rotas e os itens de menu com ordenação.
- `SeedGridModuleManifest` centraliza i18n, versão e o hook de registro de cada módulo.
- Estruturas de persistência (`createLocalStorageStrategy`, `createApiPersistenceStrategy`, `createCompositePersistenceStrategy`) protegidas por `buildSgPersistenceKey`.
- `SeedGridMessages` e `mergeMessages` simplificam o carregamento incremental de recursos de tradução.

## Exemplos

- **Ordenar itens de menu**: use `getNavItems()` após registrar módulos e rely on `order`.
- **Persistir estado crítico**: combine `createApiPersistenceStrategy` com `createLocalStorageStrategy` para oferecer fallback offline.
- **Plugins modulares**: cada `register` no `SeedGridModuleManifest` pode adicionar provedores/contextos com `addProvider`.