vs-deploy
Version:
Commands for deploying files of your workspace to a destination.
1,272 lines • 1.94 MB
JSON
{
"name": "vs-deploy",
"displayName": "Deploy",
"description": "Commands for deploying files of your workspace to a destination.",
"version": "13.0.0",
"publisher": "mkloubert",
"engines": {
"vscode": "^1.19.0"
},
"license": "MIT",
"categories": [
"Other"
],
"keywords": [
"Deploy",
"Workspace",
"Files",
"SFTP",
"Cloud"
],
"activationEvents": [
"*"
],
"main": "./out/src/extension",
"contributes": {
"menus": {
"editor/title": [
{
"command": "extension.deploy.compareFiles",
"group": "deploy"
},
{
"command": "extension.deploy.file",
"group": "deploy"
},
{
"command": "extension.deploy.pullFile",
"group": "deploy"
}
],
"editor/context": [
{
"command": "extension.deploy.compareFiles",
"group": "deploy"
},
{
"command": "extension.deploy.file",
"group": "deploy"
},
{
"command": "extension.deploy.pullFile",
"group": "deploy"
}
],
"explorer/context": [
{
"command": "extension.deploy.compareFiles",
"group": "deploy"
},
{
"command": "extension.deploy.file",
"group": "deploy"
},
{
"command": "extension.deploy.pullFile",
"group": "deploy"
}
]
},
"commands": [
{
"command": "extension.deploy",
"title": "Deploy workspace",
"category": "Deploy"
},
{
"command": "extension.deploy.compareFiles",
"title": "Compare files",
"category": "Deploy"
},
{
"command": "extension.deploy.file",
"title": "Deploy current file / folder",
"category": "Deploy"
},
{
"command": "extension.deploy.listen",
"title": "Start/stop listening for remote files",
"category": "Deploy"
},
{
"command": "extension.deploy.openTemplate",
"title": "Open example / template",
"category": "Deploy"
},
{
"command": "extension.deploy.pullFile",
"title": "Pull current file / folder",
"category": "Deploy"
},
{
"command": "extension.deploy.pullWorkspace",
"title": "Pull workspace",
"category": "Deploy"
},
{
"command": "extension.deploy.selectWorkspace",
"title": "Select workspace",
"category": "Deploy"
},
{
"command": "extension.deploy.changeSwitch",
"title": "Change switch",
"category": "Deploy"
}
],
"keybindings": [
{
"command": "extension.deploy",
"key": "ctrl+alt+w",
"mac": "cmd+alt+w"
},
{
"command": "extension.deploy.compareFiles",
"key": "ctrl+alt+p c",
"mac": "cmd+alt+p c"
},
{
"command": "extension.deploy.file",
"key": "ctrl+alt+f",
"mac": "cmd+alt+f"
},
{
"command": "extension.deploy.listen",
"key": "ctrl+alt+l",
"mac": "cmd+alt+l"
},
{
"command": "extension.deploy.pullFile",
"key": "ctrl+alt+p f",
"mac": "cmd+alt+p f"
},
{
"command": "extension.deploy.pullWorkspace",
"key": "ctrl+alt+p w",
"mac": "cmd+alt+p w"
}
],
"configuration": {
"properties": {
"deploy": {
"type": "object",
"scope": "resource",
"properties": {
"alwaysShowPackageList": {
"type": "boolean",
"description": "Indicates if package list is shown, even if there is only one entry.",
"default": false
},
"alwaysShowTargetList": {
"type": "boolean",
"description": "Indicates if target list is shown, even if there is only one entry.",
"default": false
},
"alwaysSyncIfNewer": {
"type": "boolean",
"description": "Always synchronize a local file with a newer one when using 'sync when open' in a package.",
"default": false
},
"autoSelectWorkspace": {
"type": "boolean",
"description": "Select the workspace by active text editor automatically or not.",
"default": false
},
"button": {
"type": "object",
"description": "Settings for the 'quick deploy button' in the status bar.",
"properties": {
"enabled": {
"type": "boolean",
"description": "Inidciates if button should be enabled / visible or not.",
"default": false
},
"packages": {
"description": "A list of one or more packages to deploy.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"text": {
"type": "string",
"description": "A custom text for the button.",
"default": "Quick deploy!"
}
}
},
"clearOutputOnStartup": {
"type": "boolean",
"description": "Clear output on startup or not.",
"default": false
},
"commands": {
"description": "A list of one or more script based commands to register.",
"oneOf": [
{
"type": "object",
"description": "The command to register.",
"properties": {
"button": {
"type": "object",
"description": "Settings for optional button in the status bar.",
"properties": {
"color": {
"type": "string",
"description": "The custom (text) color for the button.",
"default": "#ffffff"
},
"isRight": {
"type": "boolean",
"description": "Set button on the right side or not.",
"default": false
},
"priority": {
"type": "number",
"description": "The custom priority.",
"default": 0
},
"show": {
"type": "boolean",
"description": "Show button on startup or not.",
"default": true
},
"text": {
"type": "string",
"description": "The caption for the button."
},
"tooltip": {
"type": "string",
"description": "The tooltip for the button."
}
}
},
"command": {
"type": "string",
"description": "The ID of the command."
},
"options": {
"description": "Optional data for the execution."
},
"script": {
"type": "string",
"description": "The path to the script that is run when command is executed.",
"default": "./my-command.js"
},
"commandState": {
"description": "The initial value for 'commandState' property.",
"default": {}
}
},
"required": [
"command",
"script"
]
},
{
"type": "array",
"description": "The list of commands to register.",
"items": {
"type": "object",
"description": "The command to register.",
"properties": {
"button": {
"type": "object",
"properties": {
"color": {
"type": "string",
"description": "The custom (text) color for the button.",
"default": "#ffffff"
},
"isRight": {
"type": "boolean",
"description": "Set button on the right side or not.",
"default": false
},
"priority": {
"type": "number",
"description": "The custom priority.",
"default": 0
},
"show": {
"type": "boolean",
"description": "Show button on startup or not.",
"default": true
},
"text": {
"type": "string",
"description": "The caption for the button."
},
"tooltip": {
"type": "string",
"description": "The tooltip for the button."
}
}
},
"command": {
"type": "string",
"description": "The ID of the command."
},
"options": {
"description": "Optional data for the execution."
},
"script": {
"type": "string",
"description": "The path to the script that is run when command is executed.",
"default": "./my-command.js"
}
}
}
}
]
},
"deployOnChange": {
"type": "boolean",
"description": "Activate or deactivate 'deploy on change' for all packages.",
"default": true
},
"deployOnSave": {
"type": "boolean",
"description": "Activate or deactivate 'deploy on save' for all packages.",
"default": true
},
"disableNewVersionPopups": {
"type": "boolean",
"description": "Clear output on startup or not.",
"default": false
},
"displayLoadedPlugins": {
"type": "boolean",
"description": "Display loaded plugins in output window or not.",
"default": true
},
"displayNetworkInfo": {
"type": "boolean",
"description": "Display network information in output window or not.",
"default": true
},
"env": {
"description": "Settings for the environment of the current process.",
"type": "object",
"properties": {
"importVarsAsPlaceholders": {
"description": "Automatically import environment variables as placesholders / values or not.",
"type": "boolean",
"default": false
},
"noPlaceholdersForTheseVars": {
"description": "A list of variables that should NOT use placeholders.",
"oneOf": [
{
"description": "The name of the variable that should NOT use placeholders / values.",
"type": "string"
},
{
"type": "array",
"description": "The list of variables that should NOT use placeholders / values.",
"items": {
"description": "The name of the variable that should NOT use placeholders / values.",
"type": "string"
}
},
{
"description": "Defines if placeholders should be DEactivated for ALL variables or not.",
"type": "boolean"
}
]
},
"vars": {
"description": "One or more variable for the process to define.",
"patternProperties": {
".*": {
"description": "The variable to define."
}
}
}
}
},
"events": {
"description": "One or more global events.",
"type": "array",
"items": {
"description": "An event entry.",
"type": "object",
"properties": {
"description": {
"description": "A description for that event.",
"type": "string"
},
"if": {
"description": "A list of one or more conditions (as JavaScript code) that defines if entry is available or not.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"isFor": {
"description": "A list of one or more (host)names that entry is available for.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"name": {
"description": "The name of the event.",
"type": "string"
},
"once": {
"description": "Execute once or not.",
"type": "boolean",
"default": false
},
"options": {
"description": "Options / data for the execution."
},
"platforms": {
"oneOf": [
{
"type": "string",
"description": "The name of the platform the entry is for."
},
{
"type": "array",
"description": "One or more platform names the entry is for.",
"items": {
"type": "string",
"description": "The name of platform the entry is for."
}
}
]
},
"script": {
"description": "The path to the underlying script.",
"type": "string",
"default": "./my-event.js"
},
"sortOrder": {
"description": "The sort order(s).",
"oneOf": [
{
"type": "number"
},
{
"type": "object"
}
],
"default": 0
},
"state": {
"description": "The initial value for the state."
}
},
"required": [
"name",
"script"
]
}
},
"fastCheckForIgnores": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for the list of ignored files.",
"default": true
},
"fastCheckOnChange": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for 'deploy on change' for packages by default or not.",
"default": false
},
"fastCheckOnSave": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for 'deploy on save' for packages by default or not.",
"default": false
},
"fastCheckOnSync": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for 'sync when open' for packages by default or not.",
"default": false
},
"globals": {
"type": "object",
"description": "A list of variables that can be accessed globally (from scripts, e.g.)."
},
"hideDeployResultInStatusBarAfter": {
"type": "number",
"description": "The time in seconds the result item in the status bar should disapear."
},
"host": {
"type": "object",
"description": "Options for 'host mode'.",
"properties": {
"autoStart": {
"type": "boolean",
"description": "Run on startup or not.",
"default": false
},
"dir": {
"type": "string",
"description": "The directory where incoming files should be stored.",
"default": "./"
},
"maxMessageSize": {
"type": "integer",
"description": "Maximum size of one remote file message.",
"default": 16777215,
"minimum": 1
},
"messageTransformer": {
"type": "string",
"description": "The optional path to the script that transforms the data of a whole message AFTER it has been received.",
"default": "./my-remote-transformer.js"
},
"messageTransformerOptions": {
"description": "The data for the 'message data transformation', if needed."
},
"password": {
"type": "string",
"description": "An optional password to use."
},
"passwordAlgorithm": {
"type": "string",
"description": "The algorithm for the password to use.",
"default": "aes-256-ctr"
},
"port": {
"type": "integer",
"description": "The TCP port the host should be listen on.",
"default": 23979,
"minimum": 0,
"maximum": 65535
},
"showPopupOnSuccess": {
"type": "boolean",
"description": "Show popup if host has been started or stopped successfully.",
"default": true
},
"transformer": {
"type": "string",
"description": "The optional path to the script that transforms the data of a file AFTER it has been received.",
"default": "./my-remote-transformer.js"
},
"transformerOptions": {
"description": "The data for the 'file data transformation', if needed."
},
"validator": {
"type": "string",
"description": "The optional path to the script that validates received files.",
"default": "./my-remote-file-validator.js"
},
"validatorOptions": {
"description": "The data for the 'validator', if needed."
}
}
},
"ignore": {
"oneOf": [
{
"description": "The pattern of files that should be ignored even if a deploy is started for them.",
"type": "string"
},
{
"description": "One or more pattern of files that should be ignored even if a deploy is started for them.",
"type": "array",
"items": {
"description": "The pattern of files that should be ignored even if a deploy is started for them.",
"type": "string"
}
}
]
},
"imports": {
"description": "One or more settings to import.",
"oneOf": [
{
"description": "The path to the import file.",
"type": "string"
},
{
"description": "One or more import entries.",
"type": "array",
"items": {
"oneOf": [
{
"description": "The path to the import file.",
"type": "string"
},
{
"description": "The import file / entry.",
"type": "object",
"properties": {
"description": {
"description": "An optional description for the entry.",
"type": "string"
},
"if": {
"description": "A list of one or more conditions (as JavaScript code) that defines if entry is available or not.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"isFor": {
"description": "A list of one or more (host)names that entry is available for.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"merge": {
"type": "boolean",
"description": "Merge with parent settings or not.",
"default": true
},
"platforms": {
"oneOf": [
{
"type": "string",
"description": "The name of the platform the entry is for."
},
{
"type": "array",
"description": "One or more platform names the entry is for.",
"items": {
"type": "string",
"description": "The name of platform the entry is for."
}
}
]
},
"sortOrder": {
"description": "The sort order(s).",
"oneOf": [
{
"type": "number"
},
{
"type": "object"
}
],
"default": 0
}
}
}
]
}
}
]
},
"language": {
"type": "string",
"description": "The ID of the (display) language to use.",
"default": "en"
},
"name": {
"type": "string",
"description": "A custom machine name."
},
"open": {
"description": "A list of files to open on startup.",
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"closeOthers": {
"type": "boolean",
"description": "Close other opened files or not.",
"default": false
},
"exclude": {
"description": "A list of one or more glob patterns of files that should be execluded from opening.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"files": {
"description": "A list of one or more glob patterns of files that should be opened.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"if": {
"description": "A list of one or more conditions (as JavaScript code) that defines if file(s) should be opened or not.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"isFor": {
"description": "A list of one or more (host)names that filter is for.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"useGitIgnoreStylePatterns": {
"type": "boolean",
"description": "Also check directory patterns, like in '.gitignore' files, or not.",
"default": true
}
}
}
}
]
},
"openOutputOnDeploy": {
"type": "boolean",
"description": "Open the output window before deploying starts or not.",
"default": true
},
"openOutputOnStartup": {
"type": "boolean",
"description": "Open the output window on after settings have been (re)loaded or not.",
"default": false
},
"packages": {
"type": "array",
"description": "One or more packages that describe what files of the workspace should be deployed.",
"items": {
"type": "object",
"properties": {
"button": {
"description": "Defines a button that should be shown in the status bar for that package.",
"oneOf": [
{
"description": "Enable a button or not.",
"type": "boolean"
},
{
"description": "The button that should be shown in the status bar.",
"type": "object",
"properties": {
"command": {
"description": "The custom ID for the underlying command.",
"type": "string"
},
"enabled": {
"description": "Enable button or not.",
"type": "boolean",
"default": true
},
"isRight": {
"description": "Put button on the right side or not.",
"type": "boolean",
"default": false
},
"priority": {
"description": "The priority.",
"type": "number"
},
"targets": {
"description": "The targets to deploy to.",
"oneOf": [
{
"description": "The name of the target to deploy to.",
"type": "string"
},
{
"description": "The names of the targets to deploy to.",
"type": "array",
"items": {
"description": "The name of the target to deploy to.",
"type": "string"
}
}
]
},
"text": {
"description": "A custom text for the button.",
"type": "string"
},
"tooltip": {
"description": "A custom tooltip for the button.",
"type": "string"
}
}
}
]
},
"deployOnChange": {
"description": "One or more files to deploy if they change. (true) indicates to deploy to the targets of 'deployOnSave'.",
"default": false,
"oneOf": [
{
"type": "boolean"
},
{
"type": "object",
"properties": {
"exclude": {
"description": "A list of one or more glob patterns of files that should be execluded from deployment.",
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"description": "A list of one or more glob patterns of files that should be deployed. By default ALL files will be deployed.",
"type": "array",
"items": {
"type": "string"
}
},
"useTargetList": {
"type": "boolean",
"description": "Use 'targets' property of this package instead, otherwise use the settings 'deployOnSave'.",
"default": false
},
"useGitIgnoreStylePatterns": {
"type": "boolean",
"description": "Also check directory patterns, like in '.gitignore' files, or not.",
"default": true
}
}
}
]
},
"deployOnSave": {
"description": "One or more name of targets to deploy to. (true) indicates to deploy to ALL targets.",
"default": false,
"oneOf": [
{
"type": "boolean"
},
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"description": {
"type": "string",
"description": "A description for the package."
},
"detail": {
"type": "string",
"description": "Additional information that should be shown in the GUI, e.g."
},
"exclude": {
"description": "A list of one or more glob patterns of files that should be execluded from deployment.",
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"description": "A list of one or more glob patterns of files that should be deployed. By default ALL files will be deployed.",
"type": "array",
"items": {
"type": "string"
}
},
"if": {
"description": "A list of one or more conditions (as JavaScript code) that defines if package is available or not.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"loadFrom": {
"type": "string",
"description": "The path to the JSON file from where to import data."
},
"name": {
"type": "string",
"description": "The name of the package."
},
"noNodeModules": {
"type": "boolean",
"description": "Exclude 'node_modules' directory by default or not.",
"default": false
},
"platforms": {
"oneOf": [
{
"type": "string",
"description": "The name of the platform the package is for."
},
{
"type": "array",
"description": "One or more platform names the package is for.",
"items": {
"type": "string",
"description": "The name of platform the package is for."
}
}
]
},
"sortOrder": {
"description": "The sort order(s).",
"oneOf": [
{
"type": "number"
},
{
"type": "object"
}
],
"default": 0
},
"isFor": {
"description": "A list of one or more (host)names that package is visible for.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"isHidden": {
"type": "boolean",
"description": "Hide package in GUI or not.",
"default": false
},
"targets": {
"description": "One or more explicit targets to deploy to.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"useTargetListForDeployOnSave": {
"type": "boolean",
"description": "Use 'targets' property of this package instead, if its 'deployOnSave' property is set to (true).",
"default": false
},
"fastCheckOnChange": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for 'deploy on change' for this packages or not.",
"default": false
},
"fastCheckOnSave": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for 'deploy on save' for this package or not.",
"default": false
},
"fastCheckOnSync": {
"type": "boolean",
"description": "Indicates if a 'fast' file check should be used for 'sync when open' for this package or not.",
"default": false
},
"applyValuesTo": {
"description": "A list of property names and their values that should be applied to that package.",
"type": "object",
"patternProperties": {
".*": {
"description": "The value (with optional placeholders) that should be applied to the property.",
"type": "string"
}
}
},
"useGitIgnoreStylePatterns": {
"type": "boolean",
"description": "Also check directory patterns, like in '.gitignore' files, in that package or not.",
"default": true
},
"showForDeploy": {
"type": "boolean",
"description": "Show this package for deploying in GUI or not.",
"default": true
},
"showForPull": {
"type": "boolean",
"description": "Show this package for pulling in GUI or not.",
"default": true
},
"inheritFrom": {
"description": "One or more package name from where to inherit settings from.",
"oneOf": [
{
"type": "string",
"description": "The package name from where to inherit settings from."
},
{
"type": "array",
"items": {
"type": "string",
"description": "A package name from where to inherit settings from."
}
}
]
},
"syncWhenOpen": {
"description": "Synchronizes local files with remote ones when opening it.",
"oneOf": [
{
"description": "Synchronizes all files of that package with remote ones when opening it or not.",
"type": "boolean",
"default": false
},
{
"type": "string",
"description": "The target from where to sync."
},
{
"type": "object",
"properties": {
"exclude": {
"description": "A list of one or more glob patterns of files that should be execluded from sync.",
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"description": "A list of one or more glob patterns of files that should be synced. By default ALL files will be synced.",
"type": "array",
"items": {
"type": "string"
}
},
"target": {
"type": "string",
"description": "The target from where to sync."
},
"useGitIgnoreStylePatterns": {
"type": "boolean",
"description": "Also check directory patterns, like in '.gitignore' files, or not.",
"default": true
}
}
}
]
},
"useWorkspaceStartTimeForSyncWhenOpen": {
"type": "boolean",
"description": "Use workspace start time for 'sync when open' for that package or not.",
"default": false
},
"alwaysSyncIfNewer": {
"type": "boolean",
"description": "Always synchronize a local file with a newer one when using 'sync when open' in that package.",
"default": false
}
}
}
},
"runBuildTaskOnStartup": {
"description": "Indicates if build task should be run on startup or not.",
"oneOf": [
{
"type": "boolean",
"description": "Indicates if build task should be run on startup or not.",
"default": false
},
{
"type": "integer",
"description": "Defines the number of milliseconds to wait before the build task is run.",
"minimum": 0
}
]
},
"runGitPullOnStartup": {
"description": "Indicates if Git pull should be run on startup or not.",
"oneOf": [
{
"type": "boolean",
"description": "Indicates if Git pull should be run on startup or not.",
"default": false
},
{
"type": "integer",
"description": "Defines the number of milliseconds to wait before the Git sync is run.",
"minimum": 0
}
]
},
"showDeployResultInStatusBar": {
"type": "boolean",
"description": "Show an item in the status bar after deployment or not.",
"default": false
},
"showPopupOnSuccess": {
"type": "boolean",
"description": "Indicates if an info popup / notification should be displayed after a successful deployment or not.",
"default": true
},
"showWarningIfIgnored": {
"type": "boolean",
"description": "Show a warning message if a (single) file has been ignored.",
"default": true
},
"showWarningsForNonExistingTargets": {
"type": "boolean",
"description": "Indicates if a warning popup / notification should be displayed if targets do not exist.",
"default": false
},
"startApi": {
"type": "boolean",
"description": "Starts the REST API or not (s. https://github.com/mkloubert/vs-rest-api).",
"default": false
},
"startCronJobs": {
"type": "boolean",
"description": "Starts the cron jobs or not (s. https://github.com/mkloubert/vs-cron).",
"default": false
},
"startupCommands": {
"description": "A list of one or more Visual Studio Commands that should be run on startup.",
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"arguments": {
"type": "array",
"description": "Arguments for the execution."
},
"command": {
"type": "string",
"description": "The ID of the command."
}
},
"required": [
"command"
]
},
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"arguments": {
"type": "array",
"description": "Arguments for the execution."
},
"command": {
"type": "string",
"description": "The ID of the command."
}
},
"required": [
"command"
]
}
]
}
}
]
},
"syncWhenOpen": {
"type": "boolean",
"description": "Activate or deactivate 'sync when open' for all packages.",
"default": true
},
"targets": {
"type": "array",
"description": "One or more targets that describe where files can be deployed to.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"enum": [
"api"
],
"type": "string",
"description": "Deploys to a REST API that is compatible to 'vs-rest-api'."
},
"host": {
"type": "string",
"description": "The host to deploy to.",
"default": "127.0.0.1"
},
"isSecure": {
"typ