Typescript: 2.0 déclarations @types compilées malgré les listes ignorées dans tsconfig

Créé le 29 sept. 2016  ·  3Commentaires  ·  Source: microsoft/TypeScript

Version TypeScript: 2.0.3

Code
Projet complet ici .

tsconfig.json :

{
    "compilerOptions": {
        "target": "es6",
        "module": "system",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false
    },
    "exclude": [
        "../node_modules"
    ]
}

Comportement prévisible:

Pour le projet à compiler, et comme le spécifie tsconfig, le répertoire node_modules doit être ignoré, donc aucune erreur de ce répertoire.

Comportement réel:

Beaucoup d'erreurs du répertoire node_modules/@types , par exemple:

[0] node_modules/@types/core-js/index.d.ts (21,14): erreur TS2300: identifiant 'PropertyKey' en double.

[0] node_modules/@types/core-js/index.d.ts (85,5): erreur TS2687: Toutes les déclarations de 'nom' doivent avoir des modificateurs identiques.

[0] node_modules/@types/core-js/index.d.ts (145,5): erreur TS2403: les déclarations de variables suivantes doivent avoir le même type. La variable '[Symbol.unscopables]' doit être de type '{copyWithin: boolean; entrées: booléen; fill: booléen; trouver: booléen; findIndex: booléen; keys: ... ', mais ici a le type' any '.

[0] node_modules/@types/core-js/index.d.ts (262,5): erreur TS2687: Toutes les déclarations de 'flags' doivent avoir des modificateurs identiques.

[0] node_modules/@types/core-js/index.d.ts (276,5): erreur TS2687: Toutes les déclarations de 'EPSILON' doivent avoir des modificateurs identiques.

[0] node_modules/@types/core-js/index.d.ts (311,5): erreur TS2687: Toutes les déclarations de 'MAX_SAFE_INTEGER' doivent avoir des modificateurs identiques.

Question

Commentaire le plus utile

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false,
        "types": []
    },
    "exclude": [
        "../node_modules"
    ]
}

Je pense que les types devraient être à l'intérieur de compilerOptions

Tous les 3 commentaires

Les @types sont automatiquement inclus dans la compilation. pour les exclure, ajoutez "types": [] à votre tsconfig.json

@mhegazy Même avec ceci comme mon tsconfig:

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false
    },
    "types": [],
    "exclude": [
        "../node_modules"
    ]
}

Je reçois toujours des erreurs, par exemple

[1] node_modules/@types/core-js/index.d.ts (21,14): erreur TS2300: identificateur dupliqué 'PropertyKey'.

[1] node_modules/@types/core-js/index.d.ts (85,5): erreur TS2687: Toutes les déclarations de 'nom' doivent avoir des modificateurs identiques.
[1] node_modules/@types/core-js/index.d.ts (145,5): erreur TS2403: les déclarations de variables suivantes doivent avoir le même type. La variable '[Symbol.unscopables]' doit être de type '{copyWithin: boolean; entrées: booléen; fill: booléen; trouver: booléen; findIndex: booléen; keys: ... ', mais ici a le type' any '.

[1] node_modules/@types/core-js/index.d.ts (262,5): erreur TS2687: Toutes les déclarations de 'flags' doivent avoir des modificateurs identiques.

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false,
        "types": []
    },
    "exclude": [
        "../node_modules"
    ]
}

Je pense que les types devraient être à l'intérieur de compilerOptions

Cette page vous a été utile?
0 / 5 - 0 notes