Fix handling of empty 'types', 'typings', etc. fields in package.json (#31539)

This commit is contained in:
Ron Buckton
2019-05-23 17:19:32 -07:00
committed by GitHub
parent bb4080c175
commit dfd28d2751
7 changed files with 92 additions and 1 deletions

View File

@@ -3927,6 +3927,10 @@
"category": "Message",
"code": 6219
},
"'package.json' had a falsy '{0}' field.": {
"category": "Message",
"code": 6220
},
"Projects to reference": {
"category": "Message",

View File

@@ -141,7 +141,15 @@ namespace ts {
function readPackageJsonPathField<K extends "typings" | "types" | "main" | "tsconfig">(jsonContent: PackageJson, fieldName: K, baseDirectory: string, state: ModuleResolutionState): PackageJson[K] | undefined {
const fileName = readPackageJsonField(jsonContent, fieldName, "string", state);
if (fileName === undefined) return;
if (fileName === undefined) {
return;
}
if (!fileName) {
if (state.traceEnabled) {
trace(state.host, Diagnostics.package_json_had_a_falsy_0_field, fieldName);
}
return;
}
const path = normalizePath(combinePaths(baseDirectory, fileName));
if (state.traceEnabled) {
trace(state.host, Diagnostics.package_json_has_0_field_1_that_references_2, fieldName, fileName, path);