web-dev-qa-db-fra.com

Avertissement: impossible de trouver le parent tsconfig.json

Je voudrais corriger l'avertissement:

Avertissement: impossible de trouver le parent tsconfig.json

dans l'onglet TypeScript Errors dans IntelliJ IDEA 2016.3. Mon code TypeScript réside dans le répertoire src et ma sortie TypeScript va dans lib comme prévu sans que le dossier src soit ajouté à lib.

Je consomme le dossier lib dans d'autres projets et il semble fonctionner comme prévu. Donc cela ne semble pas être un gros problème, mais j'ai parfois un problème avec TSLint où il ne semble parfois pas récupérer un fichier .tsx Est JSX et lints incorrectement et semble parfois le traiter comme un fichier .ts normal. Finalement, il semble comprendre. Je me demande si cela est lié car mes paramètres TSLint sont configurés pour utiliser tsconfig.json.

J'ai également eu précédemment des fichiers transpilés .js À côté des fichiers .ts Dans le dossier src, mais pas depuis que j'ai modifié mon tsconfig.json Récemment.

Fichiers comme suit:

tsconfig.json
src/index.ts
lib/index.js
lib/index.d.ts

J'ai mis à niveau vers TypeScript 2.1.4, mais je le voyais avec 2.0.10.

Mon fichier tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "jsx": "react",
    "allowJs": false,
    "isolatedModules": false,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "declaration": true,
    "noImplicitAny": false,
    "noImplicitUseStrict": true,
    "noEmitHelpers": false,
    "removeComments": true,
    "noLib": false,
    "sourceMap": true,
    "inlineSources": true,
    "preserveConstEnums": true,
    "allowSyntheticDefaultImports": true,
    "suppressImplicitAnyIndexErrors": true,
    "rootDir": "./src",
    "outDir": "./lib"
  },
  "include": [
    "./src/**/*"
  ],
  "compileOnSave": true,
  "atom": {
    "rewriteTsconfig": false
  }
}

le problème est spécifique à la version TypeScript utilisée (2.1.x); il est fixé dans 2016.3. 2 EAP

Remarque: cette réponse fait référence au problème spécifique à IDE (WebStorm, PHPStorm, IDEA) version 2016.3: cela ne fonctionnait pas bien avec TypeScript 2.1.x, affichant de faux avertissements. Si vous voyez message (Cannot find parent tsconfig.json) dans les autres versions IDE, il s'agit probablement d'un problème avec votre configuration: ces messages s'affichent s'ils sont actuellement modifiés .ts le fichier n'est inclus dans aucun tsconfig.json.

8
lena

Essayez de configurer la section include dans le fichier tsconfig.json comme dans l'image ci-dessous.
(Notez que le dossier racine de mon projet est frontend et ma include section est frontend/**/*).

Bien sûr, vous n'avez pas besoin de renommer le dossier racine de votre projet en frontend.
Seule la dénomination doit correspondre.

Il devrait prendre effet immédiatement après avoir enregistré le tsconfig.json et ouvrez un .ts ou .tsx fichier. S'il ne tente pas de redémarrer le WebStorm/IDEA.

Et n'oubliez pas d'effacer la console error avant de tester cette solution. Il pourrait mettre en cache les messages précédents.

P/S: J'utilise WebStorm 2016.3.1.

enter image description here


Si vous utilisiez webpack avec ts-loader la solution ci-dessus entraînerait l'échec de vos versions. Si tel était le cas, envisagez plutôt cette approche.

enter image description here

19
Cù Đức Hiếu

Aucune des solutions ci-dessus n'a fonctionné pour moi, mais je suis tombé sur un changement tsconfig qui l'a fait. Il semble que le IDE utilise différentes règles que tsc.

Cela n'a PAS fonctionné:

"include": ["./typings", "./src", "./test"],

Cela a fonctionné:

"include": ["./typings/**/*", "./src/**/*", "./test/**/*"],
4
kross

Essayez de définir le "numéro de version" dans votre fichier tsconfig.json.

{
    "version": "2.1.4",
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "jsx": "react",
        "allowJs": false,
        "isolatedModules": false,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "declaration": true,
        "noImplicitAny": false,
        "noImplicitUseStrict": true,
        "noEmitHelpers": false,
        "removeComments": true,
        "noLib": false,
        "sourceMap": true,
        "inlineSources": true,
        "preserveConstEnums": true,
        "allowSyntheticDefaultImports": true,
        "suppressImplicitAnyIndexErrors": true,
        "rootDir": "./src",
        "outDir": "./lib"
    },
    "include": [
        "./src/**/*"
    ],
    "compileOnSave": true,
    "atom": {
        "rewriteTsconfig": false
    }
}
1
Peter Panek