microsoft / microsoft/TypeScript

Suggestion: Allow Types in JS Files

Abierto
#12,199 10 comentarios 13 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Awaiting More Feedback Suggestion
Lenguaje dominante
Go
Estrellas
111k
Forks
14.4k
Merge medio
1 d 19 h
PR fusionados (30 d)
117

Descripción

I have a large Angular2 project written in JavaScript, in which we use transform-flow-strip-types in order to allow Angular2 dependency injection to work from JavaScript.

This is currently an error in a JavaScript file compiled with tsc:

class MyClass {
  prop:string;                   //err: 'types' can only be used in a .ts file
  constructor(x: string) {       //err: 'types' can only be used in a .ts file
  }

  someMethod():string {        //err: 'types' can only be used in a .ts file
  }
}

I would like an allowTypesInJsFiles compiler option which would allow us to compile JavaScript files which contain types. All of the above errors would be valid if the flag is set. This would allow us to use Angular2 DI from JavaScript files.

I have a branch with a simple implementation which I have verified to work.

Is this a change which could be accepted? If so I will add tests and sign the CLA.

I think it would be very useful for people migrating large JavaScript projects to TypeScript.

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 revisando la implementación propuesta en el commit 57a69d880251088d550500dcb018fc4e53895916 y los ejemplos de este issue. Determina cómo debería afectar la opción del compilador a JavaScript tipado; después, añade pruebas que cubran las declaraciones mostradas y confirma que se compilan cuando la opción está habilitada.

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

Evaluación

Stack tecnológico
javascript, typescript
Área
compilers
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.