Skip to content

[Task](Template App): Migrate to new Vite-React-TypeScript ESLint configuration #1960

Description

@ArtieReus

Task Description

Migrate the template app from the current mixed JavaScript/TypeScript ESLint configuration (juno-typescript.mjs) to the new pure TypeScript configuration (vite-react-ts.mjs). This will eliminate the need for
rule override workarounds and enable strict TypeScript checking aligned with Vite's default setup.

Sub-tasks

  • Update eslint.config.mjs to import and use the new vite-react-ts.mjs configuration from @cloudoperators/juno-config
  • Remove all existing TypeScript rule override workarounds (currently 15-20 rules being disabled)
  • Fix any new TypeScript errors/warnings surfaced by strict type checking
  • Ensure remaining rule overrides are ≤5 and each has a justification comment explaining why it's necessary
  • Test that ESLint runs successfully in development and CI
  • Verify the app builds and runs correctly after migration
  • Remove references to old juno-typescript.mjs configuration
  • Update any related documentation

Related Issues

Epic: #1565 - ESLint Configuration Migration to Vite-React-TypeScript Standards

Additional Context

Current State:

  • Template app uses mixed JS/TS configuration from juno-typescript.mjs
  • Requires 15-20 TypeScript rule overrides as workarounds
  • Mixing pluginJs.configs.recommended with tseslint.configs.recommendedTypeCheckedOnly causes conflicts

Target State:

  • Use new pure TypeScript configuration vite-react-ts.mjs
  • Minimal overrides (≤5 rules) with justification comments
  • Strict TypeScript checking enabled
  • Aligned with Vite's default ESLint setup
  • Better type safety and developer experience

Migration Pattern:
This follows the epic's three-phase approach. Template app is one of 7 apps being migrated in parallel during Phase 2. The old config will be retained until all apps/packages complete migration (Phase 3).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions