@tmf/projects-front (6.2.0)
Installation
@tmf:registry=npm install @tmf/projects-front@6.2.0"@tmf/projects-front": "6.2.0"About this package
@tmf/projects-front
Módulo plug-and-play de Gestão de Projetos da plataforma TMF — o tracker de issues (board/backlog/sprints/workflow) mais as lentes de planejamento (planos, roadmap/Gantt, planejamento semanal, apontamento), como lib React instalável em Hub, TMF9, Dais, HelpCor e PriceShow.
Status: F0-F (EPIC PKG — TMFP-59804/59805). Shell de abas condicionadas por
GET /meta+ deep-link. As telas de domínio chegam nas fases F1–F11 (docs/modulos/projects/ROADMAP_EXTRACAO_PROJECTS.md).
Padrão A — instale 1 pacote e use
import { ProjectsApp } from '@tmf/projects-front'
<ProjectsApp
baseUrl="" // raiz do host (Convenção A — ver docs/adr/ADR-002 e ADR-005)
getToken={() => authToken}
tenantId="tmf"
can={(perm) => permissions.includes(perm)}
locale="pt-BR"
routing={{ basePath: '/projects' }}
/>
O <ProjectsApp> monta sozinho o ProjectsProvider (QueryClient + i18n internos,
client derivado do HttpClient do @tmf/platform-core). O host não precisa montar
AppContract nem QueryClientProvider.
Superfície pública (scaffold)
| Export | O que é |
|---|---|
ProjectsApp |
Componente top-level (Padrão A). |
ProjectsProvider / useProjectsContext |
Provider + hook de contexto. |
createDefaultProjectsClient |
Fábrica do ProjectsApiClient a partir de baseUrl + getToken. |
projectsQueryKeys / invalidateProjectsMeta |
Query keys canônicas. |
getProjectsCatalog / PROJECTS_CATALOGS |
Catálogos i18n (projects.*). |
ProjectsPlaceholder |
Estado vazio de uma aba do shell. |
resolveVisibleTabs / resolveActiveTab / PROJECTS_TAB_DEFS |
Resolução pura das abas visíveis a partir de GET /meta. |
useProjectsRouting |
Hook de deep-link ?tab=…&issue=<KEY> (History API, sem react-router). |
PROJECTS_API_PREFIX |
Prefixo canônico do serviço (/api/projects, ADR-005). |
tipos ProjectsApiClient / ProjectsMeta / ProjectsIntegrationsHealth / ProjectsTabKey / ProjectsRouting |
Contrato do módulo. |
Empacotamento
- Build com tsup (cjs + esm + dts).
@tmf/platform-coreé empacotado nodist(noExternal) — o consumidor instala só@tmf/projects-front. react/react-domsãopeerDependencies(singleton).src/version.tsé auto-gerado pelo scriptprebuilda partir dopackage.json.
Desenvolvimento
npm ci # na raiz do monorepo
npm run build -w @tmf/platform-core
npm run build -w @tmf/projects-front
npm run lint -w @tmf/projects-front
npm run test -w @tmf/projects-front
Ver playground/ para um harness visual e INTEGRATION.md para o passo a passo de
adoção no host.
Dependencies
Dependencies
| ID | Version |
|---|---|
| @dnd-kit/core | ^6.0.0 |
| @tanstack/react-query | ^5.0.0 |
| dompurify | ^3.0.0 |
| lucide-react | ^0.400.0 |
Development dependencies
| ID | Version |
|---|---|
| @testing-library/jest-dom | ^6.0.0 |
| @testing-library/react | ^16.0.0 |
| @tiptap/pm | ^3.27.3 |
| @tiptap/react | ^3.27.3 |
| @tiptap/starter-kit | ^3.27.3 |
| @tmf/platform-core | file:../../platform-core |
| @types/dompurify | ^3.0.5 |
| @types/react | ^18.2.47 |
| @types/react-dom | ^18.2.18 |
| jsdom | ^25.0.0 |
| tsup | ^8.5.1 |
| typescript | ^5.3.3 |
| vitest | ^2.0.0 |
Peer dependencies
| ID | Version |
|---|---|
| @tiptap/pm | >=3.0.0 |
| @tiptap/react | >=3.0.0 |
| @tiptap/starter-kit | >=3.0.0 |
| react | >=18.0.0 |
| react-dom | >=18.0.0 |