提交 ece9b944 编写于 作者: J Joao Moreno

check extension version existence and semver compatibility

上级 c32e2074
......@@ -150,6 +150,10 @@ export function isValidPluginDescription(extensionFolderPath: string, pluginDesc
notices.push(nls.localize('pluginDescription.name', "property `{0}` is mandatory and must be of type `string`", 'name'));
return false;
}
if (typeof pluginDescription.version !== 'string') {
notices.push(nls.localize('pluginDescription.version', "property `{0}` is mandatory and must be of type `string`", 'version'));
return false;
}
if (!pluginDescription.engines) {
notices.push(nls.localize('pluginDescription.engines', "property `{0}` is mandatory and must be of type `object`", 'engines'));
return false;
......
......@@ -7,8 +7,7 @@
import nls = require('vs/nls');
import {IPluginDescription, IPointListener, IActivationEventListener, IMessage} from 'vs/platform/plugins/common/plugins';
import {isValidPluginDescription as baseIsValidPluginDescription} from 'vs/platform/plugins/common/pluginsRegistry';
import {satisfies} from 'semver';
import * as semver from 'semver';
export interface IParsedVersion {
hasCaret: boolean;
......@@ -210,5 +209,10 @@ export function isValidPluginDescription(version: string, extensionFolderPath: s
return false;
}
if (!semver.valid(pluginDescription.version)) {
notices.push(nls.localize('notSemver', "Extension version is not semver compatible."));
return false;
}
return isValidExtensionVersion(version, pluginDescription, notices);
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册