Files
ragaspaleilaoandClaude Sonnet 5 9e2b8637cc fix(worker): laço rápido do drain volta a montar o admin client
@react-pdf/hyphenate@0.1.0 é ESM puro e só definia a condição `import`
no exports map. O worker roda via tsx (CommonJS por padrão neste
repo), então qualquer import estático de @react-pdf/renderer (usado
pela exportação de dados LGPD) derrubava carregarDeps() do drain loop
com ERR_PACKAGE_PATH_NOT_EXPORTED — e como register-handlers.ts
registra os 12 handlers do event_log num só import chain, um pacote
quebrado tirava o laço rápido de TODOS eles, não só do LGPD, caindo
pro cron de 1x/min como única rede de segurança.

- patches/@react-pdf__hyphenate.patch (via pnpm.patchedDependencies)
  acrescenta a condição `require` ao exports map: Node 22.12+/24 já
  sabe carregar ESM via require() quando o mapa permite.
- Dockerfile e Dockerfile.worker: copia patches/ antes do
  `pnpm install --frozen-lockfile` (a otimização de cache de camada
  copiava só package.json+lockfile primeiro, e o install falhava sem
  encontrar o patch referenciado).
- tests/unit/react-pdf-resolve-sob-tsx.test.ts: regressão via processo
  filho tsx real (mesma técnica de import-puro-sem-env.test.ts) usando
  require() — import() dinâmico não serve de aparato aqui porque
  sempre passa pelo loader ESM nativo do Node, que já honrava a
  condição `import` e nunca detectaria a quebra.

Confirmado nos dois sentidos (aparato falha sem o patch, passa com
ele) e provado no worker real: o warning "event-log drain OFF" some
do log de boot depois do rebuild.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-08 12:24:31 -03:00
..