432 lines
14 KiB
JSON
432 lines
14 KiB
JSON
{
|
|
"name": "coder-remote",
|
|
"displayName": "Coder",
|
|
"version": "1.11.6",
|
|
"description": "Open any workspace with a single click.",
|
|
"categories": [
|
|
"Other"
|
|
],
|
|
"bugs": {
|
|
"url": "https://github.com/coder/vscode-coder/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/coder/vscode-coder"
|
|
},
|
|
"license": "MIT",
|
|
"publisher": "coder",
|
|
"type": "commonjs",
|
|
"main": "./dist/extension.js",
|
|
"scripts": {
|
|
"build": "webpack",
|
|
"fmt": "prettier --write .",
|
|
"lint": "eslint . --ext ts,md,json",
|
|
"lint:fix": "yarn lint --fix",
|
|
"package": "webpack --mode production --devtool hidden-source-map",
|
|
"package:prerelease": "npx vsce package --pre-release",
|
|
"pretest": "tsc -p . --outDir out && tsc -p test --outDir out && yarn run build && yarn run lint",
|
|
"test": "ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs",
|
|
"test:ci": "CI=true yarn test",
|
|
"test:integration": "vscode-test",
|
|
"vscode:prepublish": "yarn package",
|
|
"watch": "webpack --watch"
|
|
},
|
|
"contributes": {
|
|
"configuration": {
|
|
"title": "Coder",
|
|
"properties": {
|
|
"coder.sshConfig": {
|
|
"markdownDescription": "These values will be included in the ssh config file. Eg: `'ConnectTimeout=10'` will set the timeout to 10 seconds. Any values included here will override anything provided by default or by the deployment. To unset a value that is written by default, set the value to the empty string, Eg: `'ConnectTimeout='` will unset it.",
|
|
"type": "array",
|
|
"items": {
|
|
"title": "SSH Config Value",
|
|
"type": "string",
|
|
"pattern": "^[a-zA-Z0-9-]+[=\\s].*$"
|
|
},
|
|
"scope": "machine"
|
|
},
|
|
"coder.insecure": {
|
|
"markdownDescription": "If true, the extension will not verify the authenticity of the remote host. This is useful for self-signed certificates.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"coder.binarySource": {
|
|
"markdownDescription": "Used to download the Coder CLI which is necessary to make SSH connections. The If-None-Match header will be set to the SHA1 of the CLI and can be used for caching. Absolute URLs will be used as-is; otherwise this value will be resolved against the deployment domain. Defaults to downloading from the Coder deployment.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.binaryDestination": {
|
|
"markdownDescription": "The full path of the directory into which the Coder CLI will be downloaded. Defaults to the value of `CODER_BINARY_DESTINATION` if not set, otherwise the extension's global storage directory.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.enableDownloads": {
|
|
"markdownDescription": "Allow the plugin to download the CLI when missing or out of date.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"coder.headerCommand": {
|
|
"markdownDescription": "An external command that outputs additional HTTP headers added to all requests. The command must output each header as `key=value` on its own line. The following environment variables will be available to the process: `CODER_URL`. Defaults to the value of `CODER_HEADER_COMMAND` if not set.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.tlsCertFile": {
|
|
"markdownDescription": "Path to file for TLS client cert. When specified, token authorization will be skipped. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.tlsKeyFile": {
|
|
"markdownDescription": "Path to file for TLS client key. When specified, token authorization will be skipped. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.tlsCaFile": {
|
|
"markdownDescription": "Path to file for TLS certificate authority. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.tlsAltHost": {
|
|
"markdownDescription": "Alternative hostname to use for TLS verification. This is useful when the hostname in the certificate does not match the hostname used to connect.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.proxyLogDirectory": {
|
|
"markdownDescription": "If set, the Coder CLI will output extra SSH information into this directory, which can be helpful for debugging connectivity issues.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.proxyBypass": {
|
|
"markdownDescription": "If not set, will inherit from the `no_proxy` or `NO_PROXY` environment variables. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.defaultUrl": {
|
|
"markdownDescription": "This will be shown in the URL prompt, along with the CODER_URL environment variable if set, for the user to select when logging in.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"coder.autologin": {
|
|
"markdownDescription": "Automatically log into the default URL when the extension is activated. coder.defaultUrl is preferred, otherwise the CODER_URL environment variable will be used. This setting has no effect if neither is set.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"coder.disableUpdateNotifications": {
|
|
"markdownDescription": "Disable notifications when workspace template updates are available.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"coder.disableSignatureVerification": {
|
|
"markdownDescription": "Disable Coder CLI signature verification, which can be useful if you run an unsigned fork of the binary.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"coder.sshFlags": {
|
|
"markdownDescription": "Additional flags to pass to the `coder ssh` command when establishing SSH connections. Enter each flag as a separate array item; values are passed verbatim and in order. See the [CLI ssh reference](https://coder.com/docs/reference/cli/ssh) for available flags.\n\nNote: `--network-info-dir` and `--ssh-host-prefix` are ignored (managed internally). Prefer `#coder.proxyLogDirectory#` over `--log-dir`/`-l` for full functionality.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": [
|
|
"--disable-autostart"
|
|
]
|
|
},
|
|
"coder.globalFlags": {
|
|
"markdownDescription": "Global flags to pass to every Coder CLI invocation. Enter each flag as a separate array item; values are passed verbatim and in order. Do **not** include the `coder` command itself. See the [CLI reference](https://coder.com/docs/reference/cli) for available global flags.\n\nNote that for `--header-command`, precedence is: `#coder.headerCommand#` setting, then `CODER_HEADER_COMMAND` environment variable, then the value specified here. The `--global-config` flag is explicitly ignored.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"coder.httpClientLogLevel": {
|
|
"markdownDescription": "Controls the verbosity of HTTP client logging. This affects what details are logged for each HTTP request and response.",
|
|
"type": "string",
|
|
"enum": [
|
|
"none",
|
|
"basic",
|
|
"headers",
|
|
"body"
|
|
],
|
|
"markdownEnumDescriptions": [
|
|
"Disables all HTTP client logging",
|
|
"Logs the request method, URL, length, and the response status code",
|
|
"Logs everything from *basic* plus sanitized request and response headers",
|
|
"Logs everything from *headers* plus request and response bodies (may include sensitive data)"
|
|
],
|
|
"default": "basic"
|
|
}
|
|
}
|
|
},
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "coder",
|
|
"title": "Coder Remote",
|
|
"icon": "media/logo-white.svg"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"coder": [
|
|
{
|
|
"id": "myWorkspaces",
|
|
"name": "My Workspaces",
|
|
"visibility": "visible",
|
|
"icon": "media/logo-white.svg"
|
|
},
|
|
{
|
|
"id": "allWorkspaces",
|
|
"name": "All Workspaces",
|
|
"visibility": "visible",
|
|
"icon": "media/logo-white.svg",
|
|
"when": "coder.authenticated && coder.isOwner"
|
|
}
|
|
]
|
|
},
|
|
"viewsWelcome": [
|
|
{
|
|
"view": "myWorkspaces",
|
|
"contents": "Coder is a platform that provisions remote development environments. \n[Login](command:coder.login)",
|
|
"when": "!coder.authenticated && coder.loaded"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "coder.login",
|
|
"title": "Coder: Login"
|
|
},
|
|
{
|
|
"command": "coder.logout",
|
|
"title": "Coder: Logout",
|
|
"when": "coder.authenticated",
|
|
"icon": "$(sign-out)"
|
|
},
|
|
{
|
|
"command": "coder.open",
|
|
"title": "Open Workspace",
|
|
"icon": "$(play)",
|
|
"category": "Coder"
|
|
},
|
|
{
|
|
"command": "coder.openFromSidebar",
|
|
"title": "Coder: Open Workspace",
|
|
"icon": "$(play)"
|
|
},
|
|
{
|
|
"command": "coder.createWorkspace",
|
|
"title": "Create Workspace",
|
|
"category": "Coder",
|
|
"when": "coder.authenticated",
|
|
"icon": "$(add)"
|
|
},
|
|
{
|
|
"command": "coder.navigateToWorkspace",
|
|
"title": "Navigate to Workspace Page",
|
|
"when": "coder.authenticated",
|
|
"icon": "$(link-external)"
|
|
},
|
|
{
|
|
"command": "coder.navigateToWorkspaceSettings",
|
|
"title": "Edit Workspace Settings",
|
|
"when": "coder.authenticated",
|
|
"icon": "$(settings-gear)"
|
|
},
|
|
{
|
|
"command": "coder.workspace.update",
|
|
"title": "Coder: Update Workspace",
|
|
"when": "coder.workspace.updatable"
|
|
},
|
|
{
|
|
"command": "coder.refreshWorkspaces",
|
|
"title": "Refresh Workspace",
|
|
"category": "Coder",
|
|
"icon": "$(refresh)",
|
|
"when": "coder.authenticated"
|
|
},
|
|
{
|
|
"command": "coder.viewLogs",
|
|
"title": "Coder: View Logs",
|
|
"icon": "$(list-unordered)",
|
|
"when": "coder.authenticated"
|
|
},
|
|
{
|
|
"command": "coder.openAppStatus",
|
|
"title": "Coder: Open App Status",
|
|
"icon": "$(robot)",
|
|
"when": "coder.authenticated"
|
|
},
|
|
{
|
|
"command": "coder.searchMyWorkspaces",
|
|
"title": "Search",
|
|
"category": "Coder",
|
|
"icon": "$(search)"
|
|
},
|
|
{
|
|
"command": "coder.searchAllWorkspaces",
|
|
"title": "Search",
|
|
"category": "Coder",
|
|
"icon": "$(search)"
|
|
}
|
|
],
|
|
"menus": {
|
|
"commandPalette": [
|
|
{
|
|
"command": "coder.openFromSidebar",
|
|
"when": "false"
|
|
},
|
|
{
|
|
"command": "coder.searchMyWorkspaces",
|
|
"when": "false"
|
|
},
|
|
{
|
|
"command": "coder.searchAllWorkspaces",
|
|
"when": "false"
|
|
}
|
|
],
|
|
"view/title": [
|
|
{
|
|
"command": "coder.logout",
|
|
"when": "coder.authenticated && view == myWorkspaces"
|
|
},
|
|
{
|
|
"command": "coder.login",
|
|
"when": "!coder.authenticated && view == myWorkspaces"
|
|
},
|
|
{
|
|
"command": "coder.createWorkspace",
|
|
"when": "coder.authenticated && view == myWorkspaces",
|
|
"group": "navigation@1"
|
|
},
|
|
{
|
|
"command": "coder.refreshWorkspaces",
|
|
"when": "coder.authenticated && view == myWorkspaces",
|
|
"group": "navigation@2"
|
|
},
|
|
{
|
|
"command": "coder.searchMyWorkspaces",
|
|
"when": "coder.authenticated && view == myWorkspaces",
|
|
"group": "navigation@3"
|
|
},
|
|
{
|
|
"command": "coder.searchAllWorkspaces",
|
|
"when": "coder.authenticated && view == allWorkspaces",
|
|
"group": "navigation@3"
|
|
}
|
|
],
|
|
"view/item/context": [
|
|
{
|
|
"command": "coder.openFromSidebar",
|
|
"when": "coder.authenticated && viewItem == coderWorkspaceSingleAgent || coder.authenticated && viewItem == coderAgent",
|
|
"group": "inline"
|
|
},
|
|
{
|
|
"command": "coder.navigateToWorkspace",
|
|
"when": "coder.authenticated && viewItem == coderWorkspaceSingleAgent || coder.authenticated && viewItem == coderWorkspaceMultipleAgents",
|
|
"group": "inline"
|
|
},
|
|
{
|
|
"command": "coder.navigateToWorkspaceSettings",
|
|
"when": "coder.authenticated && viewItem == coderWorkspaceSingleAgent || coder.authenticated && viewItem == coderWorkspaceMultipleAgents",
|
|
"group": "inline"
|
|
}
|
|
],
|
|
"statusBar/remoteIndicator": [
|
|
{
|
|
"command": "coder.open",
|
|
"group": "remote_11_ssh_coder@1"
|
|
},
|
|
{
|
|
"command": "coder.createWorkspace",
|
|
"group": "remote_11_ssh_coder@2",
|
|
"when": "coder.authenticated"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"activationEvents": [
|
|
"onResolveRemoteAuthority:ssh-remote",
|
|
"onCommand:coder.connect",
|
|
"onUri"
|
|
],
|
|
"resolutions": {
|
|
"semver": "7.7.3",
|
|
"trim": "0.0.3",
|
|
"word-wrap": "1.2.5"
|
|
},
|
|
"dependencies": {
|
|
"@peculiar/x509": "^1.14.0",
|
|
"axios": "1.12.2",
|
|
"date-fns": "^3.6.0",
|
|
"eventsource": "^3.0.6",
|
|
"find-process": "^2.0.0",
|
|
"jsonc-parser": "^3.3.1",
|
|
"openpgp": "^6.2.2",
|
|
"pretty-bytes": "^7.1.0",
|
|
"proper-lockfile": "^4.1.2",
|
|
"proxy-agent": "^6.5.0",
|
|
"semver": "^7.7.3",
|
|
"ua-parser-js": "1.0.40",
|
|
"ws": "^8.18.3",
|
|
"zod": "^4.1.12"
|
|
},
|
|
"devDependencies": {
|
|
"@types/eventsource": "^3.0.0",
|
|
"@types/glob": "^7.1.3",
|
|
"@types/node": "^22.14.1",
|
|
"@types/proper-lockfile": "^4.1.4",
|
|
"@types/semver": "^7.7.1",
|
|
"@types/ua-parser-js": "0.7.36",
|
|
"@types/vscode": "^1.73.0",
|
|
"@types/ws": "^8.18.1",
|
|
"@typescript-eslint/eslint-plugin": "^8.44.0",
|
|
"@typescript-eslint/parser": "^8.46.4",
|
|
"@vitest/coverage-v8": "^3.2.4",
|
|
"@vscode/test-cli": "^0.0.12",
|
|
"@vscode/test-electron": "^2.5.2",
|
|
"@vscode/vsce": "^3.7.1",
|
|
"bufferutil": "^4.0.9",
|
|
"coder": "https://github.com/coder/coder#main",
|
|
"dayjs": "^1.11.19",
|
|
"electron": "^39.2.6",
|
|
"eslint": "^8.57.1",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-md": "^1.0.19",
|
|
"eslint-plugin-package-json": "^0.59.0",
|
|
"eslint-plugin-prettier": "^5.5.4",
|
|
"glob": "^11.1.0",
|
|
"jsonc-eslint-parser": "^2.4.0",
|
|
"markdown-eslint-parser": "^1.2.1",
|
|
"memfs": "^4.49.0",
|
|
"nyc": "^17.1.0",
|
|
"prettier": "^3.6.2",
|
|
"ts-loader": "^9.5.4",
|
|
"typescript": "^5.9.3",
|
|
"utf-8-validate": "^6.0.5",
|
|
"vitest": "^3.2.4",
|
|
"vscode-test": "^1.5.0",
|
|
"webpack": "^5.101.3",
|
|
"webpack-cli": "^6.0.1"
|
|
},
|
|
"extensionPack": [
|
|
"ms-vscode-remote.remote-ssh"
|
|
],
|
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
|
|
"engines": {
|
|
"vscode": "^1.73.0"
|
|
},
|
|
"icon": "media/logo.png",
|
|
"extensionKind": [
|
|
"ui"
|
|
],
|
|
"capabilities": {
|
|
"untrustedWorkspaces": {
|
|
"supported": true
|
|
}
|
|
},
|
|
"__metadata": {
|
|
"installedTimestamp": 1765806966741,
|
|
"targetPlatform": "undefined",
|
|
"size": 2867581
|
|
}
|
|
} |