microsoft / microsoft/TypeScript
ScriptKind.Deferred treated as LanguageVariant.Standard
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
🔎 Search Terms
Deferred ScriptKind TSX
Deferred ScriptKind Standard
Vue, eslint, tsx parser error
🕗 Version & Regression Information
Currently looking at TypeScript 5.5+ likely affects most versions of typescript.
⏯ Playground Link
No response
💻 Code
Not specific to TS code but compiler and parsing.
🙁 Actual behavior
When using typescript-eslint with there new projectSettings option, along side vue with tsx. The file fails to parse
Component.vue
41:8 error Parsing error: '>' expected
Deferred ScriptKinds are treated as LanguageVariant.Standard rather than LanguageVariant.JSX
https://github.com/microsoft/TypeScript/blob/main/src/compiler/parser.ts#L1746
https://github.com/microsoft/TypeScript/blob/main/src/compiler/utilities.ts#L8832
🙂 Expected behavior
Under the assumption that ScriptKind.Deferred could be treated as LanguageVariant.JSX then this resolves typescript-eslints issue with parsing extraFileExtensions such as vue files.
I'm unsure what the consequences and other use cases of ScriptKind.Deferred are so it could be as simple as adjusting getLanguageVariant.
Additional information about the issue
https://github.com/typescript-eslint/typescript-eslint/issues/9934
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalle posizioni collegate in src/compiler/parser.ts e src/compiler/utilities.ts, in particolare dalla gestione della variante di linguaggio per ScriptKind.Deferred. Riproduci il fallimento del parsing tramite la issue correlata di typescript-eslint usando un file Vue con TSX, quindi valuta le conseguenze del trattamento di Deferred come JSX. Il lavoro è completo quando l’errore di parsing Vue segnalato è risolto senza compromettere altri casi d’uso di Deferred ScriptKind.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100