{
  "name": "grafana-oncall-app",
  "version": "1.9.28",
  "description": "Grafana OnCall Plugin",
  "scripts": {
    "lint": "eslint --ext .js,.jsx,.ts,.tsx --max-warnings=20 ./src ./e2e-tests",
    "lint:fix": "eslint --max-warnings=20 --fix --ext .js,.jsx,.ts,.tsx ./src ./e2e-tests",
    "stylelint": "stylelint ./src/**/*.{css,scss,module.css,module.scss}",
    "stylelint:fix": "stylelint --fix ./src/**/*.{css,scss,module.css,module.scss}",
    "build": "NODE_ENV=production webpack -c ./webpack.config.ts --env production",
    "build:dev": "NODE_ENV=development webpack -c ./webpack.config.ts --env development",
    "labels:link": "pnpm --dir ../../gops-labels/frontend link && pnpm link \"@grafana/labels\" && pnpm --dir ../../gops-labels/frontend watch",
    "labels:unlink": "pnpm --dir ../../gops-labels/frontend unlink",
    "mage:build-dev": "mage -v build:debug",
    "mage:watch": "mage -v watch",
    "test-utc": "TZ=UTC jest --verbose --testNamePattern '^((?!@london-tz).)*$'",
    "test-london-tz": "TZ=Europe/London jest --verbose --testNamePattern '@london-tz'",
    "test": "PLUGIN_ID=grafana-oncall-app pnpm test-utc && pnpm test-london-tz",
    "test:ci": "PLUGIN_ID=grafana-oncall-app pnpm test-utc && pnpm test-london-tz",
    "test:report": "HTML_REPORT_ENABLED=true pnpm test",
    "test:silent": "pnpm test --silent",
    "test:e2e": "PLUGIN_ID=grafana-oncall-app pnpm playwright test --grep-invert @expensive",
    "test:e2e-expensive": "PLUGIN_ID=grafana-oncall-app pnpm playwright test --grep @expensive",
    "test:e2e:watch": "pnpm test:e2e --ui",
    "test:e2e-expensive:watch": "pnpm test:e2e-expensive --ui",
    "test:e2e:gen": "pnpm playwright codegen http://localhost:3000",
    "e2e-show-report": "pnpm playwright show-report --port 31000",
    "generate-types": "cd ./src/network/oncall-api/types-generator && pnpm generate",
    "dev": "NODE_ENV=development webpack -w -c ./webpack.config.ts --env development",
    "serve": "serve -p 3001 ./dist",
    "dev:serve": "concurrently --names \"serve,dev\" --prefix-colors \"blue,green\" \"pnpm serve\" \"pnpm dev\"",
    "sign": "npx --yes @grafana/sign-plugin@latest",
    "start": "pnpm watch",
    "setversion": "setversion",
    "type-check": "tsc --noEmit",
    "type-check:watch": "pnpm type-check --watch --preserveWatchOutput false",
    "find-dead-code": "knip"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/grafana/oncall.git"
  },
  "lint-staged": {
    "*.ts?(x)": [
      "prettier --write",
      "eslint --fix"
    ],
    "*.js?(x)": [
      "prettier --write",
      "eslint --fix"
    ],
    "*.css": [
      "stylelint --fix"
    ]
  },
  "author": "Grafana Labs",
  "license": "Apache-2.0",
  "devDependencies": {
    "@grafana/eslint-config": "^6.0.0",
    "@grafana/tsconfig": "^1.2.0-rc1",
    "@jest/globals": "^27.5.1",
    "@playwright/test": "1.46.0",
    "@swc/core": "^1.3.90",
    "@swc/helpers": "^0.5.0",
    "@swc/jest": "^0.2.26",
    "@testing-library/dom": "latest",
    "@testing-library/jest-dom": "^6.4.2",
    "@testing-library/react": "^14.1.2",
    "@testing-library/user-event": "^14.4.3",
    "@types/dompurify": "^2.3.4",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.0",
    "@types/lodash": "^4.14.194",
    "@types/lodash-es": "^4.17.6",
    "@types/node": "^20.14.10",
    "@types/query-string": "^6.3.0",
    "@types/react": "18.2.0",
    "@types/react-copy-to-clipboard": "^5.0.4",
    "@types/react-dom": "18.2.0",
    "@types/react-responsive": "^8.0.5",
    "@types/react-test-renderer": "^18.0.5",
    "@types/react-transition-group": "^4.4.5",
    "@types/testing-library__jest-dom": "5.14.8",
    "@types/throttle-debounce": "^5.0.0",
    "@typescript-eslint/eslint-plugin": "^5.40.1",
    "copy-webpack-plugin": "^11.0.0",
    "css-loader": "^6.7.3",
    "dompurify": "^3.2.4",
    "eslint": "^8.25.0",
    "eslint-plugin-deprecation": "^2.0.0",
    "eslint-plugin-jsdoc": "^44.2.4",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-plugin-react": "^7.31.10",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-rulesdir": "^0.2.1",
    "eslint-plugin-unused-imports": "^3.1.0",
    "eslint-webpack-plugin": "^4.0.1",
    "express": "^4.20.0",
    "fork-ts-checker-webpack-plugin": "^8.0.0",
    "glob": "^10.2.7",
    "identity-obj-proxy": "3.0.0",
    "jest": "^29.5.0",
    "jest-environment-jsdom": "^29.5.0",
    "jest-html-reporters": "^3.1.7",
    "knip": "^5.0.3",
    "lint-staged": "^10.2.11",
    "lodash-es": "^4.17.21",
    "mailslurp-client": "^15.14.1",
    "moment-timezone": "0.5.45",
    "openapi-typescript": "^7.4.0",
    "postcss-loader": "^7.0.1",
    "prettier": "^2.8.7",
    "react-test-renderer": "^18.0.2",
    "replace-in-file-webpack-plugin": "^1.0.6",
    "sass": "1.63.2",
    "sass-loader": "13.3.1",
    "semver": "^7.6.0",
    "serve": "^14.2.3",
    "style-loader": "3.3.3",
    "stylelint-config-prettier": "^9.0.3",
    "stylelint-prettier": "^2.0.0",
    "swc-loader": "^0.2.3",
    "ts-jest": "29.0.3",
    "ts-node": "^10.9.1",
    "tsconfig-paths": "^4.2.0",
    "typescript": "5.1",
    "webpack": "^5.86.0",
    "webpack-bundle-analyzer": "^4.6.1",
    "webpack-cli": "^5.1.4",
    "webpack-livereload-plugin": "^3.0.2"
  },
  "dependencies": {
    "@dnd-kit/core": "^6.0.8",
    "@dnd-kit/modifiers": "^7.0.0",
    "@dnd-kit/sortable": "^7.0.2",
    "@dnd-kit/utilities": "^3.2.1",
    "@emotion/css": "11.10.6",
    "@grafana/data": "^11.1.3",
    "@grafana/faro-web-sdk": "^1.4.2",
    "@grafana/faro-web-tracing": "^1.4.2",
    "@grafana/labels": "^1.6.6",
    "@grafana/runtime": "^11.1.3",
    "@grafana/scenes": "^1.28.0",
    "@grafana/schema": "^11.1.3",
    "@grafana/ui": "^11.1.3",
    "@lifeomic/attempt": "^3.0.3",
    "array-move": "^4.0.0",
    "axios": "^1.7.4",
    "change-case": "^4.1.1",
    "circular-dependency-plugin": "^5.2.2",
    "classnames": "^2.3.2",
    "dayjs": "^1.11.5",
    "eslint-plugin-import": "^2.29.1",
    "immutability-helper": "^3.1.1",
    "linkify-react": "^4.1.3",
    "linkifyjs": "^4.1.3",
    "mobx": "6.12.0",
    "mobx-react": "9.1.0",
    "object-hash": "^3.0.0",
    "openapi-fetch": "^0.8.1",
    "qrcode.react": "^3.1.0",
    "query-string": "^7.1.1",
    "raw-loader": "^4.0.2",
    "rc-table": "^7.17.1",
    "react": "18.2.0",
    "react-copy-to-clipboard": "^5.0.2",
    "react-dom": "18.2.0",
    "react-draggable": "^4.4.5",
    "react-emoji-render": "^1.2.4",
    "react-hook-form": "^7.50.1",
    "react-modal": "^3.15.1",
    "react-responsive": "^8.1.0",
    "react-router-dom-v5-compat": "^6.25.1",
    "react-sortable-hoc": "^1.11.0",
    "react-string-replace": "^0.4.4",
    "react-transition-group": "^4.4.5",
    "react-use": "^17.4.0",
    "stylelint": "^14.0.0",
    "stylelint-config-standard": "^22.0.0",
    "throttle-debounce": "^2.1.0",
    "tinycolor2": "^1.6.0",
    "tslib": "2.5.3"
  },
  "resolutions": {
    "braces": "3.0.3",
    "micromatch": "4.0.8"
  }
}
