microsoft / microsoft/TypeScript
Bloomberg TS5.5-beta feedback
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
Acknowledgement
- I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.
Comment
We are in the process of evaluating the impact of TS 5.5 beta on Bloomberg code. Below are preliminary findings.
Overall this looks to be a low-impact release. The following changes were observed and seem to either be benign in nature or else improvements:
| Change | Impacts | Release notes | Packages affected |
|---|---|---|---|
| Stricter type-checking of partial objects | Type checker | This may be caused by improved type predicates | 1 |
Improved narrowing of Array.isArray result |
Type checker | This may be caused by improved type predicates | 1 |
| Exports are hoisted to the top of a module | Emitted JS | Not announced | Most |
Stricter type-checking of partial objects
We observed one project with a new type error in 5.5-beta, seemingly due to an improvement in type-checking for partials.
A minimal reproduction is here.
Improved narrowing of Array.isArray result
We observed for one project a new type error from trying to compare a string with an array after an Array.isArray check. The generics involved make a minimal reproduction infeasible but the essence of the code is:
if (Array.isArray(foo)) {
If (foo !== "something") // raises a new error for some complex foo
}
Exports are hoisted to the top of a module
Module exports seem to be hoisted to the top of modules now. No runtime impact observed.
Object.defineProperty(exports, "__esModule", { value: true });
+exports.foo = foo;
function foo() {
// …
}
-exports.foo = foo;
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
El issue no menciona archivos ni pruebas del repositorio; comienza con la reproducción mínima vinculada de TypeScript 5.5 beta y compara el comportamiento de comprobación de tipos descrito con las release notes. Después, investiga el ejemplo de narrowing de Array.isArray y el orden de los exports emitidos; se considerará terminado cuando los hallazgos se confirmen como comportamiento esperado o como regresiones accionables.
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
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 30/100