publint-all.ts 863 B

123456789101112131415161718192021222324252627282930
  1. import { execFileSync } from 'node:child_process'
  2. import { resolve } from 'node:path'
  3. // publint every publishable package (vendor/ is private upstream code and
  4. // examples/ are not packages; both are out of scope).
  5. const packages = [
  6. 'packages/llm',
  7. 'packages/session',
  8. 'packages/session-persistence',
  9. 'packages/session-persistence-jsonl',
  10. 'packages/session-persistence-sqlite',
  11. 'packages/system-prompt',
  12. 'packages/tools',
  13. 'packages/agent',
  14. 'packages/agent-loop',
  15. 'packages/bash',
  16. 'packages/llm-deepseek',
  17. 'packages/llm-pi-ai',
  18. 'packages/bash-local',
  19. 'packages/tool-bash',
  20. 'packages/invariants',
  21. 'packages/acp',
  22. 'packages/ui-stdio',
  23. 'packages/llm-replay',
  24. ]
  25. const root = resolve(import.meta.dirname, '..')
  26. for (const path of packages) {
  27. execFileSync('node_modules/.bin/publint', [path], { cwd: root, stdio: 'inherit' })
  28. }