UNPKG

vs-deploy

Version:

Commands for deploying files of your workspace to a destination.

1,272 lines 1.94 MB
{ "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