Skip to content

Tighten TypeScript safety rules and resolve lint violations#109

Merged
d-oit merged 2 commits intomainfrom
chore/tighten-ts-linting-11996114302110942353
May 5, 2026
Merged

Tighten TypeScript safety rules and resolve lint violations#109
d-oit merged 2 commits intomainfrom
chore/tighten-ts-linting-11996114302110942353

Conversation

@d-oit
Copy link
Copy Markdown
Owner

@d-oit d-oit commented May 5, 2026

Tightened TypeScript safety rules in ESLint and refactored the codebase to resolve violations. Key changes include enabling unsafe rules for source files, elevating any-usage to an error, and improving the typing of the worker's database client and various web/worker application boundaries.

Fixes #100


PR created automatically by Jules for task 11996114302110942353 started by @d-oit

…rrides

This commit strengthens the static analysis posture of the repository by:
- Enabling unsafe TypeScript rules (`no-unsafe-assignment`, `no-unsafe-member-access`, `no-unsafe-argument`, `no-unsafe-call`, `no-unsafe-return`) for all source files.
- Raising `@typescript-eslint/no-explicit-any` from 'warn' to 'error' for production source code.
- Implementing targeted ESLint overrides for tests, scripts, and configuration files to maintain flexibility where strictness is not required.
- Refactoring `apps/worker` database client to use generic return types, significantly improving type safety at the data boundary.
- Improving type definitions and assertions across `apps/web` and `apps/worker` to resolve violations of the new rules.
- Ensuring `pnpm verify` (lint, typecheck, tests, build, e2e) passes across the entire monorepo.

Co-authored-by: d-oit <6849456+d-oit@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

…rrides

This commit strengthens the static analysis posture of the repository by:
- Enabling unsafe TypeScript rules (`no-unsafe-assignment`, `no-unsafe-member-access`, `no-unsafe-argument`, `no-unsafe-call`, `no-unsafe-return`) for all source files.
- Raising `@typescript-eslint/no-explicit-any` from 'warn' to 'error' for production source code.
- Implementing targeted ESLint overrides for tests, scripts, and configuration files to maintain flexibility where strictness is not required.
- Refactoring `apps/worker` database client to use generic return types, significantly improving type safety at the data boundary.
- Improving type definitions and assertions across `apps/web` and `apps/worker` to resolve violations of the new rules.
- Ensuring `pnpm verify` (lint, typecheck, tests, build, e2e) passes across the entire monorepo.
- Fixing CI failure in `smoke-e2e` job by pinning to Chromium and aligning Node.js versions.

Co-authored-by: d-oit <6849456+d-oit@users.noreply.github.com>
@d-oit d-oit merged commit a388432 into main May 5, 2026
8 checks passed
@d-oit d-oit deleted the chore/tighten-ts-linting-11996114302110942353 branch May 5, 2026 12:38
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.

chore(lint): tighten TypeScript safety rules and limit permissive overrides

1 participant