Skip to content

#188 Implement the linting and formatting FIXED#224

Merged
Nanafancy merged 2 commits into
Ignition-World:mainfrom
solidsole:#188-Implement-the-linting-and-formatting-FIX
Jul 7, 2026
Merged

#188 Implement the linting and formatting FIXED#224
Nanafancy merged 2 commits into
Ignition-World:mainfrom
solidsole:#188-Implement-the-linting-and-formatting-FIX

Conversation

@solidsole

Copy link
Copy Markdown
Contributor

Findings

  1. No workspace-level pre-commit hook existed

    • The repository did not have a committed Git hook flow like Husky, Lefthook, or .githooks.
  2. Linting/formatting was inconsistent across projects

    • ignition-api had ESLint and Prettier scripts.
    • packages/core-ts had ESLint only, and it was partly broken.
    • ignition-pay-frontend had a lint script but no committed ESLint config for this setup.
    • Dart/Flutter and Go had style expectations documented, but no shared pre-commit enforcement.
  3. packages/core-ts linting had a real setup issue

    • @typescript-eslint/parser was missing.
    • Its precision-protection lint rule was also catching test canary files that intentionally use Number(...).
  4. Frontend needed explicit lint/format support

    • To participate cleanly in a pre-commit workflow, ignition-pay-frontend needed:
      • ESLint config
      • Prettier dependency
      • helper scripts for lint fixing and formatting
  5. There are unrelated existing issues in ignition-api

    • Build and lint failures exist there already.
    • These were not caused by the pre-commit implementation.

CLOSE #188

Fix features implemented

  1. Committed Git hook

    • Added .githooks/pre-commit
  2. Automatic hook installation

    • Added prepare script in root package.json
    • Added scripts/setup-git-hooks.mjs
    • This configures:
      git config core.hooksPath .githooks
  3. Central staged-file pre-commit runner

    • Added scripts/pre-commit-checks.mjs
    • This script:
      • detects staged files
      • runs relevant checks only where needed
      • re-stages formatted files automatically
  4. Shared formatting config

    • Added .prettierrc.json
    • Added .prettierignore
  5. JavaScript/TypeScript staged checks

    • For ignition-api
    • For ignition-pay-frontend
    • For packages/core-ts

    These run:

    • Prettier
    • ESLint with --fix
  6. Dart/Flutter staged checks

    • packages/core-dart
      • dart format
      • dart analyze
    • ignition-mobile
      • dart format
      • flutter analyze --no-pub
  7. Go staged checks

    • packages/core-go
      • gofmt -w
      • go test ./...
  8. Core TS lint fix

    • Added missing parser dependency
    • Added format scripts
    • Scoped the BigInt precision rule so tests are not blocked incorrectly
  9. Frontend lint/format support

    • Added ignition-pay-frontend/eslint.config.mjs
    • Added:
      • lint:fix
      • format
      • format:check
  10. API helper scripts

  • Added to ignition-api/package.json:
    • lint:check
    • format:check
  1. Contributor documentation updated
  • Updated CONTRIBUTING.md to explain:
    • install flow
    • hook setup
    • pre-commit behavior

@drips-wave

drips-wave Bot commented Jun 30, 2026

Copy link
Copy Markdown

@solidsole Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@solidsole

Copy link
Copy Markdown
Contributor Author

@Nanafancy PLEASE REVIEW AND PING ME BACK

@Nanafancy Nanafancy merged commit 1704e50 into Ignition-World:main Jul 7, 2026
4 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement the linting and formatting

2 participants