chore: enable more linters#4080
Conversation
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
✅ Files skipped from review due to trivial changes (3)
🚧 Files skipped from review as they are similar to previous changes (1)
📜 Recent review details⏰ Context from checks skipped due to timeout. (1)
🧰 Additional context used📓 Path-based instructions (7)**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{ts,tsx,js,jsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.ts📄 CodeRabbit inference engine (.cursor/rules/otel-metrics.mdc)
Files:
packages/cli-v3/src/dev/**/*📄 CodeRabbit inference engine (packages/cli-v3/CLAUDE.md)
Files:
**/*.{ts,tsx,js,jsx,mts,cts,mjs,cjs}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
packages/**/*.{ts,tsx,js,jsx,mts,cts,mjs,cjs}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
**/*.{ts,tsx,js,jsx,mts,cts,mjs,cjs,md,mdx}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (9)📚 Learning: 2026-03-22T13:26:12.060ZApplied to files:
📚 Learning: 2026-03-22T19:24:14.403ZApplied to files:
📚 Learning: 2026-05-18T08:21:27.694ZApplied to files:
📚 Learning: 2026-05-18T08:21:27.694ZApplied to files:
📚 Learning: 2026-06-13T19:53:13.759ZApplied to files:
📚 Learning: 2026-06-17T17:13:49.929ZApplied to files:
📚 Learning: 2026-06-23T13:04:21.413ZApplied to files:
📚 Learning: 2026-06-04T18:16:35.386ZApplied to files:
📚 Learning: 2026-06-09T17:58:04.699ZApplied to files:
🪛 ast-grep (0.44.0)packages/cli-v3/src/dev/devSupervisor.ts[warning] Importing child_process exposes a command-execution surface; ensure any command/argument built from input is validated, and prefer execFile/spawn with an argument array over exec. (detect-child-process-typescript) 🔇 Additional comments (1)
WalkthroughThe PR narrows the 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
@trigger.dev/build
trigger.dev
@trigger.dev/core
@trigger.dev/python
@trigger.dev/react-hooks
@trigger.dev/redis-worker
@trigger.dev/rsc
@trigger.dev/schema-to-json
@trigger.dev/sdk
commit: |
…fixture ({}) syntax
…ges; fix no-unsafe-optional-chaining with !
Summary
Re-enables ~15 oxlint rules that were blanket-disabled before.
Rules re-enabled and how violations were fixed
no-useless-catch(4 violations)One-line disabled.
no-unreachable(3 violations)mintlifyClient.ts: removed athrowafter awhile(true)loop that already throws/returns internally.taskExecutor.test.ts: removed deadawait next()+pushafter a deliberatethrowin a test middleware.require-yield(2 violations)Ignored at site.
no-async-promise-executor(2 violations)backoff.ts: replacednew Promise(async (resolve, reject) => { ... callback().then(resolve) })with the idiomaticcallback(...).then(resolve, reject).zodIpc.ts: removedasyncfrom the executor and changedawait this.#sendPacket(...)tothis.#sendPacket(...).catch(reject).no-unsafe-finally(1 violation)checkpointer.tsdeliberately usesreturninsidefinallyto override the try-block result when the signal is aborted (comment: "Overrides any prior return value"). Added// eslint-disable-next-line no-unsafe-finallywith an explanation rather than refactoring the cancellation logic.typescript/no-unnecessary-parameter-property-assignment(1 violation)apiClient.tsconstructor had bothpublic readonly branch?: string(parameter property) andthis.branch = branch(manual assignment). Removed the redundant assignment.react/no-children-prop(1 violation)Select.tsx: converted<SelectGroupedRenderer children={children} />to<SelectGroupedRenderer>{children}</SelectGroupedRenderer>.react/jsx-key(3 violations)Added
keyprops to mapped JSX indebugRun.tsxand the models comparison route (key={m}on the Provider span and the feature CheckIcon).no-unused-private-class-members(5 violations)Deleted genuinely dead private methods:
marqs/index.server.ts—#saveMessage(superseded by#saveMessageIfExists)fair-queue/index.ts—#incrementCooloff(partially-implemented feature, never wired up)taskMonitor.ts—#launchTests(76-line dev scaffolding, never called)podCleaner.ts—#deleteUnrecoverableRuns+#launchTests(62 lines of test pod creation, never called)typescript/no-this-alias(13 violations)Just did disable at the site.
no-useless-escape(44 violations)Nearly all were auto-fixed by
oxlint --fix. Three manual fixes:gitBranch.ts:/[ ~\^:?\*[\\]/→/[ ~^:?*[\\]/(inside a character class^and*don't need escaping).TSQLParser.ts(generated file):\'\'→''inside a double-quoted string.no-unused-expressions(27 violations)Enabled with
["warn", { "allowShortCircuit": true, "allowTernary": true }]— this covers the commonwarn && log(...)andcondition ? a() : b()patterns used throughout the CLI and webapp. The 11 remaining violations were intriggerClient.types.test.ts: expressions likeclient.tasks.triggerAndWait;used purely for TypeScript type-checking (paired with// @ts-expect-error). Fixed by addingvoidprefix:void client.tasks.triggerAndWait;.