How to get rid of the warning .ts file is part of the TypeScript compilation but it's unused
Solution 1:
It turned out that you need to remove this line from "include"
"src/**/*.ts"
from tsconfig.app.json
and only keep entry points in files (main.ts and polyfills.ts)
Solution 2:
I could get it working by defining the files
property in tsconfig.app.json
. These files are relative to the tsconfig.app.json
file.
"files": [
"main.ts",
"polyfills.ts"
]
Solution 3:
I had seen these messages complaining about environment.*.ts files which are actually mentioned in angular.json for different builds, after upgrading from Angular 8 to Angular 9 including CLI local and global. However, I did not run ng update
which might update tsconfig.json with the following, instead I updated tsconfig.json manually.
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.d.ts"
]
Then the warnings disappear.
Update 2020-05-27 with Angular 9.1.x in Visual Studio Professional 2019
The little block above is not needed anymore. Otherwise, it will cause the spec test codes complaining "module not found" against modules which are actually there since ng test
is building and running just fine, and the build and the running of the ng app are OK. Apparently somethings in NG had changed between 9 and 9.1.
Here's my working tsconfig.json now:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2020",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
],
"skipLibCheck": true
}
}
remarks:
I target Google Chrome and Safari only, so if you want to target other browsers, you may need to adjust accordingly.