{ "name": "SonarQube", "version": "0.0.1", "description": "Put your technical debt under control", "repository": "SonarSource/sonarqube", "license": "LGPL-3.0", "dependencies": { "@emotion/react": "11.11.4", "@emotion/styled": "11.13.0", "@primer/octicons-react": "19.11.0", "@react-spring/rafz": "9.7.4", "@react-spring/web": "9.7.4", "@sonarsource/echoes-react": "0.9.0", "@tanstack/react-query": "5.56.2", "@types/validator": "13.12.2", "axios": "1.7.7", "classnames": "2.5.1", "clipboard": "2.0.11", "core-js": "3.38.1", "d3-array": "3.2.4", "d3-hierarchy": "3.1.2", "d3-scale": "4.0.2", "d3-selection": "3.0.0", "d3-shape": "3.2.0", "d3-zoom": "3.0.0", "date-fns": "4.1.0", "diff": "7.0.0", "dompurify": "3.1.7", "formik": "2.4.6", "highlight.js": "11.10.0", "highlightjs-apex": "1.4.0", "highlightjs-cobol": "0.3.3", "highlightjs-sap-abap": "0.3.0", "lodash": "4.17.21", "lunr": "2.3.9", "react": "18.3.1", "react-day-picker": "8.10.1", "react-dom": "18.3.1", "react-draggable": "4.4.6", "react-helmet-async": "2.0.5", "react-highlight-words": "0.20.0", "react-intl": "6.7.0", "react-joyride": "2.8.2", "react-markdown": "9.0.1", "react-modal": "3.16.1", "react-router-dom": "6.26.2", "react-select": "5.7.7", "react-toastify": "10.0.5", "react-virtualized": "9.22.5", "regenerator-runtime": "0.14.1", "shared-store-hook": "0.0.4", "valid-url": "1.0.9", "validator": "13.12.0" }, "devDependencies": { "@babel/core": "7.25.8", "@babel/preset-env": "7.25.8", "@babel/preset-react": "7.25.7", "@babel/preset-typescript": "7.25.7", "@emotion/babel-plugin": "11.12.0", "@emotion/jest": "11.13.0", "@jupyterlab/nbformat": "4.2.5", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.5.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", "@types/cheerio": "0.22.35", "@types/classnames": "2.3.1", "@types/d3-array": "3.2.1", "@types/d3-hierarchy": "3.1.7", "@types/d3-scale": "4.0.8", "@types/d3-selection": "3.0.10", "@types/d3-shape": "3.1.6", "@types/d3-zoom": "3.0.8", "@types/diff": "5.2.2", "@types/dompurify": "3.0.5", "@types/jest": "29.5.13", "@types/jest-axe": "3.5.9", "@types/lodash": "4.17.9", "@types/node": "20.16.10", "@types/react": "18.3.11", "@types/react-dom": "18.3.0", "@types/react-helmet": "6.1.11", "@types/react-highlight-words": "0.20.0", "@types/react-modal": "3.16.3", "@types/react-virtualized": "9.21.30", "@types/valid-url": "1.0.7", "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", "@typescript-eslint/rule-tester": "7.18.0", "@vitejs/plugin-legacy": "5.4.2", "@vitejs/plugin-react": "4.3.2", "autoprefixer": "10.4.20", "babel-jest": "29.7.0", "babel-plugin-twin": "1.1.0", "browserslist": "4.24.0", "chalk": "4.1.2", "chokidar": "3.6.0", "dd-trace": "5.23.0", "eslint": "8.57.1", "eslint-config-sonarqube": "2.1.3", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.30.0", "eslint-plugin-jest": "27.9.0", "eslint-plugin-jest-dom": "5.4.0", "eslint-plugin-jsx-a11y": "6.10.0", "eslint-plugin-local-rules": "3.0.2", "eslint-plugin-promise": "6.6.0", "eslint-plugin-react": "7.37.1", "eslint-plugin-react-hooks": "4.6.2", "eslint-plugin-testing-library": "6.3.0", "eslint-plugin-typescript-sort-keys": "3.2.0", "fs-extra": "11.2.0", "history": "5.3.0", "http-proxy": "1.18.1", "jest": "29.7.0", "jest-axe": "9.0.0", "jest-environment-jsdom": "29.7.0", "jest-fail-on-console": "3.3.1", "jest-junit": "16.0.0", "jest-slow-test-reporter": "1.0.0", "openapi-types": "12.1.3", "path-browserify": "1.0.1", "postcss": "8.4.47", "postcss-calc": "10.0.2", "prettier": "3.3.3", "prettier-plugin-organize-imports": "4.1.0", "rollup-plugin-license": "3.5.3", "rollup-plugin-visualizer": "5.12.0", "tailwindcss": "3.4.13", "terser": "5.36.0", "twin.macro": "3.4.1", "typescript": "5.6.2", "vite": "5.4.8", "vite-plugin-babel-macros": "1.0.6", "vite-plugin-require-transform": "1.0.21", "whatwg-fetch": "3.6.20" }, "scripts": { "start": "vite", "build": "vite build", "build-release": "yarn install --immutable && yarn build", "chunks-analyze": "BUNDLE_ANALYSIS=true yarn build", "test": "jest --workerIdleMemoryLimit=1G", "test-ci": "NODE_OPTIONS=\"-r dd-trace/ci/init\" jest --coverage --maxWorkers=5 --workerIdleMemoryLimit=2G --ci", "test-eslint-local-rules": "jest eslint-local-rules", "format": "prettier --write --list-different \"src/main/js/**/*.{js,ts,tsx,css}\"", "format-check": "prettier --check \"src/main/js/**/*.{js,ts,tsx,css}\"", "lint": "eslint --ext js,ts,tsx --quiet src/main/js", "lint-report": "eslint --ext js,ts,tsx -f json -o eslint-report/eslint-report.json src/main/js", "lint-report-ci": "yarn install --immutable && eslint --ext js,ts,tsx --config .eslintrc-ci -f json -o eslint-report/eslint-report.json src/main/js || yarn lint", "ts-check": "tsc --noEmit", "validate": "yarn dep-check && yarn lint && yarn ts-check && yarn format-check && yarn test", "validate-ci": "yarn install --immutable && yarn dep-check && yarn test-ci", "check-ci": "yarn install --immutable && yarn ts-check && yarn format-check && yarn test-eslint-local-rules", "update-cwes": "node scripts/update-cwes.js", "dep-check": "node scripts/validate-package-json.js" }, "engines": { "node": ">=18.20" }, "babelMacros": { "twin": { "config": "./tailwind.config.js", "preset": "emotion" } }, "browserslist": [ "defaults and supports es6-module", "Chrome >= 66", "Edge >= 88", "Firefox >= 78", "Safari >= 12" ], "packageManager": "yarn@4.2.2" }