{
  "name": "sonarqube-mcp-server",
  "version": "1.10.21",
  "description": "Model Context Protocol server for SonarQube",
  "keywords": [
    "sonarqube",
    "mcp",
    "model-context-protocol"
  ],
  "author": "Marc Tremblay <marc.tremblay@gmail.com>",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/sapientpants/sonarqube-mcp-server.git"
  },
  "bugs": {
    "url": "https://github.com/sapientpants/sonarqube-mcp-server/issues"
  },
  "homepage": "https://github.com/sapientpants/sonarqube-mcp-server",
  "type": "module",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/index.js",
      "types": "./dist/index.d.ts"
    }
  },
  "bin": {
    "sonarqube-mcp-server": "./dist/index.js"
  },
  "packageManager": "pnpm@10.17.0",
  "scripts": {
    "dev": "tsc --watch --preserveWatchOutput",
    "start": "node dist/index.js",
    "build": "tsc -p tsconfig.build.json",
    "build:watch": "tsc -p tsconfig.build.json --watch",
    "typecheck": "tsc -p tsconfig.json --noEmit",
    "typecheck:watch": "tsc -p tsconfig.json --noEmit --watch",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "lint:workflows": "./scripts/actionlint.sh",
    "lint:markdown": "markdownlint-cli2 \"**/*.md\" \"#node_modules\"",
    "lint:markdown:fix": "markdownlint-cli2 --fix \"**/*.md\" \"#node_modules\"",
    "lint:yaml": "yamllint '**/*.{yml,yaml}' --ignore='node_modules/**' --ignore='.github/workflows/**' --ignore='pnpm-lock.yaml'",
    "format": "prettier --check .",
    "format:fix": "prettier --write .",
    "test": "vitest run --reporter=verbose",
    "test:watch": "vitest",
    "test:ui": "vitest --ui",
    "test:coverage": "vitest run --reporter=verbose --coverage",
    "test:coverage:watch": "vitest --coverage",
    "coverage:report": "vitest run --coverage --reporter=verbose",
    "coverage:open": "open coverage/index.html",
    "clean": "rimraf dist coverage",
    "reset": "pnpm clean && pnpm install",
    "quick-check": "pnpm typecheck && pnpm lint && pnpm test",
    "precommit": "pnpm audit --audit-level critical && pnpm typecheck && pnpm lint && pnpm lint:workflows && pnpm lint:markdown && pnpm lint:yaml && pnpm format && pnpm test",
    "verify": "pnpm precommit",
    "setup": "./scripts/setup.sh",
    "lint-staged": "lint-staged",
    "sbom": "pnpm dlx @cyclonedx/cdxgen -o sbom.cdx.json",
    "scan:container": "./scripts/scan-container.sh",
    "scan:container:sarif": "./scripts/scan-container.sh --format sarif --output container-scan.sarif",
    "release": "changeset version && pnpm build",
    "release:publish": "pnpm build && changeset publish",
    "release:tag": "git add -A && git commit -m \"chore(release): version packages\" && git tag -a v$(node -p \"require('./package.json').version\") -m \"Release\"",
    "changeset": "changeset",
    "changeset:status": "changeset status --since=main",
    "ci:local": "./scripts/ci-local.sh",
    "ci:local:fast": "./scripts/ci-local.sh --fast",
    "doctor": "node -e \"console.log('Node:', process.version); console.log('npm scripts:', Object.keys(require('./package.json').scripts).length, 'available'); console.log('Run: pnpm run help')\"",
    "help": "node -e \"const s=require('./package.json').scripts; console.log('Available commands:'); Object.keys(s).sort().forEach(k => console.log('  pnpm run ' + k.padEnd(20) + ' # ' + s[k].split(' ')[0]))\""
  },
  "lint-staged": {
    "*.{ts,tsx,js,json,md,yml,yaml}": [
      "prettier --write"
    ],
    "*.{ts,tsx,js,json,jsonc,json5}": [
      "eslint --fix"
    ],
    "*.md": [
      "markdownlint-cli2 --fix"
    ],
    "*.{yml,yaml}": [
      "yamllint"
    ]
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.20.1",
    "cors": "2.8.5",
    "express": "5.1.0",
    "lodash": "^4.17.21",
    "opossum": "^9.0.0",
    "pino": "10.1.0",
    "pino-roll": "4.0.0",
    "pino-syslog": "3.2.0",
    "sonarqube-web-api-client": "1.0.1",
    "uuid": "13.0.0",
    "zod": "^3.25.76",
    "zod-to-json-schema": "^3.24.6"
  },
  "devDependencies": {
    "@changesets/cli": "^2.29.7",
    "@commitlint/cli": "20.1.0",
    "@commitlint/config-conventional": "20.0.0",
    "@cyclonedx/cdxgen": "11.10.0",
    "@eslint/js": "^9.38.0",
    "@fast-check/vitest": "^0.2.2",
    "@jest/globals": "^30.2.0",
    "@types/cors": "2.8.19",
    "@types/express": "5.0.3",
    "@types/jest": "^30.0.0",
    "@types/lodash": "^4.17.20",
    "@types/node": "^24.8.1",
    "@types/opossum": "^8.1.9",
    "@typescript-eslint/eslint-plugin": "^8.46.1",
    "@typescript-eslint/parser": "^8.46.1",
    "@vitest/coverage-v8": "^3.2.4",
    "changelog-github-custom": "1.2.7",
    "eslint": "^9.38.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-jsonc": "2.21.0",
    "eslint-plugin-prettier": "^5.5.4",
    "fast-check": "^4.3.0",
    "husky": "^9.1.7",
    "jest": "^30.2.0",
    "jsonc-eslint-parser": "2.4.1",
    "lint-staged": "^16.2.4",
    "markdownlint-cli2": "0.18.1",
    "nock": "^14.0.10",
    "pino-pretty": "13.1.2",
    "prettier": "^3.6.2",
    "rimraf": "^6.0.1",
    "supertest": "^7.1.4",
    "ts-jest": "^29.4.5",
    "ts-node": "^10.9.2",
    "ts-node-dev": "^2.0.0",
    "typescript": "^5.9.3",
    "vite": "7.1.11",
    "vitest": "^3.2.4",
    "yaml-lint": "1.7.0"
  },
  "pnpm": {
    "overrides": {
      "@eslint/plugin-kit": ">=0.3.3"
    }
  }
}
