plugins_release_vsceiso.js

/**
 * @file plugin/release/vsceiso.js
 * @copyright @spmhome @_2025
 * @author Scott Meesseman @spmeesseman
 *//** */

const WpwIsoReleasePlugin = require("./iso");


/**
 * @augments WpwIsoReleasePlugin
 */
class WpwVsceIsoPlugin extends WpwIsoReleasePlugin
{
	/**
	 * @param {WpwPluginOptions} options Plugin options to be applied
	 */
	constructor(options)
	{
		super({ ...options, isoReleaseType: "vsce" });
        this.buildOptions = /** @type {WpwBuildOptionsPluginConfig<"vsceiso">} */(this.buildOptions);
		if (!this.build.buildConfigs.find((b) => b.options.npmiso?.enabled === true))
		{
			if (!this.buildOptions.removeProperties) {
				this.buildOptions.removeProperties = [ "publishConfig" ];
			}
			else {
				this.buildOptions.removeProperties.push("publishConfig");
			}
		}
	}

	/**
     * @override
     */
	static create = WpwVsceIsoPlugin.wrap.bind(this);
}


module.exports = WpwVsceIsoPlugin.create;