Skip to content

Typescript: Phase 1 — Tooling #7018

@n-lark

Description

@n-lark

Phase 1 — Tooling

Zero changes to existing source files. Can land before Pinia completes.

  • Add tsconfig.json to /frontend — extend Vue base, allowJs: true, strict: false
  • Install typescript, vue-tsc as dev dependencies
  • Update config/webpack.config.js — add ts-loader, extend resolve.extensions with .ts
  • Add @typescript-eslint to ESLint, scoped to frontend/src/** (existing JS files unaffected)
  • Mirror path aliases from frontend/jsconfig.json into tsconfig.json

After this PR merges: new files can be .ts immediately. Two rules apply from here:

  1. All new frontend files are .ts (or <script lang="ts"> for Vue)
  2. Convert existing files to TypeScript when touched for any other reason

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Status

Closed / Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions