improve package.json parsing performance. Fixes #18218

This commit is contained in:
Martin Aeschlimann
2017-01-07 14:46:45 -04:00
parent c4440c4612
commit 3a67f92f5b

View File

@@ -84,15 +84,11 @@ class ExtensionManifestParser extends ExtensionManifestHandler {
public parse(): TPromise<IExtensionDescription> {
return pfs.readFile(this._absoluteManifestPath).then((manifestContents) => {
let errors: json.ParseError[] = [];
const extensionDescription = json.parse(manifestContents.toString(), errors);
if (errors.length > 0) {
errors.forEach((error) => {
this._collector.error(this._absoluteFolderPath, nls.localize('jsonParseFail', "Failed to parse {0}: {1}.", this._absoluteManifestPath, json.getParseErrorMessage(error.error)));
});
return null;
try {
return JSON.parse(manifestContents.toString());
} catch (e) {
this._collector.error(this._absoluteFolderPath, nls.localize('jsonParseFail', "Failed to parse {0}: {1}.", this._absoluteManifestPath, json.getParseErrorMessage(e.message)));
}
return extensionDescription;
}, (err) => {
if (err.code === 'ENOENT') {
return null;