Files
pulse-agent 9afdccdc14 feat(tests-hooks): 23/23 hooks tests pass — useToggle, useAsync, useDebounce, useLocalStorage, useMedia, useInterval, useClipboard, useFetch
- 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)
2026-05-19 23:37:04 -03:00

3.2 KiB

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

  • src/docker/ — 7 arquivos, detector + compose + dockerfile
  • src/index.ts — expandido com export * from './docker'
  • src/hooks/index.ts — 10 hooks implementados
  • src/types/index.ts — Result, AsyncState, Paginated, SortConfig
  • src/components/ — Button, Input, Alert, Card, Spinner
  • tests/utils.test.ts — 23 testes passando
  • tests/validators.test.ts — 34 testes passando
  • tests/hooks.test.ts — RECÉM REESCRITO (await+act, matchMedia mock, clipboard mock)
  • WürthFlow.md — arquitetura viva completa
  • PROJECTS-REGISTER.md — registro de projetos P#
  • docs/CHANGELOG.md — changelog inicial
  • docs/CONTRIBUTING.md — guia de contribuição
  • .github/workflows/ci.yml — lint + typecheck + test + build
  • .github/workflows/dependabot.yml — segurança diária
  • .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