microsoft / microsoft/TypeScript

Comment directive activated when longer string used

Abierto
#38,791 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Bug Domain: Parser
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
2 d 4 h
PR fusionados (30 d)
132

Descripción

TypeScript Version: typescript@4.0.0-dev.20200526
NodeJS Version: v12.16.2
Visual Studio Code:

Version: 1.45.1 (system setup)
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:27:35.169Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 6.1.7601

Search Terms: comment directive, @ts-ignore

Code

let obj = { }
// @ts-ignoreThisShouldNotMatchButItDoes
console.log( `obj.a = ${obj.a}` )

Expected behavior:
Property 'a' does not exist on type 'object'.ts(2339)

Actual behavior:
compile time: no 2339 error or indication in VS Code
run time: obj.a = undefined

Description
Visual Studio code and running tsc will produce error 2339 when the comment directive is removed. When adding in the comment // @ts-ignore both Visual Studio code and tsc will ignore the error. However, misspelling ts-ignore as ts-ignoree or ts-ignoreThisShouldNotMatchButItDoes will invoke the @ts-ignore directive and ignore the error.

I didn't test other directives to see whether they had similar issues... trying to keep things simple, but this issue could be symptomatic of all comment directives, assuming they re-use the same code for parsing.

Playground Link: https://www.typescriptlang.org/play/?target=6&jsx=0&ssl=2&ssc=13&pln=2&pc=41#code/DYUwLgBA9gRgVhAvBA3hAvgKAPTYgATAGcBaASwHMA7KAJxABUALMogZSagFdgATAOShgAsgEMwAYyYAhLmACSYACJQQRTBKhUiUUADpgUCgAoIAA1hw9opBAAkKS9fRmIASkxA

Related Issues: None that I could find. Searched under @ts-ignore, comment directive

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con el comportamiento del compilador de TypeScript mostrado en el ejemplo de código y el enlace de Playground del issue, usando la configuración indicada de TypeScript 4.0.0-dev.20200526. Reproduce el caso // @ts-ignoreThisShouldNotMatchButItDoes con tsc y compáralo con la directiva escrita correctamente y con las variantes mal escritas. Se considera terminado cuando solo la directiva de comentario exacta suprime el error 2339, mientras que las cadenas más largas no lo hacen.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
compilers
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.