Warning: Cannot find parent tsconfig.json

RationalDev likes GoFundMonica picture RationalDev likes GoFundMonica · Dec 10, 2016 · Viewed 10.2k times · Source

I would like to fix the warning:

Warning: Cannot find parent tsconfig.json

in the TypeScript Errors tab in IntelliJ IDEA 2016.3. My TypeScript code lives in the src directory and my TypeScript output is going to lib as expected without the src folder being added to lib.

I consume the lib folder in other projects and it seems to work as expected. So this doesn't seem to be a big problem, but I occasionally have a problem with TSLint where it sometimes does not seem to pick up a .tsx file is JSX and lints incorrectly and seems to occasionally treat it as a normal .ts file. Eventually it seems to figure it out. I am wondering if that is related as my TSLint settings are configured to use tsconfig.json.

I have also previously had .js transpiled files turn up next to the .ts files in the src folder, but not since I modified my tsconfig.json recently.

Files as follows:

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

I've upgraded to TypeScript 2.1.4, but was seeing it with 2.0.10.

My tsconfig.json file:

{
  "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
  }
}

Answer

Cù Đức Hiếu picture Cù Đức Hiếu · Dec 11, 2016

Try setting up include section in file tsconfig.json like in below image.
(Note that my project's root folder is frontend and my include section is frontend/**/*).

Of course you don't need to rename your project's root folder to frontend.
Only the naming should match.

It should take effect immediately after you save the tsconfig.json and open a .ts or .tsx file. If it doesn't try restarting the WebStorm/IDEA.

And don't forget to clear the error console before testing this solution. It might cache the previous messages.

P/S: I'm using WebStorm 2016.3.1.

enter image description here


If you were using webpack together with ts-loader the above solution would cause your builds to fail. If that was the case consider this approach instead.

enter image description here