protected setCommandArgs()

in app/exec/extension/default.ts [67:183]


	protected setCommandArgs(): void {
		super.setCommandArgs();
		this.registerCommandArgument(
			"extensionId",
			"Extension ID",
			"Use this as the extension ID instead of what is specified in the manifest.",
			args.StringArgument,
		);
		this.registerCommandArgument(
			"publisher",
			"Publisher name",
			"Use this as the publisher ID instead of what is specified in the manifest.",
			args.StringArgument,
		);
		this.registerCommandArgument(
			"manifestJs",
			"Manifest JS file",
			"A manifest in the form of a JS file with an exported function that can be called by node and will return the manifest JSON object.",
			args.ReadableFilePathsArgument,
			null,
		);
		this.registerCommandArgument(
			"env",
			"Manifest JS environment",
			"Environment variables passed to the Manifest JS function.",
			args.ArrayArgument,
			null,
		);
		this.registerCommandArgument(
			"manifests",
			"Manifests",
			"List of individual manifest files (space separated).",
			args.ArrayArgument,
			"vss-extension.json",
		);
		this.registerCommandArgument(
			"manifestGlobs",
			"Manifest globs",
			"List of globs to find manifests (space separated).",
			args.ArrayArgument,
			null,
		);
		this.registerCommandArgument(
			"json5",
			"Extended JSON",
			"Support extended JSON (aka JSON 5) for comments, unquoted strings, dangling commas, etc.",
			args.BooleanArgument,
			"false"
		);
		this.registerCommandArgument("outputPath", "Output path", "Path to write the VSIX.", args.StringArgument, "{auto}");
		this.registerCommandArgument(
			"override",
			"Overrides JSON",
			"JSON string which is merged into the manifests, overriding any values.",
			ManifestJsonArgument,
			"{}",
		);
		this.registerCommandArgument(
			"overridesFile",
			"Overrides JSON file",
			"Path to a JSON file with overrides. This partial manifest will always take precedence over any values in the manifests.",
			args.ReadableFilePathsArgument,
			null,
		);
		this.registerCommandArgument(
			"shareWith",
			"Share with",
			"List of Azure DevOps organization(s) with which to share the extension (space separated).",
			args.ArrayArgument, 
			null,
		);
		this.registerCommandArgument(
			"unshareWith",
			"Un-share with",
			"List of Azure DevOps organization(s) with which to un-share the extension (space separated).",
			args.ArrayArgument,
			null,
		);
		this.registerCommandArgument(
			"vsix",
			"VSIX path",
			"Path to an existing VSIX (to publish or query for).",
			args.ReadableFilePathsArgument,
		);
		this.registerCommandArgument("bypassValidation", "Bypass local validation", null, args.BooleanArgument, "false");
		this.registerCommandArgument(
			"locRoot",
			"Localization root",
			"Root of localization hierarchy (see README for more info).",
			args.ExistingDirectoriesArgument,
			null,
		);
		this.registerCommandArgument("displayName", "Display name", null, args.StringArgument);
		this.registerCommandArgument("description", "Description", "Description of the Publisher.", args.StringArgument);
		this.registerCommandArgument(
			"revVersion",
			"Rev version",
			"Rev the patch-version of the extension and save the result.",
			args.BooleanArgument,
			"false",
		);
		this.registerCommandArgument(
			"noWaitValidation",
			"Wait for validation?",
			"Don't block command for extension validation.",
			args.BooleanArgument,
			"false",
		);
		this.registerCommandArgument(
			"metadataOnly",
			"Metadata only",
			"Only copy metadata to the path specified and do not package the extension",
			args.BooleanArgument,
			"false",
			true, // undocumented
		);
	}