TypeStrong / TypeStrong/ts-loader
ES2015 module issue with transpileOnly + decorators + interfaces
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.5k
- Forks
- 439
- Merge medio
- 17 h 17 min
- PR fusionados (30 d)
- 2
Descripción
Hi there,
We have a very large Angular 2 codebase that we're attempting to move over to ts-loader; we're getting massive (4-5x) speed boosts compared to our existing awesome-typescript-loader setup, but sadly we're getting compilation issues when we turn on transpileOnly.
It only occurs when:
- Building ES2015 modules AND
- Using a class with a decorator on it AND
- The class uses an imported interface AND
- The imported interface comes from a module that also exports something concrete (e.g. a class or a const)
(webpack complains that it can't find the interface with a stack trace suggesting that it's processing harmony imports.)
I've created a repo with a standalone repro case in it: it's just tiny 2 files both of which are under 10 lines of code:
https://github.com/RoystonS/ts-loader-issue
(Is this related to what's discussed in issue #400?)
Thanks,
Royston.
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
Comienza con la reproducción independiente de dos archivos en github.com/RoystonS/ts-loader-issue y ejecuta su build de webpack con transpileOnly habilitado. Reproduce el fallo usando módulos ES2015, una clase decorada y una interfaz importada desde un módulo que también exporta un valor concreto; se considera terminado cuando esta combinación compila sin el error de interfaz ausente ni el error de harmony-import.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript, webpack
- Área
- build-system, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100