mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-30 10:29:18 -05:00
Use empty object for invalid package json contents instead of undefined (#34906)
* Use empty object for invalid package json contents instead of undefined Fixes #34726 * Behave as if package json doesnt exist in case of invalid json in package json
This commit is contained in:
@@ -2210,7 +2210,7 @@ namespace ts {
|
||||
return packageJsons;
|
||||
}
|
||||
|
||||
export function createPackageJsonInfo(fileName: string, host: LanguageServiceHost): PackageJsonInfo | undefined {
|
||||
export function createPackageJsonInfo(fileName: string, host: LanguageServiceHost): PackageJsonInfo | false | undefined {
|
||||
if (!host.readFile) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -2218,11 +2218,10 @@ namespace ts {
|
||||
type PackageJsonRaw = Record<typeof dependencyKeys[number], Record<string, string> | undefined>;
|
||||
const dependencyKeys = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"] as const;
|
||||
const stringContent = host.readFile(fileName);
|
||||
const content = stringContent && tryParseJson(stringContent) as PackageJsonRaw;
|
||||
if (!content) {
|
||||
return undefined;
|
||||
}
|
||||
if (!stringContent) return undefined;
|
||||
|
||||
const content = tryParseJson(stringContent) as PackageJsonRaw;
|
||||
if (!content) return false;
|
||||
const info: Pick<PackageJsonInfo, typeof dependencyKeys[number]> = {};
|
||||
for (const key of dependencyKeys) {
|
||||
const dependencies = content[key];
|
||||
|
||||
Reference in New Issue
Block a user