Definitelytyped: [@ types / terser-webpack-plugin] Compatibilidad con webpack 5

Creado en 15 oct. 2020  ·  4Comentarios  ·  Fuente: DefinitelyTyped/DefinitelyTyped

@ types / terser-webpack-plugin no admite los tipos de webpack 5 que ahora son generados por el propio webpack.

node_modules/@types/terser-webpack-plugin/index.d.ts:7:10 - error TS2305: Module '"../../webpack/types"' has no exported member 'Plugin'.

7 import { Plugin } from 'webpack';
           ~~~~~~
  • [x] Intenté usar el paquete @types/terser-webpack-plugin y tuve problemas.
  • [x] Intenté usar la última versión estable de tsc. https://www.npmjs.com/package/typescript
  • [x] [Mencione] (https://github.com/blog/821-mention-somebody-they-re-notified) a los autores (consulte Definitions by: en index.d.ts ) para que puedan responder.

    • Autores: @Danscho , @peterblazejewicz

Comentario más útil

Aparece otro mensaje de error en el archivo de configuración del paquete web, cuando uso terser-webpack-plugin 5.0.0 con el paquete web 5:

Type 'TerserPlugin' is not assignable to type '"..." | WebpackPluginInstance | ((this: Compiler, compiler: Compiler) => void)'.
  Type 'TerserPlugin' is not assignable to type '(this: Compiler, compiler: Compiler) => void'.
    Type 'TerserPlugin' provides no match for the signature '(this: Compiler, compiler: Compiler): void'.ts(2322)

¿Alguien más tiene este problema?

Todos 4 comentarios

@peterblazejewicz ya creó una solicitud de extracción.
Consulte: # 48794.
Esto debería resolver su problema.

Aparece otro mensaje de error en el archivo de configuración del paquete web, cuando uso terser-webpack-plugin 5.0.0 con el paquete web 5:

Type 'TerserPlugin' is not assignable to type '"..." | WebpackPluginInstance | ((this: Compiler, compiler: Compiler) => void)'.
  Type 'TerserPlugin' is not assignable to type '(this: Compiler, compiler: Compiler) => void'.
    Type 'TerserPlugin' provides no match for the signature '(this: Compiler, compiler: Compiler): void'.ts(2322)

¿Alguien más tiene este problema?

Por lo que puedo decir, el problema es que la última versión de @types/terser-webpack-plugin , incluso después de # 48794, todavía especifica @types/webpack@* como dependencia, que se resuelve en [email protected] . Parece que esta dependencia se agrega implícitamente de alguna manera por @DefinitelyTyped , ya que no puedo encontrarla en package.json . ¿Quizás tengamos que agregar webpack@5 como dependencia para evitar esto?

webpack@5 tampoco exporta Plugin más, pero por ejemplo WebpackPluginInstance .

@buschtoens
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/48857
Hubo el mismo problema con el paquete web 5.

¿Fue útil esta página
0 / 5 - 0 calificaciones