mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-19 20:37:00 -05:00
Merge pull request #24056 from a-tarasyuk/bug/23891-declarationDir-needs-to-be-handled-in-excludeSpecs
Add declarationDir to excludeSpec
This commit is contained in:
@@ -1607,10 +1607,12 @@ namespace ts {
|
||||
createCompilerDiagnosticOnlyIfJson(Diagnostics.Compiler_option_0_requires_a_value_of_type_1, "exclude", "Array");
|
||||
}
|
||||
}
|
||||
else {
|
||||
const outDir = raw.compilerOptions && raw.compilerOptions.outDir;
|
||||
if (outDir) {
|
||||
excludeSpecs = [outDir];
|
||||
else if (raw.compilerOptions) {
|
||||
const outDir = raw.compilerOptions.outDir;
|
||||
const declarationDir = raw.compilerOptions.declarationDir;
|
||||
|
||||
if (outDir || declarationDir) {
|
||||
excludeSpecs = [outDir, declarationDir].filter(d => !!d);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -217,6 +217,29 @@ namespace ts {
|
||||
assertParseFileList(tsconfigWithExclude, "tsconfig.json", rootDir, allFiles, allFiles);
|
||||
});
|
||||
|
||||
it("exclude declarationDir unless overridden", () => {
|
||||
const tsconfigWithoutExclude =
|
||||
`{
|
||||
"compilerOptions": {
|
||||
"declarationDir": "declarations"
|
||||
}
|
||||
}`;
|
||||
const tsconfigWithExclude =
|
||||
`{
|
||||
"compilerOptions": {
|
||||
"declarationDir": "declarations"
|
||||
},
|
||||
"exclude": [ "types" ]
|
||||
}`;
|
||||
|
||||
const rootDir = "/";
|
||||
const allFiles = ["/declarations/a.d.ts", "/a.ts"];
|
||||
const expectedFiles = ["/a.ts"];
|
||||
|
||||
assertParseFileList(tsconfigWithoutExclude, "tsconfig.json", rootDir, allFiles, expectedFiles);
|
||||
assertParseFileList(tsconfigWithExclude, "tsconfig.json", rootDir, allFiles, allFiles);
|
||||
});
|
||||
|
||||
it("implicitly exclude common package folders", () => {
|
||||
assertParseFileList(
|
||||
`{}`,
|
||||
|
||||
Reference in New Issue
Block a user