Erreur Typescript « Cannot write file ... because it would overwrite input file. »

Erreur Typescript « Cannot write file … because it would overwrite input file. »

Dans mon cas, j’utilisais l’option outDir mais sans exclure le répertoire de destination des entrées :

// Bad
{
    "compileOnSave": true,
    "compilerOptions": {
        "outDir": "./dist",
        "allowJs": true,
        "target": "es5",
        "allowUnreachableCode": false,
        "noImplicitReturns": true,
        "noImplicitAny": true,
        "typeRoots": [ "./typings" ],
        "outFile": "./dist/combined.js"
    },
    "include": [
        "./**/*"
    ],
    "exclude": [
        "./plugins/**/*",
        "./typings/**/*"
    ]
}

Il suffit d’exclure les fichiers du répertoire outDir :

// Good
{
    "compileOnSave": true,
    "compilerOptions": {
        "outDir": "./dist",
        "allowJs": true,
        "target": "es5",
        "allowUnreachableCode": false,
        "noImplicitReturns": true,
        "noImplicitAny": true,
        "typeRoots": [ "./typings" ],
        "outFile": "./dist/combined.js"
    },
    "include": [
        "./**/*"
    ],
    "exclude": [
        "./plugins/**/*",
        "./typings/**/*",
        "./dist/**/*" // This is what fixed it!
    ]
}