Upgrade to TypeScript 7 once typescript-eslint supports it
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- eslint, github-actions, typescript
- 領域
- build-system, ci-cd, frontend
調査の方向性
Start by checking whether a typescript-eslint release supports TypeScript 7, the stated blocker. Then update TaskFlow.Web/package.json and its lockfile, remove the TypeScript ignore entry and comment in .github/dependabot.yml, and run the listed install, lint, type-check, test, build, and security-scan checks. Done when all acceptance criteria pass and Dependabot can open TypeScript major PRs again.
索引モデルが issue の本文から書いたものです。
説明
Groomed 2026-10-30 — ready for implementation.
Original Description
Split from #277. Dependabot major PRs for
typescriptare ignored in.github/dependabot.yml(#282) until this is done.
Background
TypeScript 7 (7.0.2 is latest on npm) cannot be installed in TaskFlow.Web. Every @typescript-eslint/* package, including typescript-eslint 8.72.1 and its canary builds, declares the peer range typescript >=4.8.4 <6.1.0. npm ci fails with ERESOLVE (seen in the closed Dependabot PR for typescript 7.0.2). @hey-api/openapi-ts ^0.99.0 already accepts TypeScript 7, so it is not a blocker.
Last checked 2026-10-30 (npm view): typescript-eslint latest is 8.72.1 with peer typescript >=4.8.4 <6.1.0, and typescript latest is 7.0.2. No typescript-eslint release supports TypeScript 7. The issue carries the blocked label until one does.
Blocker
A typescript-eslint release whose typescript peer range includes 7.x.
Work
- Bump
typescriptandtypescript-eslinttogether inTaskFlow.Web/package.jsonand refresh the lockfile - Fix any new type-check or lint errors
- Remove the
typescriptignore entry (and its comment line) from the npm block in.github/dependabot.yml
Acceptance criteria
npm ci,npm run lint,npm run type-check,npm run test -- --run --coverageandnpm run buildpass inTaskFlow.Web(coverage stays at or above the 80% line threshold)- The
security-scan.ymlweb image build passes - Dependabot can open
typescriptmajor PRs again
Related: #277
User Story
As a maintainer of TaskFlow, I want the web project to build, lint and test on TypeScript 7 with a matching typescript-eslint, so that the project stays on a supported compiler, and Dependabot can again propose major typescript updates without producing PRs that fail to install.
Gated on an external release. Implementation cannot start until a typescript-eslint release lists 7.x in its
typescriptpeer range. The TypeScript 7 / typescript-eslint status comes from the issue text (last checked 2026-10-20) and has not been re-verified.
Acceptance Criteria
Precondition and gating:
- Given no typescript-eslint release declares a
typescriptpeer range that includes 7.x, when someone picks up this story, then no work starts, and thetypescriptignore entry in.github/dependabot.ymlstays in place. - Given a typescript-eslint release whose peer range includes 7.x exists, when
typescriptandtypescript-eslintare bumped together inTaskFlow.Web/package.jsonand the lockfile is refreshed, thennpm cicompletes with noERESOLVEerror.
Build and quality checks, run in TaskFlow.Web:
- Given the upgraded dependencies, when
npm run lintruns, then it exits with no errors. - Given the upgraded dependencies, when
npm run type-checkruns, then it exits with no errors, including the generatedsrc/api/clientcode, which is type-checked but not linted. - Given the upgraded dependencies, when
npm run test -- --run --coverageruns, then all tests pass and line coverage is at or above 80%. - Given the upgraded dependencies, when
npm run buildruns, then it exits successfully.
CI and Dependabot:
- Given the upgrade is on a branch, when the
taskflow-webjob inci.ymlruns, then it passes. - Given the upgrade is on a branch, when the web image build in
security-scan.ymlruns, then it passes. - Given the
typescriptignore entry and its comment lines are removed from the npm block in.github/dependabot.yml, when the file is reviewed, then theviteandvitestignore entries and their comments are unchanged. - Given the ignore entry is removed, when Dependabot next runs, then it can open a
typescriptmajor-version PR.
Edge Cases
- Build scripts.
npm run buildistsc -b && vite buildandtype-checkistsc -b --noEmit. It is unverified whether TS 7 supports these invocations, thetscbin and the tsbuildinfo paths in the same way. - Strictness.
tsconfig.app.jsonsets no explicitstrict, so it relies on the compiler default. If TS 7 changes that default, checking could tighten or loosen without any config change. - Test typings.
src/test/jest-dom.d.tsdeclares avitestmodule shim that depends on vitest 5Matcherstypings and could break under TS 7. - Generated client.
src/api/clientis excluded from lint but is type-checked. TS 7 errors there cannot be fixed by hand edits; regenerate with@hey-api/openapi-ts(^0.99.0already accepts TS 7). - Docker. The Dockerfile runs
npm ciandnpm run build.ghcr-deploy.ymlbuilds and pushes the web image on everymainpush, so a bad upgrade not caught earlier would surface at deploy time. - Premature ignore removal. Removing the Dependabot ignore before typescript-eslint supports TS 7 makes Dependabot open PRs that fail with
ERESOLVE. Remove it in the same PR as the upgrade.
Out of Scope
- Upgrading
vite,vitestor@vitest/coverage-v8; their Dependabot ignores and comments stay. - Switching ESLint to type-checked rule sets; the config stays on
tseslint.configs.recommended. - Changing tsconfig strictness or adding compiler options beyond what is needed to pass the checks.
- Bumping
@hey-api/openapi-tsor restructuring the generated client, unless TS 7 errors force a regeneration. - Backend (
TaskFlow.Api) changes. - Pre-release or canary typescript-eslint builds; the work waits for a release.
- 主要言語
- C#
- スター
- 1
- フォーク
- 0
- 平均マージ
- 2時間 2分
- マージ済み PR(30日)
- 98
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nevridge/TaskFlow のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
nevridge/TaskFlow の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
juandresrodca/AdminForge#54 ·
-
要トリアージ 辞書
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
yksr-melt/Meltype#1625 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Docs typoオープン
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
MonoGame/docs.monogame.github.io#328 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
space-wizards/RobustToolbox#7197 ·
メンテナーはふだん 1 日以内に返信
-
documentation high priority
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
lachydotmcg/capri-desktop#201 ·
メンテナーはふだん 1 日以内に返信