microsoft/vscode-vsce

Support both delete and unpublish extension

sathaker opened this issue · 7 comments

Hi Team,

I am Samveg from the VS Marketplace team at Microsoft. Currently, the Unpublish feature marks an extension as Unpublished but resides in the marketplace portal and can be republished by the extension owner, i.e, publisher as and when required. But, as found in the VSCE, unpublish command removes/deletes the extension from the portal all together.

Can we make it consistent with the marketplace portal? Link to VS Marketplace can be found here.

Hi Samveg, thanks for creating this issue.

@joaomoreno Samveg also sent me an email and if I understood correctly: vsce unpublish sends an unpublish request to the marketplace. Can it instead send a delete request so we are aligned with MP site?

I am not sure on the MP request naming terminology here. @sathaker maybe you can clarify that. What request is currently sent, and what request would you like vsce to send instead.

Actually vsce is currently sending a Delete request to marketplace. We wish for it to send an Unpublish request. The way to do that is to send an updateExtensionProperties that can be found on line number 59 here with the appropriate flags.

I started working on this here: https://github.com/microsoft/vscode-vsce/tree/delete-unpublish

But no matter what I do, I keep getting HTTP 401, whenever updating the extension's properties to include the Unpublished property:

https://github.com/microsoft/vscode-vsce/blob/delete-unpublish/src/publish.ts#L159

@sathaker Any thoughts?

Sorry for the delay, missed the email notification. In which environment are you trying this?

Prod.

I was looking for an option to unpublish a bad release (version) but apparently the vsce cli only allows unpublishing an entire extension.

Any way to use the cli to delete/hide/unpublish a specific version? I guess that is caused by #235

This is something we are exploring; I do not have any update to share right now.
If you have more to discuss my calendar is open :) You can put some time on it here