diff --git a/src/api.ts b/src/api.ts index 2813b930..7a8f419c 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,4 +1,4 @@ -import { publish as _publish, IPublishOptions } from './publish'; +import { publish as _publish, IPublishOptions, unpublish as _unpublish, IUnpublishOptions } from './publish'; import { packageCommand, listFiles as _listFiles, IPackageOptions } from './package'; /** @@ -106,3 +106,17 @@ export function publishVSIX(packagePath: string | string[], options: IPublishVSI ...{ target: undefined }, }); } + +/** + * Options for the `unpublishVSIX` function. + * @public + */ +export type IUnpublishVSIXOptions = IPublishOptions & Pick; + +/** + * Deletes a specific extension from the marketplace. + * @public + */ +export function unpublishVSIX(options: IUnpublishVSIXOptions = {}): Promise { + return _unpublish({ force: true, ...options }); +} \ No newline at end of file diff --git a/src/publish.ts b/src/publish.ts index 0810112e..1186eb87 100644 --- a/src/publish.ts +++ b/src/publish.ts @@ -294,6 +294,10 @@ async function _publishSignedPackage(api: GalleryApi, packageName: string, packa }); } +/** + * Options for the `unpublish` function. + * @public + */ export interface IUnpublishOptions extends IPublishOptions { id?: string; force?: boolean;