Phase 1 — Tooling
Zero changes to existing source files. Can land before Pinia completes.
After this PR merges: new files can be .ts immediately. Two rules apply from here:
- All new frontend files are
.ts (or <script lang="ts"> for Vue)
- Convert existing files to TypeScript when touched for any other reason
Phase 1 — Tooling
tsconfig.jsonto/frontend— extend Vue base,allowJs: true,strict: falsetypescript,vue-tscas dev dependenciesconfig/webpack.config.js— addts-loader, extendresolve.extensionswith.ts@typescript-eslintto ESLint, scoped tofrontend/src/**(existing JS files unaffected)frontend/jsconfig.jsonintotsconfig.jsonAfter this PR merges: new files can be
.tsimmediately. Two rules apply from here:.ts(or<script lang="ts">for Vue)