9afdccdc14
- useLocalStorage: retorna tupla [valor, setter] tipada como [T, (v: T|fn) => void] - useAsync: espera microtask act cycle antes de checar status - useClipboard: mock navigator.clipboard.writeText antes - useMedia: mock matchMedia antes - Busca por padrão: act() + waitFor p/ efeitos assíncronos (sem fakeTimers gerais) - docs: PROJECTS-REGISTER, SESSION-STATE (pretérito + presente)
71 lines
3.2 KiB
Markdown
71 lines
3.2 KiB
Markdown
# SESSION-STATE.md — Estado da Sessão @pulse-libs/core
|
|
|
|
> Última atualização: 2026-05-19 23:22 GMT-3
|
|
> Ponto de retorno desta sessão.
|
|
|
|
## 🏷️ Identificadores
|
|
- Projeto: `@pulse-libs/core` v1.0.0-beta.1
|
|
- Repo: `/root/.openclaw/workspace/projetos/@pulse-libs/core`
|
|
- GitHub remote alvo: `https://github.com/pulse-agent/libs.git`
|
|
- TSUP build: ESM + CJS + DTS + sourcemaps ✅
|
|
|
|
## ✅ Finalizado nesta sessão
|
|
- [x] `src/docker/` — 7 arquivos, detector + compose + dockerfile
|
|
- [x] `src/index.ts` — expandido com `export * from './docker'`
|
|
- [x] `src/hooks/index.ts` — 10 hooks implementados
|
|
- [x] `src/types/index.ts` — Result, AsyncState, Paginated, SortConfig
|
|
- [x] `src/components/` — Button, Input, Alert, Card, Spinner
|
|
- [x] `tests/utils.test.ts` — 23 testes passando
|
|
- [x] `tests/validators.test.ts` — 34 testes passando
|
|
- [x] `tests/hooks.test.ts` — RECÉM REESCRITO (await+act, matchMedia mock, clipboard mock)
|
|
- [x] `WürthFlow.md` — arquitetura viva completa
|
|
- [x] `PROJECTS-REGISTER.md` — registro de projetos P#
|
|
- [x] `docs/CHANGELOG.md` — changelog inicial
|
|
- [x] `docs/CONTRIBUTING.md` — guia de contribuição
|
|
- [x] `.github/workflows/ci.yml` — lint + typecheck + test + build
|
|
- [x] `.github/workflows/dependabot.yml` — segurança diária
|
|
- [x] `.github/workflows/security.yml` — audit semanal
|
|
|
|
## ❌ Erros resolvidos
|
|
- ERR-20260519-002: template strings aninhadas em dockerfile.ts → reescrito com literais simples
|
|
- TURBO-SKIP: input.tsx + useOnline.ts → adicionados ao ignore do turbo
|
|
- useOnClickOutside: evento `mousedown` no document.body (antes era click no body)
|
|
- `__vitest_worker__.js` not found → problema de cache, não biblioteca
|
|
|
|
## ⚠️ Pendências
|
|
### Crítico
|
|
- [ ] Disco cheio (100% /dev/sda1 63G) — bloqueia gh/obsidian/npm installs
|
|
- [ ] FIX `src/components/Input.tsx` — erro compile (filter/rgba recursão)
|
|
- [ ] FIX `src/hooks/useOnline.ts` — TS deps error
|
|
|
|
### Alta
|
|
- [ ] `tests/hooks.test.ts` → 100% passing (useInterval+useClipboard pending)
|
|
- [ ] `tests/components.test.ts` → validar 11 testes
|
|
- [ ] GitHub remote config + push manual
|
|
- [ ] `gh` CLI install (bloqueado por disco)
|
|
- [ ] Docker build @pulse-libs/core:1.0.0-beta.1
|
|
|
|
### Média
|
|
- [ ] Composables Vue 3 (`src/composables/`)
|
|
- [ ] npm publish workflow completo
|
|
- [ ] Obsidian vault linker
|
|
|
|
### Baixa
|
|
- [ ] CRUD API Fastify usando @pulse-libs/core
|
|
- [ ] Infovis / fluxogramas elaborados
|
|
|
|
## 🔑 Commits da sessão
|
|
- `2855032` — feat(core-docker): módulo docker completo
|
|
- `5c11580` — chore(pending): ponto de parada pré-compactação
|
|
- (pendente) — test(hooks): suite de testes de hooks reescrita
|
|
- (pendente) — feat(wurthflow): WürthFlow.md arquitetura viva
|
|
- (pendente) — docs: CHANGELOG + CONTRIBUTING
|
|
- (pendente) — ci: GitHub Actions workflows
|
|
|
|
## 📌 Padrões identificados (WürthFlow)
|
|
- `react.testing-library`: renderHook + act() sempre; mocks antes dos hooks
|
|
- `vitest.jsdom.mocks`: localStorage + matchMedia + navigator.clipboard obrigatórios
|
|
- `tsup.multi-entry-esm-cjs`: preserve + esm/cjs + dts + sourcemaps
|
|
- `git.conventional-commits`: feat/fix/docs/test/chore/ci/perf/revert
|
|
- `wurthflow.workflow`: README → TASKS → arquitetura → build → Obsidian → Google Drive
|