feat(ponder): Add strict ESLint + Prettier with pre-commit hooks (#52)

- Install eslint, @typescript-eslint plugins, prettier, husky, lint-staged
- Configure ESLint flat config with TypeScript parser
- Enforce: no-explicit-any (with exceptions), no-unused-vars, naming-convention, prefer-const, no-console
- Set style: 2-space indent, 140 char max-len, disable complexity rules
- Configure Prettier: single quotes, 140 width, trailing commas
- Setup husky pre-commit hook to auto-fix and format on commit
- Replace console.log/warn with context.logger.info/warn in handlers
- Remove console.log from ponder.config.ts (replaced with comment)
- Add npm scripts: lint, lint:fix, format, format:check
- All lint rules pass without warnings

resolvel #45

Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/52
This commit is contained in:
johba 2025-10-04 15:37:26 +02:00
parent c150b683c8
commit dc61771dfc
18 changed files with 2229 additions and 194 deletions

View file

@ -1,4 +1,5 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
set -e
if [ -d "onchain" ]; then
@ -12,3 +13,7 @@ fi
if [ -d "web-app" ]; then
(cd web-app && npx lint-staged)
fi
if [ -d "services/ponder" ]; then
(cd services/ponder && npx lint-staged)
fi