VSCode syntax highlighting breaks for JSX components with generic parameter defaults
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 42/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- react, typescript
- 領域
- tooling
調査の方向性
リンクされている jsx-syntax-bug の再現例と、JSX のハイライト表示を担う TypeScript-TmLanguage 文法ファイルから始めます。例を関連する TypeScript の issue と比較し、デフォルトの型パラメーターを持つジェネリック JSX コンポーネントがエラーとしてマークされなくなっている一方で、既存の例が引き続き正しくハイライト表示されることを確認します。
索引モデルが issue の本文から書いたものです。
説明
🔎 Search Terms
"vscode jsx generics"
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about JSX Generics
⏯ Playground Link
https://github.com/james-yeoman/jsx-syntax-bug
💻 Code
import React from "react";
type FooProps<T> = {
genericProp: T
}
export const Foo = <T = string,>({ genericProp }: FooProps<T>) => {
// ^ Error highlighting starts here
return <div>{String(genericProp)}</div>
}
🙁 Actual behavior
When defining a React JSX component as a Generic component, if you add a type default to the type parameter, the syntax highlighting marks it as an error, but no error is actually reported.
If you remove the fallback, or add an extends, the syntax error highlighting goes away.
The readme at my reproduction repo has screenshots of the bug in action, in case I've not explained the behaviour particularly well.
🙂 Expected behavior
Syntax highlighting should be able to handle Generics with default types in JSX files.
Additional information about the issue
https://github.com/microsoft/TypeScript/issues/45939 - Highly related, but is for typescript itself, rather than for VSCode's syntax highlighting.
My VSCode installation About content
Version: 1.90.0
Commit: 89de5a8d4d6205e5b11647eb6a74844ca23d2573
Date: 2024-06-04T19:43:07.605Z
Electron: 29.4.0
ElectronBuildId: 9593362
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Linux x64 5.15.0-112-generic
- 主要言語
- TypeScript
- スター
- 471
- フォーク
- 149
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/TypeScript-TmLanguage のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
microsoft/TypeScript-TmLanguage#1071 ·
-
triste オープン
難易度 5/5 1週間以上 初心者へのやさしさ 5/100
microsoft/TypeScript-TmLanguage#1078 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
microsoft/TypeScript-TmLanguage#1076 · コメント 6 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
microsoft/TypeScript-TmLanguage#1074 · コメント 2 件 ·
-
難易度 1/5 1〜3時間 初心者へのやさしさ 58/100
microsoft/TypeScript-TmLanguage#1066 · コメント 1 件 ·
microsoft/TypeScript-TmLanguage の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
bug v2
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
modelcontextprotocol/inspector#2458 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
carbon-design-system/ibm-products#9907 ·