Búsqueda de sitios web

javascript - ¿Cómo excluir archivos de ser procesados por tsc?


¿Cómo se evita que tsc procese un archivo de Javascript requerido por otro?

Quiero ejecutar verificaciones completas en mi archivo principal index.js, pero este requires() un archivo de Javascript generated.js creado por emcc, lo cual está perfectamente bien, pero no pasa muchas de las verificaciones de tsc.

Intenté agregar el archivo a mi lista de exclusión en mi tsconfig.json, así:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "lib": [
        "dom",
        "webworker"
    ],
    "allowJs": true,
    "checkJs": true,
    "outDir": "./dist",
    "noImplicitAny": false,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": [
    "index.js"
  ],
  "exclude": [
    "generated.js"
  ]
}

pero eso no tuvo ningún efecto. Cuando ejecuto tsc --build tsconfig.json obtengo un montón de errores de generated.js.

Respuesta #1

El archivo tsconfig.json busca archivos de TypeScript por defecto, mientras que le estás proporcionando archivos .js. Puedes cambiar las extensiones de los archivos de .js a .ts para que TypeScript los busque. Así que tu archivo tsconfig.json podría terminar luciendo así:

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "lib": [
        "dom",
        "webworker"
    ],
    "allowJs": true,
    "checkJs": true,
    "outDir": "./dist",
    "noImplicitAny": false,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": [
    "index.ts"
  ],
  "exclude": [
    "node_modules",
    "generated.ts"
  ]
}