{ "author": "Grafana Labs", "license": "AGPL-3.0-only", "private": true, "name": "grafana", "version": "9.0.0-pre", "repository": "github:grafana/grafana", "scripts": { "api-tests": "jest --notify --watch --config=devenv/e2e-api-tests/jest.js", "build": "yarn i18n:compile && NODE_ENV=production webpack --config scripts/webpack/webpack.prod.js", "build:nominify": "yarn run build --env noMinify=1", "dev": "yarn i18n:compile && webpack --progress --color --config scripts/webpack/webpack.dev.js", "e2e": "./e2e/start-and-run-suite", "e2e:debug": "./e2e/start-and-run-suite debug", "e2e:dev": "./e2e/start-and-run-suite dev", "e2e:benchmark:live": "./e2e/start-and-run-suite benchmark live", "test": "jest --notify --watch", "test:coverage": "jest --coverage", "test:coverage:changes": "jest --coverage --changedSince=origin/main", "test:accessibility-report": "./scripts/generate-a11y-report.sh", "lint": "yarn run lint:ts && yarn run lint:sass", "lint:ts": "eslint . --ext .js,.tsx,.ts --cache", "lint:sass": "yarn stylelint '{public/sass,packages}/**/*.scss' --cache", "test:ci": "betterer ci && mkdir -p reports/junit && JEST_JUNIT_OUTPUT_DIR=reports/junit jest --ci --reporters=default --reporters=jest-junit -w ${TEST_MAX_WORKERS:-100%}", "lint:fix": "yarn lint --fix", "packages:build": "lerna run clean && lerna run build --ignore @grafana-plugins/input-datasource", "packages:docsExtract": "rm -rf ./reports/docs && lerna run docsExtract", "packages:docsToMarkdown": "api-documenter markdown --input-folder ./reports/docs/ --output-folder ./docs/sources/packages_api/ --hugo", "packages:prepare": "lerna version --no-push --no-git-tag-version --force-publish --exact", "packages:publish": "lerna publish from-package --contents dist --no-verify-access", "packages:publishCanary": "lerna publish from-package --contents dist --dist-tag canary --yes --no-verify-access", "packages:publishLatest": "lerna publish from-package --contents dist --yes --no-verify-access", "packages:publishNext": "lerna publish from-package --contents dist --dist-tag next --yes --no-verify-access", "packages:publishTest": "lerna publish from-package --contents dist --dist-tag test --yes --no-verify-access", "packages:publishDev": "lerna publish from-package --contents dist --dist-tag dev --yes --registry http://grafana-npm.local:4873 --force-publish=*", "packages:typecheck": "lerna run typecheck", "packages:clean": "lerna run clean", "precommit": "yarn run lint-staged", "prettier:check": "prettier --check --list-different=false --loglevel=warn \"**/*.{ts,tsx,scss,md,mdx}\"", "prettier:checkDocs": "prettier --check --list-different=false --loglevel=warn \"docs/**/*.md\" \"packages/**/*.{ts,tsx,scss,md,mdx}\"", "prettier:write": "prettier --list-different \"**/*.{js,ts,tsx,scss,md,mdx}\" --write", "start": "yarn themes:generate && yarn dev --watch", "start:noTsCheck": "yarn start --env noTsCheck=1", "start:hot": "yarn themes:generate && NODE_ENV=hot yarn dev --config scripts/webpack/webpack.hot.js", "stats": "webpack --mode production --config scripts/webpack/webpack.prod.js --profile --json > compilation-stats.json", "storybook": "yarn workspace @grafana/ui storybook --ci", "storybook:build": "yarn workspace @grafana/ui storybook:build", "themes:generate": "ts-node --transpile-only --project ./scripts/cli/tsconfig.json ./scripts/cli/generateSassVariableFiles.ts", "typecheck": "tsc --noEmit && yarn run packages:typecheck", "plugins:build-bundled": "grafana-toolkit plugin:bundle-managed", "watch": "yarn start -d watch,start core:start --watchTheme", "ci:test-frontend": "yarn run test:ci && yarn grafana-toolkit node-version-check", "i18n:extract": "lingui extract", "i18n:compile": "lingui compile", "postinstall": "husky install", "betterer": "betterer", "betterer:stats": "ts-node --transpile-only --project ./scripts/cli/tsconfig.json ./scripts/cli/reportBettererStats.ts" }, "grafana": { "whatsNewUrl": "https://grafana.com/docs/grafana/next/whatsnew/whats-new-in-v8-5/", "releaseNotesUrl": "https://grafana.com/docs/grafana/next/release-notes/" }, "lint-staged": { "*.{js,ts,tsx}": [ "betterer precommit", "eslint --ext .js,.tsx,.ts --cache --fix", "prettier --write" ], "*.{json,scss,md,mdx}": [ "prettier --write" ], "*pkg/**/*.go": [ "gofmt -w -s" ], "*.star": [ "make drone" ] }, "devDependencies": { "@babel/core": "7.17.8", "@babel/plugin-proposal-class-properties": "7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "7.16.7", "@babel/plugin-proposal-object-rest-spread": "7.17.3", "@babel/plugin-proposal-optional-chaining": "7.16.7", "@babel/plugin-syntax-dynamic-import": "7.8.3", "@babel/plugin-transform-react-constant-elements": "7.17.6", "@babel/plugin-transform-runtime": "7.17.0", "@babel/plugin-transform-typescript": "7.16.8", "@babel/preset-env": "7.16.11", "@babel/preset-react": "7.16.7", "@babel/preset-typescript": "7.16.7", "@betterer/betterer": "5.3.0", "@betterer/cli": "5.3.0", "@betterer/regexp": "5.3.0", "@emotion/eslint-plugin": "11.7.0", "@grafana/api-documenter": "7.11.2", "@grafana/e2e": "workspace:*", "@grafana/eslint-config": "3.0.0", "@grafana/toolkit": "workspace:*", "@grafana/tsconfig": "^1.2.0-rc1", "@lingui/cli": "3.13.2", "@lingui/macro": "3.13.2", "@microsoft/api-extractor": "7.19.5", "@pmmmwh/react-refresh-webpack-plugin": "0.5.4", "@react-types/button": "3.4.4", "@react-types/menu": "3.5.2", "@react-types/overlays": "3.5.4", "@react-types/shared": "3.11.2", "@rtsao/plugin-proposal-class-properties": "7.0.1-patch.1", "@swc/core": "1.2.160", "@swc/helpers": "0.3.8", "@testing-library/dom": "8.13.0", "@testing-library/jest-dom": "5.16.2", "@testing-library/react": "12.1.4", "@testing-library/react-hooks": "7.0.2", "@testing-library/user-event": "13.5.0", "@types/angular": "1.8.4", "@types/angular-route": "1.7.2", "@types/classnames": "2.3.0", "@types/common-tags": "^1.8.0", "@types/d3": "7.1.0", "@types/d3-force": "^2.1.0", "@types/d3-scale-chromatic": "1.3.1", "@types/debounce-promise": "3.1.4", "@types/enzyme": "3.10.11", "@types/enzyme-adapter-react-16": "1.0.6", "@types/eslint": "8.4.1", "@types/file-saver": "2.0.5", "@types/google.analytics": "^0.0.42", "@types/grafana__slate-react": "npm:@types/slate-react@0.22.5", "@types/history": "4.7.11", "@types/hoist-non-react-statics": "3.3.1", "@types/jest": "27.4.1", "@types/jquery": "3.5.14", "@types/js-yaml": "^4.0.5", "@types/jsurl": "^1.2.28", "@types/lingui__macro": "^3", "@types/lodash": "4.14.181", "@types/logfmt": "^1.2.1", "@types/mousetrap": "1.6.9", "@types/node": "16.11.26", "@types/papaparse": "5.3.2", "@types/pluralize": "^0.0.29", "@types/prismjs": "1.26.0", "@types/rc-time-picker": "3.4.1", "@types/react": "17.0.42", "@types/react-beautiful-dnd": "13.1.2", "@types/react-dom": "17.0.14", "@types/react-grid-layout": "1.3.2", "@types/react-highlight-words": "0.16.4", "@types/react-loadable": "5.5.6", "@types/react-redux": "7.1.23", "@types/react-router-dom": "5.3.3", "@types/react-table": "^7", "@types/react-test-renderer": "17.0.1", "@types/react-transition-group": "4.4.4", "@types/react-virtualized-auto-sizer": "1.0.1", "@types/react-window": "1.8.5", "@types/redux-mock-store": "1.0.3", "@types/reselect": "2.2.0", "@types/semver": "7.3.9", "@types/slate": "0.47.2", "@types/slate-plain-serializer": "0.7.2", "@types/testing-library__jest-dom": "5.14.3", "@types/testing-library__react-hooks": "^3.2.0", "@types/tinycolor2": "1.4.3", "@types/uuid": "8.3.4", "@typescript-eslint/eslint-plugin": "5.16.0", "@typescript-eslint/parser": "5.16.0", "@wojtekmaj/enzyme-adapter-react-17": "0.6.6", "autoprefixer": "10.4.4", "axios": "0.26.1", "babel-jest": "27.5.1", "babel-loader": "8.2.4", "babel-plugin-angularjs-annotate": "0.10.0", "babel-plugin-macros": "3.1.0", "copy-webpack-plugin": "9.0.1", "css-loader": "6.7.1", "css-minimizer-webpack-plugin": "3.4.1", "cypress": "9.5.1", "enzyme": "3.11.0", "enzyme-to-json": "3.6.2", "eslint": "8.11.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-jest": "26.1.2", "eslint-plugin-jsdoc": "38.0.6", "eslint-plugin-lodash": "7.4.0", "eslint-plugin-react": "7.29.4", "eslint-plugin-react-hooks": "4.3.0", "eslint-webpack-plugin": "3.1.1", "expose-loader": "3.1.0", "file-loader": "6.2.0", "fork-ts-checker-webpack-plugin": "7.2.1", "fs-extra": "10.0.1", "glob": "7.2.0", "html-loader": "3.1.0", "html-webpack-plugin": "5.5.0", "http-server": "14.1.0", "husky": "^7.0.0", "iconscout-unicons-tarball": "https://github.com/grafana/icons/tarball/63056cd833ba7ee4e94904492b3a8c0cabc38d28", "jest": "27.5.1", "jest-canvas-mock": "2.3.1", "jest-date-mock": "1.0.8", "jest-fail-on-console": "2.3.0", "jest-junit": "13.1.0", "jest-matcher-utils": "27.5.1", "jest-mock-console": "1.2.3", "lerna": "^4.0.0", "lint-staged": "12.3.7", "mini-css-extract-plugin": "2.6.0", "mutationobserver-shim": "0.3.7", "ngtemplate-loader": "2.1.0", "node-notifier": "10.0.1", "nodemon": "2.0.15", "postcss": "8.4.12", "postcss-loader": "6.2.1", "postcss-reporter": "7.0.5", "postcss-scss": "4.0.3", "prettier": "2.6.0", "raw-loader": "4.0.2", "react-refresh": "0.11.0", "react-select-event": "5.5.0", "react-test-renderer": "17.0.2", "redux-mock-store": "1.5.4", "rimraf": "3.0.2", "sass": "1.49.9", "sass-loader": "12.6.0", "sinon": "13.0.1", "style-loader": "3.3.1", "stylelint": "14.6.0", "stylelint-config-prettier": "9.0.3", "stylelint-config-sass-guidelines": "9.0.1", "terser-webpack-plugin": "5.3.1", "testing-library-selector": "0.2.1", "ts-jest": "27.1.3", "ts-loader": "9.2.6", "ts-node": "10.7.0", "typescript": "4.4.4", "wait-on": "6.0.1", "webpack": "5.72.0", "webpack-bundle-analyzer": "4.5.0", "webpack-cli": "4.9.2", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0" }, "dependencies": { "@emotion/css": "11.7.1", "@emotion/react": "11.8.2", "@grafana/aws-sdk": "0.0.35", "@grafana/data": "workspace:*", "@grafana/e2e-selectors": "workspace:*", "@grafana/experimental": "^0.0.2-canary.25", "@grafana/google-sdk": "0.0.3", "@grafana/lezer-logql": "^0.0.11", "@grafana/runtime": "workspace:*", "@grafana/schema": "workspace:*", "@grafana/slate-react": "0.22.10-grafana", "@grafana/ui": "workspace:*", "@jaegertracing/jaeger-ui-components": "workspace:*", "@kusto/monaco-kusto": "5.1.1", "@lezer/common": "0.15.12", "@lezer/lr": "0.15.8", "@lingui/core": "3.13.2", "@lingui/react": "3.13.2", "@opentelemetry/api": "1.1.0", "@opentelemetry/exporter-collector": "0.25.0", "@opentelemetry/semantic-conventions": "1.0.1", "@popperjs/core": "2.11.4", "@react-aria/button": "3.4.3", "@react-aria/dialog": "3.1.8", "@react-aria/focus": "3.5.4", "@react-aria/interactions": "3.8.3", "@react-aria/menu": "3.4.3", "@react-aria/overlays": "3.8.1", "@react-aria/utils": "3.11.3", "@react-stately/collections": "3.3.7", "@react-stately/menu": "3.2.6", "@react-stately/tree": "3.2.3", "@reduxjs/toolkit": "1.8.0", "@sentry/browser": "6.19.1", "@sentry/types": "6.19.1", "@sentry/utils": "6.19.1", "@visx/event": "2.6.0", "@visx/gradient": "2.1.0", "@visx/group": "2.1.0", "@visx/scale": "2.2.2", "@visx/shape": "2.4.0", "@visx/tooltip": "2.8.0", "@welldone-software/why-did-you-render": "6.2.3", "angular": "1.8.2", "angular-bindonce": "0.3.1", "angular-route": "1.8.2", "angular-sanitize": "1.8.2", "app": "link:./public/app", "baron": "3.0.3", "brace": "0.11.1", "calculate-size": "1.1.1", "centrifuge": "2.8.4", "classnames": "2.3.1", "comlink": "4.3.1", "common-tags": "1.8.2", "core-js": "3.21.1", "d3": "5.15.0", "d3-force": "^2.1.1", "d3-scale-chromatic": "1.5.0", "dangerously-set-html-content": "1.0.9", "date-fns": "2.28.0", "debounce-promise": "3.1.2", "emotion": "11.0.0", "eventemitter3": "4.0.7", "fast-deep-equal": "^3.1.3", "fast-json-patch": "3.1.0", "file-saver": "2.0.5", "history": "4.10.1", "hoist-non-react-statics": "3.3.2", "immer": "9.0.12", "immutable": "4.0.0", "jquery": "3.6.0", "js-yaml": "^4.1.0", "json-source-map": "0.6.1", "jsurl": "^0.1.5", "lezer-promql": "0.22.0", "lodash": "4.17.21", "logfmt": "^1.3.2", "lru-cache": "7.7.1", "memoize-one": "6.0.0", "minisearch": "5.0.0-beta1", "moment": "2.29.2", "moment-timezone": "0.5.34", "monaco-editor": "^0.31.1", "monaco-promql": "^1.7.2", "mousetrap": "1.6.5", "mousetrap-global-bind": "1.1.0", "moveable": "0.28.0", "ol": "6.14.1", "papaparse": "5.3.2", "pluralize": "^8.0.0", "prismjs": "1.27.0", "prop-types": "15.8.1", "rc-cascader": "3.4.1", "rc-drawer": "4.4.3", "rc-slider": "9.7.5", "rc-time-picker": "3.7.3", "re-resizable": "6.9.5", "react": "17.0.2", "react-beautiful-dnd": "13.1.0", "react-diff-viewer": "^3.1.1", "react-dom": "17.0.2", "react-draggable": "4.4.4", "react-grid-layout": "1.3.4", "react-highlight-words": "0.17.0", "react-hook-form": "7.5.3", "react-inlinesvg": "2.3.0", "react-loadable": "5.5.0", "react-moveable": "0.31.1", "react-popper": "2.2.5", "react-popper-tooltip": "^4.3.1", "react-redux": "7.2.6", "react-resizable": "3.0.4", "react-reverse-portal": "^2.0.1", "react-router-dom": "^5.2.0", "react-select": "5.2.2", "react-split-pane": "0.1.92", "react-table": "^7.7.0", "react-transition-group": "4.4.2", "react-use": "17.3.2", "react-virtualized-auto-sizer": "1.0.6", "react-window": "1.8.6", "redux": "4.1.2", "redux-thunk": "2.4.1", "regenerator-runtime": "0.13.9", "reselect": "4.1.5", "rst2html": "github:thoward/rst2html#990cb89f2a300cdd9151790be377c4c0840df809", "rxjs": "7.5.5", "sass": "link:./public/sass", "search-query-parser": "1.6.0", "selecto": "1.15.0", "semver": "^7.1.3", "slate": "0.47.8", "slate-plain-serializer": "0.7.10", "symbol-observable": "4.0.0", "test": "link:./public/test", "tether-drop": "https://github.com/torkelo/drop", "tinycolor2": "1.4.2", "tslib": "2.3.1", "uplot": "1.6.19", "uuid": "8.3.2", "vendor": "link:./public/vendor", "visjs-network": "4.25.0", "whatwg-fetch": "3.6.2" }, "resolutions": { "underscore": "1.13.2", "@types/slate": "0.47.2", "@microsoft/api-extractor-model": "7.16.0", "@rushstack/node-core-library": "3.45.1", "@rushstack/rig-package": "0.3.8", "@rushstack/ts-command-line": "4.10.7", "@storybook/react/webpack": "5.72.0", "node-fetch": "2.6.7" }, "workspaces": { "packages": [ "packages/*", "plugins-bundled/internal/*" ] }, "engines": { "node": ">= 16" }, "packageManager": "yarn@3.2.0" }