Skip to content

Commit 60d39d7

Browse files
committed
add tests
1 parent bb615ac commit 60d39d7

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

src/compiler/commandLineParser.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1610,10 +1610,9 @@ namespace ts {
16101610
else if (raw.compilerOptions) {
16111611
const outDir = raw.compilerOptions.outDir;
16121612
const declarationDir = raw.compilerOptions.declarationDir;
1613-
const excludeDirs = [outDir, declarationDir].filter(dir => dir);
16141613

1615-
if (excludeDirs.length) {
1616-
excludeSpecs = excludeDirs;
1614+
if (outDir || declarationDir) {
1615+
excludeSpecs = [outDir, declarationDir].filter(d => !!d);
16171616
}
16181617
}
16191618

src/harness/unittests/tsconfigParsing.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,29 @@ namespace ts {
217217
assertParseFileList(tsconfigWithExclude, "tsconfig.json", rootDir, allFiles, allFiles);
218218
});
219219

220+
it("exclude declarationDir unless overridden", () => {
221+
const tsconfigWithoutExclude =
222+
`{
223+
"compilerOptions": {
224+
"declarationDir": "declarations"
225+
}
226+
}`;
227+
const tsconfigWithExclude =
228+
`{
229+
"compilerOptions": {
230+
"declarationDir": "declarations"
231+
},
232+
"exclude": [ "types" ]
233+
}`;
234+
235+
const rootDir = "/";
236+
const allFiles = ["/declarations/a.d.ts", "/a.ts"];
237+
const expectedFiles = ["/a.ts"];
238+
239+
assertParseFileList(tsconfigWithoutExclude, "tsconfig.json", rootDir, allFiles, expectedFiles);
240+
assertParseFileList(tsconfigWithExclude, "tsconfig.json", rootDir, allFiles, allFiles);
241+
});
242+
220243
it("implicitly exclude common package folders", () => {
221244
assertParseFileList(
222245
`{}`,

0 commit comments

Comments
 (0)