chore: add eslint and prettier with a ci lint gate#61
Merged
mikewheeleer merged 1 commit intoJun 19, 2026
Merged
Conversation
Contributor
|
nice, a proper lint gate is exactly what this repo was missing. lgtm 👍 |
Contributor
Author
|
THANK you very much my helper 😊
…On Fri, Jun 19, 2026, 6:16 AM mikewheeleer ***@***.***> wrote:
*mikewheeleer* left a comment (Agentpay-Org/Agentpay-backend#61)
<#61 (comment)>
nice, a proper lint gate is exactly what this repo was missing. lgtm 👍
—
Reply to this email directly, view it on GitHub
<#61?email_source=notifications&email_token=BMBZJ5H4IO7OTEVREFECDPD5ATEDBA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZUHA3TAMZWGQY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4748703641>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BMBZJ5BDFP3FDE5W4SKKKGL5ATEDBAVCNFSNUABGKJSXA33TNF2G64TZHMYTCOBSGEYTMOJUGU5US43TOVSTWNBWHE3DMOBYHA3TJILWAI>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/BMBZJ5FG3WUEDPC5LBBIAND5ATEDBA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZUHA3TAMZWGQY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG>
and Android
<https://github.com/notifications/mobile/android/BMBZJ5ESQ2CX2SHCC5QROPD5ATEDBA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZUHA3TAMZWGQY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>.
Download it today!
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Close #60
Summary of the issue
The repository did not have a linter or formatter configured.
package.jsononly exposed build/start/dev/test scripts, and CI ran install, build, and tests without a lint gate. As a result, campaign issues referencingnpm run lintcould not pass because the script and supporting tooling did not exist.Root cause
There was no ESLint or Prettier dependency/configuration layer, no
lintorformatnpm scripts, and no GitHub Actions step enforcing linting before build/test.Solution implemented
Added ESLint and Prettier for the existing TypeScript NodeNext/ES2022 setup, wired linting into CI before build/test, documented the new commands, and cleaned up current source/test formatting so the new gate passes.
Key changes made
eslint.config.jsusing ESLint flat config withtypescript-eslint.@typescript-eslint/no-floating-promises@typescript-eslint/no-explicit-any.prettierrcand.prettierignore.npm run lintnpm run formatsrc/health.test.tswithvoidso intentional test registration promises are explicit.>=18.18, matching ESLint 9/typescript-eslint requirements.Trade-offs or considerations
The ESLint config uses strict type-aware presets but disables high-churn rules that would require a broader Express request-body and Supertest response typing refactor. This keeps the initial lint gate useful and production-ready without turning the PR into an unrelated application typing rewrite.
Testing steps