Skip to content

Commit 6e4369a

Browse files
committed
Fix dependency resolution of builtin extensions
1 parent 75c6276 commit 6e4369a

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

publish-extension.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ const { PublicGalleryAPI } = require('vsce/out/publicgalleryapi');
2525
const { PublishedExtension } = require('azure-devops-node-api/interfaces/GalleryInterfaces');
2626
const { artifactDirectory, registryHost } = require('./lib/constants');
2727

28+
const vscodeBuiltinExtensionsNamespace = "vscode";
29+
const isBuiltIn = (id) => id.split(".")[0] === vscodeBuiltinExtensionsNamespace;
30+
2831
const openGalleryApi = new PublicGalleryAPI(`https://${registryHost}/vscode`, '3.0-preview.1');
2932
openGalleryApi.client['_allowRetries'] = true;
3033
openGalleryApi.client['_maxRetries'] = 5;
@@ -165,15 +168,16 @@ openGalleryApi.post = (url, data, additionalHeaders) =>
165168
}
166169

167170
const { extensionDependencies } = manifest;
171+
const extensionDependenciesNotBuiltin = extensionDependencies.filter(id => !isBuiltIn(id));
168172

169-
if (extensionDependencies) {
170-
const unpublishableDependencies = extensionDependencies.filter(dependency => cannotPublish.includes(dependency));
173+
if (extensionDependenciesNotBuiltin) {
174+
const unpublishableDependencies = extensionDependenciesNotBuiltin.filter(dependency => cannotPublish.includes(dependency));
171175
if (unpublishableDependencies?.length > 0) {
172176
throw new Error(`${id} is dependent on ${unpublishableDependencies.join(", ")}, which ${unpublishableDependencies.length === 1 ? "has" : "have"} to be published to Open VSX first by ${unpublishableDependencies.length === 1 ? "its author because of its license" : "their authors because of their licenses"}.`);
173177
}
174178

175179
const dependenciesNotOnOpenVsx = [];
176-
for (const dependency of extensionDependencies) {
180+
for (const dependency of extensionDependenciesNotBuiltin) {
177181

178182
if (process.env.SKIP_PUBLISH && Object.keys(extensions).find(key => key === dependency)) {
179183
continue;

0 commit comments

Comments
 (0)