mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-15 03:23:08 -06:00
Allow empty files lists in tsconfigs with an extends member (#27383)
This commit is contained in:
parent
5f2741b2ba
commit
7bf382e73f
@ -1895,7 +1895,8 @@ namespace ts {
|
||||
filesSpecs = <ReadonlyArray<string>>raw.files;
|
||||
const hasReferences = hasProperty(raw, "references") && !isNullOrUndefined(raw.references);
|
||||
const hasZeroOrNoReferences = !hasReferences || raw.references.length === 0;
|
||||
if (filesSpecs.length === 0 && hasZeroOrNoReferences) {
|
||||
const hasExtends = hasProperty(raw, "extends");
|
||||
if (filesSpecs.length === 0 && hasZeroOrNoReferences && !hasExtends) {
|
||||
if (sourceFile) {
|
||||
const fileName = configFileName || "tsconfig.json";
|
||||
const diagnosticMessage = Diagnostics.The_files_list_in_config_file_0_is_empty;
|
||||
|
||||
@ -96,6 +96,11 @@ namespace ts {
|
||||
include: null,
|
||||
files: ["../main.ts"]
|
||||
}),
|
||||
"dev/configs/fifth.json": JSON.stringify({
|
||||
extends: "./fourth",
|
||||
include: ["../tests/utils.ts"],
|
||||
files: []
|
||||
}),
|
||||
"dev/extends.json": JSON.stringify({ extends: 42 }),
|
||||
"dev/extends2.json": JSON.stringify({ extends: "configs/base" }),
|
||||
"dev/main.ts": "",
|
||||
@ -245,6 +250,15 @@ namespace ts {
|
||||
combinePaths(basePath, "main.ts")
|
||||
]);
|
||||
|
||||
testSuccess("can overwrite top-level files using extended []", "configs/fifth.json", {
|
||||
allowJs: true,
|
||||
noImplicitAny: true,
|
||||
strictNullChecks: true,
|
||||
module: ModuleKind.System
|
||||
}, [
|
||||
combinePaths(basePath, "tests/utils.ts")
|
||||
]);
|
||||
|
||||
it("adds extendedSourceFiles only once", () => {
|
||||
const sourceFile = readJsonConfigFile("configs/fourth.json", (path) => host.readFile(path));
|
||||
const dir = combinePaths(basePath, "configs");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user