Búsqueda de sitios web

typescript - Identificador duplicado 'File'


He revisado todas las respuestas anteriores y no pude encontrar una solución.

Tengo un monorepo que usa Lerna. En uno de los proyectos creé una clase llamada File. Se está produciendo el siguiente error:

 error TS2300: Duplicate identifier 'File'.

1 abstract class File {
                 ~~~~

  node_modules/typescript/lib/lib.dom.d.ts:5263:11
    5263 interface File extends Blob {
                   ~~~~
    'File' was also declared here.
  node_modules/typescript/lib/lib.dom.d.ts:5268:13
    5268 declare var File: {
                     ~~~~
    and here.

tsconfig.json raíz

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "noImplicitAny": false,
    "removeComments": true,
    "noLib": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "sourceMap": true,
    "lib": ["es6", "dom"],
    "skipLibCheck": true
  },
  "exclude": ["node_modules/**"]
}

project tsconfig.json

{
  "compilerOptions": {
    "outDir": "./lib",
    "module": "commonjs",
    "declaration": true,
    "noImplicitAny": false,
    "removeComments": true,
    "noLib": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "sourceMap": true,
    "lib": ["es6", "dom"],
    "skipLibCheck": true,
    "skipDefaultLibCheck": true
  },
  "include": ["./src"],
  "exclude": ["node_modules/**", "**/*.spec.ts", "**/*.test.ts"]
}

Ya he intentado:

  • Agregar la configuración skipLibCheck establecida en true.

  • Eliminando typescript de mis dependencias y usando la dependencia global.

  • Usando las banderas --skipLibCheck y --skipDefaultLibCheck que, por supuesto, eran redundantes.