diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 8eb5f73b1a9..a1e33f00d8f 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -3684,6 +3684,10 @@ "category": "Message", "code": 6208 }, + "'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range.": { + "category": "Message", + "code": 6209 + }, "Projects to reference": { "category": "Message", diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 0c2d35f19a8..bae4dbfa430 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -165,6 +165,14 @@ namespace ts { const typesVersions = readPackageJsonTypesVersionsField(jsonContent, state); if (typesVersions === undefined) return; + if (state.traceEnabled) { + for (const key in typesVersions) { + if (hasProperty(typesVersions, key) && !VersionRange.tryParse(key)) { + trace(state.host, Diagnostics.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range, key); + } + } + } + const result = getPackageJsonTypesVersionsPaths(typesVersions); if (!result) { if (state.traceEnabled) {