diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts index 87923dc1cb0..87a9288104d 100644 --- a/src/vs/platform/extensions/common/extensionValidator.ts +++ b/src/vs/platform/extensions/common/extensionValidator.ts @@ -361,14 +361,11 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: any): b const incompatibleProposals: string[] = []; const parsedProposals = parseApiProposals(apiProposals); for (const { proposalName, version } of parsedProposals) { - const existingProposal = productApiProposals[proposalName]; - if (!existingProposal) { - continue; - } if (!version) { continue; } - if (existingProposal.version !== version) { + const existingProposal = productApiProposals[proposalName]; + if (existingProposal?.version !== version) { incompatibleProposals.push(proposalName); } } diff --git a/src/vs/platform/extensions/test/common/extensionValidator.test.ts b/src/vs/platform/extensions/test/common/extensionValidator.test.ts index 82c3cf0bf8a..3b42e5fc06b 100644 --- a/src/vs/platform/extensions/test/common/extensionValidator.test.ts +++ b/src/vs/platform/extensions/test/common/extensionValidator.test.ts @@ -436,6 +436,7 @@ suite('Extension Version Validator', () => { assert.strictEqual(areApiProposalsCompatible(['proposal1', 'proposal2'], {}), true); assert.strictEqual(areApiProposalsCompatible(['proposal1', 'proposal2'], { 'proposal1': { proposal: '' } }), true); + assert.strictEqual(areApiProposalsCompatible(['proposal2@1'], { 'proposal1': { proposal: '' } }), false); assert.strictEqual(areApiProposalsCompatible(['proposal1@1'], { 'proposal1': { proposal: '', version: 2 } }), false); assert.strictEqual(areApiProposalsCompatible(['proposal1@1'], { 'proposal1': { proposal: '' } }), false); });