{
  "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:standalone": "./ci/build/build-standalone-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": "^9.0.0",
    "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.6.2",
    "prettier-plugin-sh": "^0.14.0",
    "ts-node": "^10.9.1",
    "typescript": "^5.6.2",
    "typescript-eslint": "^8.8.0"
  },
  "dependencies": {
    "@coder/logger": "^3.0.1",
    "argon2": "^0.31.1",
    "compression": "^1.7.4",
    "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.3.0",
    "js-yaml": "^4.1.0",
    "limiter": "^2.1.0",
    "pem": "^1.14.8",
    "proxy-agent": "^6.3.1",
    "qs": "6.14.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"
  }
}
