Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 43 additions & 57 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ catalog:
"@vitest/browser-playwright": 4.1.4
drizzle-orm: 0.45.1
playwright: 1.58.2
typescript: 5.9.3
typescript: 6.0.2
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification for TypeScript 6 compatibility signals in this repo.

set -euo pipefail

echo "== Root and workspace TypeScript/tooling references =="
rg -n --hidden -S '"typescript"|"@typescript-eslint|ts-jest|ts-node|tsx|vite|vitest|eslint|typedoc' \
  package.json pnpm-workspace.yaml pnpm-lock.yaml || true

echo
echo "== tsconfig files present =="
fd -i 'tsconfig.*\.json$' || true

echo
echo "== Potentially sensitive compiler options that changed behavior across majors =="
rg -n --hidden -S 'moduleResolution|module|target|verbatimModuleSyntax|skipLibCheck|types|paths|jsx' \
  $(fd -i 'tsconfig.*\.json$' || true) || true

Repository: hiroppy/mf-dashboard

Length of output: 17921


🌐 Web query:

TypeScript 6.0.2 release notes and migration guidance, plus compatibility notes for @typescript-eslint with TypeScript 6.

💡 Result:

TypeScript 6.0.2 (stable) release notes (what changed vs 6.0.1)

TypeScript 6.0.2 was published as the TypeScript 6.0 “Latest” release on March 23, 2026. The GitHub release entry points to the 6.0 announcement post plus the fixed-issues (milestone) query for 6.0.2. [1]

