Skip to content

Commit 86f8114

Browse files
authored
Revert PR #53301 (#53366)
1 parent d458e30 commit 86f8114

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/compiler/commandLineParser.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
emptyArray,
3030
endsWith,
3131
ensureTrailingDirectorySeparator,
32+
every,
3233
Expression,
3334
extend,
3435
Extension,
@@ -2973,7 +2974,7 @@ function parseJsonConfigFileContentWorker(
29732974
};
29742975

29752976
function getConfigFileSpecs(): ConfigFileSpecs {
2976-
const referencesOfRaw = getPropFromRaw("references", (element): element is ProjectReference => !!element && typeof element === "object", "object");
2977+
const referencesOfRaw = getPropFromRaw<ProjectReference>("references", element => typeof element === "object", "object");
29772978
const filesSpecs = toPropValue(getSpecsFromRaw("files"));
29782979
if (filesSpecs) {
29792980
const hasZeroOrNoReferences = referencesOfRaw === "no-prop" || isArray(referencesOfRaw) && referencesOfRaw.length === 0;
@@ -3048,7 +3049,7 @@ function parseJsonConfigFileContentWorker(
30483049

30493050
function getProjectReferences(basePath: string): readonly ProjectReference[] | undefined {
30503051
let projectReferences: ProjectReference[] | undefined;
3051-
const referencesOfRaw = getPropFromRaw("references", (element): element is ProjectReference => !!element && typeof element === "object", "object");
3052+
const referencesOfRaw = getPropFromRaw<ProjectReference>("references", element => typeof element === "object", "object");
30523053
if (isArray(referencesOfRaw)) {
30533054
for (const ref of referencesOfRaw) {
30543055
if (typeof ref.path !== "string") {
@@ -3076,12 +3077,11 @@ function parseJsonConfigFileContentWorker(
30763077
return getPropFromRaw(prop, isString, "string");
30773078
}
30783079

3079-
function getPropFromRaw<T>(prop: "files" | "include" | "exclude" | "references", validateElement: (value: unknown) => value is T, elementTypeName: string): PropOfRaw<T> {
3080+
function getPropFromRaw<T>(prop: "files" | "include" | "exclude" | "references", validateElement: (value: unknown) => boolean, elementTypeName: string): PropOfRaw<T> {
30803081
if (hasProperty(raw, prop) && !isNullOrUndefined(raw[prop])) {
3081-
const value = raw[prop];
3082-
if (isArray(value)) {
3083-
const result = filter(value, validateElement);
3084-
if (!sourceFile && result.length !== value.length) {
3082+
if (isArray(raw[prop])) {
3083+
const result = raw[prop] as T[];
3084+
if (!sourceFile && !every(result, validateElement)) {
30853085
errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_requires_a_value_of_type_1, prop, elementTypeName));
30863086
}
30873087
return result;

0 commit comments

Comments
 (0)