mirror of
https://github.com/coder/code-server.git
synced 2026-06-16 13:50:42 -05:00
Since this functionality requires information placed onto the request by code-server (req.args) and Express (req.cookies), move the standalone tests into the integration tests as the proxy can no longer run correctly on its own without that context. We could strip the header elsewhere or refactor in some way (pass in a callback function for the stripping or something) but this seems like the simplest and safest place at the moment to ensure we catch all uses of the proxy. In any case, I think it does lend more confidence to know we are testing the proxy the way it will be used in practice. The downside is some additional complexity when setting up tests, but at the moment I do not think that exchange is overly burdensome.
154 lines
4.5 KiB
JSON
154 lines
4.5 KiB
JSON
{
|
|
"name": "code-server",
|
|
"license": "MIT",
|
|
"version": "0.0.0",
|
|
"description": "Run VS Code on a remote server.",
|
|
"homepage": "https://github.com/coder/code-server",
|
|
"bugs": {
|
|
"url": "https://github.com/coder/code-server/issues"
|
|
},
|
|
"repository": "https://github.com/coder/code-server",
|
|
"scripts": {
|
|
"clean": "./ci/build/clean.sh",
|
|
"build": "./ci/build/build-code-server.sh",
|
|
"build:vscode": "./ci/build/build-vscode.sh",
|
|
"doctoc": "./ci/dev/doctoc.sh",
|
|
"release": "./ci/build/build-release.sh",
|
|
"release:prep": "./ci/build/release-prep.sh",
|
|
"test:e2e": "VSCODE_IPC_HOOK_CLI= ./ci/dev/test-e2e.sh",
|
|
"test:e2e:proxy": "USE_PROXY=1 ./ci/dev/test-e2e.sh",
|
|
"test:unit": "./ci/dev/test-unit.sh --forceExit --detectOpenHandles",
|
|
"test:integration": "./ci/dev/test-integration.sh",
|
|
"test:native": "./ci/dev/test-native.sh",
|
|
"test:scripts": "./ci/dev/test-scripts.sh",
|
|
"package": "./ci/build/build-packages.sh",
|
|
"prettier": "prettier --write --log-level=warn --cache .",
|
|
"preinstall": "node ./ci/dev/preinstall.js",
|
|
"postinstall": "./ci/dev/postinstall.sh",
|
|
"publish:npm": "./ci/steps/publish-npm.sh",
|
|
"publish:docker": "./ci/steps/docker-buildx-push.sh",
|
|
"fmt": "npm run prettier && ./ci/dev/doctoc.sh",
|
|
"lint:scripts": "./ci/dev/lint-scripts.sh",
|
|
"lint:ts": "eslint --max-warnings=0 --fix $(git ls-files '*.ts' '*.js' | grep -v 'lib/vscode')",
|
|
"test": "echo 'Run npm run test:unit or npm run test:e2e' && exit 1",
|
|
"watch": "VSCODE_DEV=1 VSCODE_IPC_HOOK_CLI= NODE_OPTIONS='--max_old_space_size=32384 --trace-warnings' ts-node ./ci/dev/watch.ts",
|
|
"icons": "./ci/dev/gen_icons.sh"
|
|
},
|
|
"main": "out/node/entry.js",
|
|
"devDependencies": {
|
|
"@eslint/compat": "^1.2.0",
|
|
"@eslint/eslintrc": "^3.1.0",
|
|
"@eslint/js": "^9.12.0",
|
|
"@schemastore/package": "^0.0.10",
|
|
"@types/compression": "^1.7.3",
|
|
"@types/cookie-parser": "^1.4.4",
|
|
"@types/eslint__js": "^8.42.3",
|
|
"@types/express": "^5.0.0",
|
|
"@types/http-proxy": "1.17.7",
|
|
"@types/js-yaml": "^4.0.6",
|
|
"@types/node": "22.x",
|
|
"@types/pem": "^1.14.1",
|
|
"@types/proxy-from-env": "^1.0.1",
|
|
"@types/safe-compare": "^1.1.0",
|
|
"@types/semver": "^7.5.2",
|
|
"@types/trusted-types": "^2.0.4",
|
|
"@types/ws": "^8.5.5",
|
|
"doctoc": "^2.2.1",
|
|
"eslint": "^9.12.0",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
"eslint-plugin-import": "^2.28.1",
|
|
"eslint-plugin-prettier": "^5.0.0",
|
|
"globals": "^16.1.0",
|
|
"prettier": "3.8.3",
|
|
"prettier-plugin-sh": "^0.18.0",
|
|
"ts-node": "^10.9.1",
|
|
"typescript": "^5.6.2",
|
|
"typescript-eslint": "^8.8.0"
|
|
},
|
|
"dependencies": {
|
|
"@coder/logger": "^3.0.1",
|
|
"argon2": "^0.44.0",
|
|
"compression": "^1.7.4",
|
|
"cookie": "^1.1.1",
|
|
"cookie-parser": "^1.4.6",
|
|
"env-paths": "^2.2.1",
|
|
"express": "^5.0.1",
|
|
"http-proxy": "^1.18.1",
|
|
"httpolyglot": "^0.1.2",
|
|
"i18next": "^25.8.3",
|
|
"js-yaml": "^4.1.0",
|
|
"limiter": "^2.1.0",
|
|
"pem": "^1.14.8",
|
|
"proxy-agent": "^6.3.1",
|
|
"qs": "^6.15.0",
|
|
"rotating-file-stream": "^3.1.1",
|
|
"safe-compare": "^1.1.4",
|
|
"semver": "^7.5.4",
|
|
"ws": "^8.14.2",
|
|
"xdg-basedir": "^4.0.0"
|
|
},
|
|
"resolutions": {
|
|
"@types/node": "22.x"
|
|
},
|
|
"bin": {
|
|
"code-server": "out/node/entry.js"
|
|
},
|
|
"keywords": [
|
|
"vscode",
|
|
"development",
|
|
"ide",
|
|
"coder",
|
|
"vscode-remote",
|
|
"browser-ide",
|
|
"remote-development"
|
|
],
|
|
"engines": {
|
|
"node": "22"
|
|
},
|
|
"jest": {
|
|
"transform": {
|
|
"^.+\\.ts$": "<rootDir>/test/node_modules/ts-jest"
|
|
},
|
|
"testEnvironment": "node",
|
|
"testPathIgnorePatterns": [
|
|
"/node_modules/",
|
|
"/lib/",
|
|
"/out/",
|
|
"test/e2e"
|
|
],
|
|
"collectCoverage": true,
|
|
"collectCoverageFrom": [
|
|
"<rootDir>/src/**/*.ts"
|
|
],
|
|
"coverageDirectory": "<rootDir>/coverage",
|
|
"coverageReporters": [
|
|
"json",
|
|
"json-summary",
|
|
"text",
|
|
"clover"
|
|
],
|
|
"coveragePathIgnorePatterns": [
|
|
"/out"
|
|
],
|
|
"coverageThreshold": {
|
|
"global": {
|
|
"lines": 60
|
|
}
|
|
},
|
|
"modulePathIgnorePatterns": [
|
|
"<rootDir>/release-packages",
|
|
"<rootDir>/release",
|
|
"<rootDir>/release-standalone",
|
|
"<rootDir>/release-npm-package",
|
|
"<rootDir>/release-gcp",
|
|
"<rootDir>/release-images",
|
|
"<rootDir>/lib"
|
|
],
|
|
"moduleNameMapper": {
|
|
"^.+\\.(css|less)$": "<rootDir>/test/utils/cssStub.ts"
|
|
},
|
|
"globalSetup": "<rootDir>/test/utils/globalUnitSetup.ts"
|
|
}
|
|
}
|