The TypeScript 6.0.2 milestone contains (at least) these merged fixes: [2]

  • Fix a 6.0 regression in class property type inference / control-flow analysis (CFA): “Mark class property initializers as outside of CFA containers” (PR #63310, merged March 31, 2026). [3]
  • Fix missing default lib files when reusing old programs (PR #63239, cherry-picked into the 6.0 release branch via #63246, merged March 12–13, 2026). This addressed incorrect default-lib classification in program reuse (impacting APIs like isSourceFileDefaultLibrary and some watch/tsserver outputs). [4][5]

TypeScript 6.0 migration guidance (from the official 6.0 announcement)

The official “Announcing TypeScript 6.0” post (dated March 23, 2026) is the primary “what changed + how to prepare” document. It emphasizes that 6.0 is a bridge release between 5.9 and the Go-based TypeScript 7.0 line. [6]

Notable migration-relevant items called out there include: [6]

  • Type system / inference behavior changes, including less context-sensitivity for functions that don’t reference this.
  • Import assertions deprecation work (moving from assert { … } toward import attributes such as with { … }, including changes for dynamic import() forms).
  • Newly-supported Node subpath import patterns beginning with #/ (under --moduleResolution nodenext / bundler).
  • Module+resolution combinations and deprecations, including guidance around moving off deprecated --moduleResolution node/node10 and modernizing module settings.

If you’re upgrading an existing repo, treat TS 6.0 as “mostly compatible, but expect new errors” and plan to:

  • run tsc --noEmit in CI on TS 6,
  • address any new inference-checking failures,
  • review deprecations that may have been warnings before,
  • and re-check your tsconfig assumptions if you were relying on older defaults. [6]

@typescript-eslint compatibility with TypeScript 6

Official support status

typescript-eslint tracks new TS versions with a dedicated “New TypeScript Version” issue; “TypeScript 6 Support” (#12123) is closed (completed), indicating support landed. [7]

The actual support work (“feat: support TypeScript 6”, PR #12124) was noted as released in v8.58.0 (comment on March 31, 2026). [8]

Practical guidance

  • Use typescript-eslint ≥ 8.58.0 to lint TypeScript 6.x without “unsupported TS version” caveats. [8]
  • If you run TS 6 with an older typescript-eslint, expect at minimum an unsupported-version warning from the parser (they document that behavior and how to disable it). [9]

Notes on version policy

typescript-eslint states it “will always endeavor to support the latest stable version of TypeScript” and begins work around TS RC, but doesn’t generally “officially support” betas/RCs. It also documents that the parser will warn when you’re on an unsupported TS version. [9]


Sources

[1] GitHub: microsoft/TypeScript releases page (TypeScript 6.0 / v6.0.2; links to fixed-issues query and announcement) (github.com)
[2] GitHub: microsoft/TypeScript issues query for milestone “TypeScript 6.0.2” (github.com)
[3] GitHub: microsoft/TypeScript PR #63310 (github.com)
[4] GitHub: microsoft/TypeScript PR #63239 (github.com)
[5] GitHub: microsoft/TypeScript PR #63246 (github.com)
[6] Microsoft DevBlogs: “Announcing TypeScript 6.0” (Mar 23, 2026) (devblogs.microsoft.com)
[7] GitHub: typescript-eslint “New TypeScript Version” issues list (shows “TypeScript 6 Support” closed) (github.com)
[8] GitHub: typescript-eslint PR #12124 (support TS 6) indicating release in v8.58.0 (github.com)
[9] typescript-eslint docs: “Dependency Versions” (TS support policy + unsupported-version warnings) (typescript-eslint.io)

Citations:


🏁 Script executed:

#!/bin/bash
# Check for `@typescript-eslint` usage and ESLint configuration

echo "== Searching for `@typescript-eslint` in package.json files =="
fd -type f -name 'package.json' | xargs rg '@typescript-eslint' 2>/dev/null || echo "No `@typescript-eslint` found"

echo
echo "== ESLint config files =="
fd -type f \( -name '.eslintrc*' -o -name 'eslint.config.*' \) || echo "No ESLint config files found"

echo
echo "== Contents of root package.json (dependencies section) =="
cat -n package.json | head -80

Repository: hiroppy/mf-dashboard

Length of output: 2003


🌐 Web query:

oxlint 1.56.0 TypeScript 6 compatibility support

💡 Result:

Oxlint v1.56.0 (released March 16, 2026) does not add “TypeScript 6 compatibility” for type-aware linting; type-aware linting in Oxlint is built on tsgo / typescript-go (aka “TypeScript 7”). TypeScript 7.0+ is required to run type-aware rules (and --type-check). [1][2][3]

What this means in practice:

  • If you mean type-aware linting (--type-aware, --type-check): you need to be compatible with TS 7.0+; if your repo is still relying on TS 6-era/deprecated config/features, you’ll have to migrate first. [3]
  • If you mean parsing/linting .ts/.tsx syntax without type info: Oxlint supports TypeScript files generally, but the TS-compiler-version requirement above applies specifically to type-aware mode. [2][3]

Sources:
[1] Oxlint v1.56.0 release (GitHub releases) (github.com)
[2] Oxlint docs (type-aware uses tsgo / TypeScript 7) (oxc.rs)
[3] Type-aware linting docs (TypeScript 7.0+ required; TS6 deprecations noted) (oxc.rs)

Citations:


Resolve TypeScript 6.0.2 incompatibility with oxlint's type-aware mode.

The TypeScript 6.0.2 catalog pin will break the lint command. Oxlint v1.56.0 (released March 2026) requires TypeScript 7.0+ for type-aware linting (--type-aware), and your root lint script explicitly uses this flag. Vitest, Vite, and tsx are compatible with TS 6, but oxlint is the blocker. Either upgrade to TypeScript 7.0+ or downgrade oxlint to a version supporting TS 6 type-aware mode.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pnpm-workspace.yaml` at line 11, The TypeScript pin "typescript: 6.0.2" is
incompatible with oxlint's type-aware mode used by the project's lint script;
update the TypeScript catalog pin to a 7.0.0+ release (replace the "typescript:
6.0.2" entry) so oxlint v1.56.0 can run with the --type-aware flag, or
alternatively downgrade oxlint to a version that supports TS 6 if you must keep
TS 6; ensure the change is consistent with the root lint script that invokes
--type-aware and with any other tools (Vitest/Vite/tsx) that consume the
catalog.

vitest: 4.1.4

onlyBuiltDependencies:
Expand Down
Loading