Skip to content

[Task](Heureka): Migrate to new Vite-React-TypeScript ESLint configuration #1720

Description

@ArtieReus

Task Description

Migrate the Heureka application from the legacy juno-typescript.mjs ESLint config (which contains mixed JavaScript/TypeScript rules) to the new vite-react-ts.mjs configuration that provides pure TypeScript
linting rules without JavaScript rule interference.

Goals:

  • Switch Heureka's ESLint configuration to use the new vite-react-ts.mjs config
  • Fix all TypeScript linting violations that surface after the migration
  • Achieve maximum 5 rule overrides with justification comments
  • Eliminate all workaround rule disables that were required with the old config
  • Ensure pnpm lint passes successfully

Sub-tasks

  • Update Heureka's eslint.config.mjs to import and use the new vite-react-ts.mjs configuration
  • Run pnpm lint to identify all violations
  • Fix easy violations (unused variables, naming conventions)
  • Fix medium complexity violations (type assertions, explicit any usage)
  • Fix hard violations (unsafe member access, type-unsafe calls)
  • Document any necessary rule overrides with justification comments (max 5)
  • Remove all workaround disables from old config
  • Verify pnpm lint passes successfully
  • Verify pnpm typecheck passes
  • Create changeset for the changes

Related Issues

Part of ESLint Configuration Migration Epic #1565

Additional Context

This is one of 7 applications being migrated as part of the project-wide effort to eliminate JavaScript/TypeScript rule conflicts in shared config and enable strict TypeScript checking across all apps.

Migration Approach:
Fix violations category-by-category in order of complexity:

  • Easy: unused variables, naming conventions
  • Medium: type assertions, explicit any usage
  • Hard: unsafe member access, type-unsafe calls

Each category can potentially be handled in separate pull requests if the scope is large.

Acceptance Criteria:

  • Heureka uses vite-react-ts.mjs instead of juno-typescript.mjs
  • pnpm lint passes with no errors
  • Maximum 5 rule overrides with clear justification comments
  • All workaround disables from old config are removed
  • TypeScript strict checking is enabled without violations

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions