grafana/package.json
Drew Slobodnjak 2502fe4d19
Canvas: Add Pan and Zoom (#76705)
* Canvas: Add Zoom

* Scale selecto components based on zoom state

* Fix pan by reverting to 3.1.0 for zoom-pan

* Update to latest library that fixes pan regression

* Add mini map to canvas pan zoom

* Fix selecto and anchors on hover

* Update naming to be more clear

* Switch back to contentComponent

* Apply transformScale to drag and resize

* Update connection source and target scaling

* Add option to display mini map

* Update yarn lock

* Revert "Update yarn lock"

This reverts commit 3d1dd65d57.

* Set yarn lock to main

* Revert "Set yarn lock to main"

This reverts commit 64bc50557e.

* Update to Yarn 4

* Add react-zoom-pan-pinch

* Update react-zoom-pan checksum

* Revert changes to json files

* Remove last line of api merged

* Remove last lines of all impacted jsons

* Update home json

* Update coordinate calc function to include scale

* Fix types in coordinate calc function

* Fix util calculation for transform

* Fix arrow anchor shift behavior

* Fix scale offset when adding elements during zoom

* Fix drag of selected group during zoom

* Add feature flag for canvas pan zoom

* Revert "Add feature flag for canvas pan zoom"

This reverts commit b026e31d8d.

* Regenerate feature flag after merge

* Apply feature flag to enable pan zoom wrappers

* Add mini map toggle behind feature flag

* Simplify minimap behavior

* Update feature flag registry

* Set minimap to false by default

* fix gen-cue

* Set toggles gen to main

Add blank line to toggle gen csv

* Add canvas pan zoom to csv

* Remove old comment

* Change ref parameter to be more descriptive

* Rename visibleFun to be more descriptive

* Consolidate transformScale transformRef in util

* Remove non-null assertion on connection parentRect

* Consolidate parentRect null coalescing into object

* Remove minimap and change toggle

* Add controls inline help for pan and zoom

* Clean up mouse events

* Pull scale out of ref and isolate transform

* Remove transform ref from scene div

* Fix context menu visible behavior

* Fix connections and update util functions

* Move transform component instance to util

* fix backend test

* minor updates

* Clean up connections / fix minor bug where offset of arrow wasn't being calculated correctly

* missed connection code cleanup

* cleanup scene code a bit more

* actually fix backend test

* move eslint disable line closer to actual issue

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-01-02 11:52:21 -08:00

456 lines
18 KiB
JSON

{
"author": "Grafana Labs",
"license": "AGPL-3.0-only",
"private": true,
"name": "grafana",
"version": "10.3.0-pre",
"repository": "github:grafana/grafana",
"scripts": {
"prebuild": "yarn i18n:compile && yarn plugin:build",
"build": "yarn prebuild & NODE_ENV=production webpack --progress --config scripts/webpack/webpack.prod.js",
"build:nominify": "yarn run build --env noMinify=1",
"dev": "yarn prebuild & NODE_ENV=dev 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",
"e2e:enterprise": "./e2e/start-and-run-suite enterprise",
"e2e:enterprise:dev": "./e2e/start-and-run-suite enterprise dev",
"e2e:enterprise:debug": "./e2e/start-and-run-suite enterprise debug",
"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": "yarn i18n:compile && 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:ts --fix",
"packages:build": "lerna run build --ignore '@grafana-plugins/*'",
"packages:clean": "rimraf ./npm-artifacts && lerna run clean --parallel",
"packages:prepare": "lerna version --no-push --no-git-tag-version --force-publish --exact",
"packages:pack": "mkdir -p ./npm-artifacts && lerna exec --no-private -- yarn pack --out \"../../npm-artifacts/%s-%v.tgz\"",
"packages:typecheck": "lerna run typecheck",
"prettier:check": "prettier --check --list-different=false --log-level=warn \"**/*.{ts,tsx,scss,md,mdx}\"",
"prettier:checkDocs": "prettier --check --list-different=false --log-level=warn \"docs/**/*.md\" \"*.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:noLint": "yarn start --env noTsCheck=1 --env noLint=1",
"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": "esbuild --target=es6 ./scripts/cli/generateSassVariableFiles.ts --bundle --platform=node --tsconfig=./scripts/cli/tsconfig.json | node",
"themes:usage": "eslint . --ext .tsx,.ts --ignore-pattern '*.test.ts*' --ignore-pattern '*.spec.ts*' --cache --rule '{ @grafana/theme-token-usage: \"error\" }'",
"typecheck": "tsc --noEmit && yarn run packages:typecheck",
"plugins:build-bundled": "find plugins-bundled -name package.json -not -path '*/node_modules/*' -execdir yarn build \\;",
"watch": "yarn start -d watch,start core:start --watchTheme",
"ci:test-frontend": "yarn run test:ci",
"i18n:clean": "rimraf public/locales/en-US/grafana.json",
"i18n:extract": "yarn run i18next -c public/locales/i18next-parser.config.js 'public/**/*.{tsx,ts}' 'packages/grafana-ui/**/*.{tsx,ts}' && yarn i18n:pseudo",
"i18n:compile": "echo 'no i18n compile yet, all good'",
"i18n:pseudo": "node ./public/locales/pseudo.js",
"i18n:stats": "node ./scripts/cli/reportI18nStats.mjs",
"betterer": "betterer",
"betterer:merge": "betterer merge",
"betterer:stats": "ts-node --transpile-only --project ./scripts/cli/tsconfig.json ./scripts/cli/reportBettererStats.ts",
"betterer:issues": "ts-node --transpile-only --project ./scripts/cli/tsconfig.json ./scripts/cli/generateBettererIssues.ts",
"generate-icons-bundle-cache-file": "node ./scripts/generate-icon-bundle.js",
"plugin:build": "lerna run build --ignore=\"@grafana/*\" --ignore=\"@grafana-plugins/input-datasource\"",
"plugin:build:commit": "lerna run build:commit --ignore=\"@grafana/*\" --ignore=\"@grafana-plugins/input-datasource\"",
"plugin:build:dev": "lerna run dev --ignore=\"@grafana/*\" --ignore=\"@grafana-plugins/input-datasource\""
},
"grafana": {
"whatsNewUrl": "https://grafana.com/docs/grafana/next/whatsnew/whats-new-in-v10-3/",
"releaseNotesUrl": "https://grafana.com/docs/grafana/next/release-notes/"
},
"devDependencies": {
"@babel/core": "7.23.2",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
"@babel/plugin-proposal-optional-chaining": "7.21.0",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-transform-react-constant-elements": "7.22.5",
"@babel/plugin-transform-runtime": "7.23.2",
"@babel/plugin-transform-typescript": "7.22.9",
"@babel/preset-env": "7.23.2",
"@babel/preset-react": "7.22.5",
"@babel/preset-typescript": "7.23.2",
"@babel/runtime": "7.23.2",
"@betterer/betterer": "5.4.0",
"@betterer/cli": "5.4.0",
"@betterer/eslint": "5.4.0",
"@cypress/webpack-preprocessor": "6.0.0",
"@emotion/eslint-plugin": "11.11.0",
"@grafana/eslint-config": "6.0.1",
"@grafana/eslint-plugin": "link:./packages/grafana-eslint-rules",
"@grafana/tsconfig": "^1.3.0-rc1",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
"@react-types/button": "3.9.0",
"@react-types/menu": "3.9.2",
"@react-types/overlays": "3.8.0",
"@react-types/shared": "3.21.0",
"@rtsao/plugin-proposal-class-properties": "7.0.1-patch.1",
"@swc/core": "1.3.38",
"@swc/helpers": "0.4.14",
"@testing-library/dom": "9.3.3",
"@testing-library/jest-dom": "6.1.4",
"@testing-library/react": "14.0.0",
"@testing-library/user-event": "14.5.1",
"@types/angular": "1.8.5",
"@types/angular-route": "1.7.3",
"@types/chance": "^1.1.3",
"@types/common-tags": "^1.8.0",
"@types/d3": "7.4.0",
"@types/d3-force": "^3.0.0",
"@types/d3-scale-chromatic": "3.0.0",
"@types/debounce-promise": "3.1.6",
"@types/diff": "^5",
"@types/eslint": "8.44.0",
"@types/file-saver": "2.0.5",
"@types/glob": "^8.0.0",
"@types/google.analytics": "^0.0.42",
"@types/gtag.js": "^0.0.12",
"@types/history": "4.7.11",
"@types/hoist-non-react-statics": "3.3.1",
"@types/jest": "29.5.4",
"@types/jquery": "3.5.16",
"@types/js-yaml": "^4.0.5",
"@types/jsurl": "^1.2.28",
"@types/lodash": "4.14.195",
"@types/logfmt": "^1.2.3",
"@types/lucene": "^2",
"@types/marked": "5.0.1",
"@types/mousetrap": "1.6.11",
"@types/node": "20.8.10",
"@types/node-forge": "^1",
"@types/ol-ext": "npm:@siedlerchr/types-ol-ext@3.2.0",
"@types/papaparse": "5.3.7",
"@types/pluralize": "^0.0.30",
"@types/prismjs": "1.26.0",
"@types/react": "18.2.15",
"@types/react-beautiful-dnd": "13.1.4",
"@types/react-dom": "18.2.7",
"@types/react-grid-layout": "1.3.2",
"@types/react-highlight-words": "0.16.4",
"@types/react-router-dom": "5.3.3",
"@types/react-table": "7.7.14",
"@types/react-test-renderer": "18.0.0",
"@types/react-transition-group": "4.4.6",
"@types/react-virtualized-auto-sizer": "1.0.1",
"@types/react-window": "1.8.5",
"@types/react-window-infinite-loader": "^1",
"@types/redux-mock-store": "1.0.3",
"@types/semver": "7.5.0",
"@types/slate": "0.47.11",
"@types/slate-plain-serializer": "0.7.2",
"@types/slate-react": "0.22.9",
"@types/systemjs": "6.13.1",
"@types/testing-library__jest-dom": "5.14.8",
"@types/tinycolor2": "1.4.3",
"@types/uuid": "9.0.2",
"@types/webpack-assets-manifest": "^5",
"@types/yargs": "17.0.24",
"@typescript-eslint/eslint-plugin": "5.42.0",
"@typescript-eslint/parser": "5.42.0",
"autoprefixer": "10.4.14",
"babel-jest": "29.7.0",
"babel-loader": "9.1.3",
"babel-plugin-angularjs-annotate": "0.10.0",
"babel-plugin-macros": "3.1.0",
"blob-polyfill": "7.0.20220408",
"browserslist": "^4.21.4",
"chance": "^1.0.10",
"chrome-remote-interface": "0.33.0",
"codeowners": "^5.1.1",
"copy-webpack-plugin": "11.0.0",
"core-js": "3.33.0",
"css-loader": "6.8.1",
"css-minimizer-webpack-plugin": "5.0.1",
"cypress": "13.1.0",
"cypress-file-upload": "5.0.8",
"esbuild": "0.18.12",
"esbuild-loader": "3.0.1",
"esbuild-plugin-browserslist": "^0.8.0",
"eslint": "8.52.0",
"eslint-config-prettier": "8.8.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "27.6.0",
"eslint-plugin-jsdoc": "46.8.2",
"eslint-plugin-jsx-a11y": "6.7.1",
"eslint-plugin-lodash": "7.4.0",
"eslint-plugin-react": "7.33.2",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-webpack-plugin": "4.0.1",
"expose-loader": "4.1.0",
"fork-ts-checker-webpack-plugin": "8.0.0",
"glob": "10.3.3",
"html-loader": "4.2.0",
"html-webpack-plugin": "5.5.3",
"http-server": "14.1.1",
"i18next-parser": "6.6.0",
"jest": "29.7.0",
"jest-canvas-mock": "2.5.2",
"jest-date-mock": "1.0.8",
"jest-environment-jsdom": "29.7.0",
"jest-fail-on-console": "3.1.1",
"jest-junit": "16.0.0",
"jest-matcher-utils": "29.7.0",
"lerna": "7.4.1",
"mini-css-extract-plugin": "2.7.6",
"msw": "1.3.2",
"mutationobserver-shim": "0.3.7",
"ngtemplate-loader": "2.1.0",
"node-notifier": "10.0.1",
"postcss": "8.4.31",
"postcss-loader": "7.3.3",
"postcss-reporter": "7.0.5",
"postcss-scss": "4.0.6",
"prettier": "3.0.0",
"react-refresh": "0.14.0",
"react-select-event": "5.5.1",
"react-simple-compat": "1.2.3",
"react-test-renderer": "18.2.0",
"redux-mock-store": "1.5.4",
"rimraf": "5.0.1",
"rudder-sdk-js": "2.43.0",
"sass": "1.69.4",
"sass-loader": "13.3.2",
"style-loader": "3.3.3",
"stylelint": "15.11.0",
"stylelint-config-prettier": "9.0.5",
"stylelint-config-sass-guidelines": "10.0.0",
"terser-webpack-plugin": "5.3.9",
"testing-library-selector": "0.3.1",
"tracelib": "1.0.1",
"ts-jest": "29.1.1",
"ts-node": "10.9.1",
"typescript": "5.2.2",
"webpack": "5.89.0",
"webpack-bundle-analyzer": "4.9.0",
"webpack-cli": "5.1.4",
"webpack-dev-server": "4.15.1",
"webpack-manifest-plugin": "5.0.0",
"webpack-merge": "5.10.0",
"yaml": "^2.0.0",
"yargs": "^17.5.1"
},
"dependencies": {
"@daybrush/utils": "1.13.0",
"@emotion/css": "11.11.2",
"@emotion/react": "11.11.1",
"@fingerprintjs/fingerprintjs": "^3.4.2",
"@glideapps/glide-data-grid": "^5.2.1",
"@grafana-plugins/grafana-testdata-datasource": "workspace:*",
"@grafana-plugins/parca": "workspace:*",
"@grafana/aws-sdk": "0.3.1",
"@grafana/data": "workspace:*",
"@grafana/e2e-selectors": "workspace:*",
"@grafana/experimental": "1.7.4",
"@grafana/faro-core": "^1.3.5",
"@grafana/faro-web-sdk": "^1.3.5",
"@grafana/flamegraph": "workspace:*",
"@grafana/google-sdk": "0.1.1",
"@grafana/lezer-logql": "0.2.2",
"@grafana/lezer-traceql": "0.0.12",
"@grafana/monaco-logql": "^0.0.7",
"@grafana/runtime": "workspace:*",
"@grafana/scenes": "1.28.5",
"@grafana/schema": "workspace:*",
"@grafana/ui": "workspace:*",
"@kusto/monaco-kusto": "^7.4.0",
"@leeoniya/ufuzzy": "1.0.13",
"@lezer/common": "1.0.2",
"@lezer/highlight": "1.1.3",
"@lezer/lr": "1.3.3",
"@locker/near-membrane-dom": "0.13.3",
"@locker/near-membrane-shared": "0.13.3",
"@locker/near-membrane-shared-dom": "0.13.3",
"@opentelemetry/api": "1.6.0",
"@opentelemetry/exporter-collector": "0.25.0",
"@opentelemetry/semantic-conventions": "1.17.1",
"@popperjs/core": "2.11.8",
"@prometheus-io/lezer-promql": "^0.37.0-rc.1",
"@react-aria/button": "3.8.0",
"@react-aria/dialog": "3.5.3",
"@react-aria/focus": "3.13.0",
"@react-aria/interactions": "3.16.0",
"@react-aria/menu": "3.10.0",
"@react-aria/overlays": "3.15.0",
"@react-aria/utils": "3.18.0",
"@react-awesome-query-builder/core": "6.4.1",
"@react-awesome-query-builder/ui": "6.4.1",
"@react-stately/collections": "3.9.0",
"@react-stately/menu": "3.5.3",
"@react-stately/tree": "3.7.0",
"@reduxjs/toolkit": "1.9.5",
"@remix-run/router": "^1.5.0",
"@testing-library/react-hooks": "^8.0.1",
"@types/react-resizable": "3.0.4",
"@types/trusted-types": "2.0.3",
"@types/webpack-env": "1.18.1",
"@visx/event": "3.3.0",
"@visx/gradient": "3.3.0",
"@visx/group": "3.3.0",
"@visx/scale": "3.3.0",
"@visx/shape": "3.3.0",
"@visx/tooltip": "3.3.0",
"@welldone-software/why-did-you-render": "7.0.1",
"angular": "1.8.3",
"angular-bindonce": "0.3.1",
"angular-route": "1.8.3",
"angular-sanitize": "1.8.3",
"ansicolor": "1.1.100",
"app": "link:./public/app",
"baron": "3.0.3",
"brace": "0.11.1",
"calculate-size": "1.1.1",
"centrifuge": "4.0.1",
"classnames": "2.3.2",
"combokeys": "^3.0.0",
"comlink": "4.4.1",
"common-tags": "1.8.2",
"d3": "7.8.5",
"d3-force": "3.0.0",
"d3-scale-chromatic": "3.0.0",
"dangerously-set-html-content": "1.0.9",
"date-fns": "2.30.0",
"debounce-promise": "3.1.2",
"diff": "^5.1.0",
"emotion": "11.0.0",
"eventemitter3": "5.0.1",
"fast-deep-equal": "^3.1.3",
"fast-json-patch": "3.1.1",
"file-saver": "2.0.5",
"framework-utils": "^1.1.0",
"history": "4.10.1",
"hoist-non-react-statics": "3.3.2",
"i18next": "^22.0.0",
"i18next-browser-languagedetector": "^7.0.2",
"immer": "10.0.2",
"immutable": "4.3.1",
"jquery": "3.7.0",
"js-yaml": "^4.1.0",
"json-markup": "^1.1.0",
"json-source-map": "0.6.1",
"jsurl": "^0.1.5",
"kbar": "0.1.0-beta.44",
"leven": "^4.0.0",
"lodash": "4.17.21",
"logfmt": "^1.3.2",
"lru-cache": "10.0.0",
"lru-memoize": "^1.1.0",
"lucene": "^2.1.1",
"marked": "5.1.1",
"marked-mangle": "1.1.0",
"memoize-one": "6.0.0",
"ml-regression-polynomial": "^3.0.0",
"ml-regression-simple-linear": "^3.0.0",
"moment": "2.29.4",
"moment-timezone": "0.5.43",
"monaco-editor": "0.34.0",
"monaco-promql": "1.7.4",
"mousetrap": "1.6.5",
"mousetrap-global-bind": "1.1.0",
"moveable": "0.43.1",
"node-forge": "^1.3.1",
"ol": "7.4.0",
"ol-ext": "4.0.10",
"papaparse": "5.4.1",
"pluralize": "^8.0.0",
"prismjs": "1.29.0",
"prop-types": "15.8.1",
"pseudoizer": "^0.1.0",
"rc-cascader": "3.20.0",
"rc-drawer": "6.5.2",
"rc-slider": "10.3.1",
"rc-time-picker": "3.7.3",
"rc-tree": "5.8.0",
"re-resizable": "6.9.9",
"react": "18.2.0",
"react-beautiful-dnd": "13.1.1",
"react-diff-viewer": "^3.1.1",
"react-dom": "18.2.0",
"react-draggable": "4.4.5",
"react-dropzone": "^14.2.3",
"react-grid-layout": "1.4.2",
"react-highlight-words": "0.20.0",
"react-hook-form": "7.5.3",
"react-i18next": "^12.0.0",
"react-inlinesvg": "3.0.2",
"react-loading-skeleton": "3.3.1",
"react-moveable": "0.46.1",
"react-popper": "2.3.0",
"react-popper-tooltip": "4.4.2",
"react-redux": "8.1.3",
"react-resizable": "3.0.5",
"react-responsive-carousel": "^3.2.23",
"react-router-dom": "5.3.3",
"react-router-dom-v5-compat": "^6.10.0",
"react-select": "5.7.4",
"react-split-pane": "0.1.92",
"react-table": "7.8.0",
"react-transition-group": "4.4.5",
"react-use": "17.4.0",
"react-virtual": "2.10.4",
"react-virtualized-auto-sizer": "1.0.7",
"react-window": "1.8.9",
"react-window-infinite-loader": "1.0.9",
"react-zoom-pan-pinch": "^3.3.0",
"redux": "4.2.1",
"redux-thunk": "2.4.2",
"regenerator-runtime": "0.14.0",
"reselect": "4.1.8",
"rxjs": "7.8.1",
"sass": "link:./public/sass",
"selecto": "1.26.0",
"semver": "7.5.4",
"slate": "0.47.9",
"slate-plain-serializer": "0.7.13",
"slate-react": "0.22.10",
"sql-formatter-plus": "^1.3.6",
"symbol-observable": "4.0.0",
"test": "link:./public/test",
"tether-drop": "https://github.com/torkelo/drop",
"tinycolor2": "1.6.0",
"tslib": "2.6.0",
"tween-functions": "^1.2.0",
"uplot": "1.6.28",
"uuid": "9.0.0",
"vendor": "link:./public/vendor",
"visjs-network": "4.25.0",
"webpack-assets-manifest": "^5.1.0",
"whatwg-fetch": "3.6.2",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.19.1/xlsx-0.19.1.tgz"
},
"resolutions": {
"underscore": "1.13.6",
"@types/slate": "0.47.11",
"ngtemplate-loader/loader-utils": "^2.0.0",
"semver@~7.0.0": "7.5.4",
"semver@7.3.4": "7.5.4",
"slate-dev-environment@^0.2.2": "patch:slate-dev-environment@npm:0.2.5#.yarn/patches/slate-dev-environment-npm-0.2.5-9aeb7da7b5.patch",
"react-split-pane@0.1.92": "patch:react-split-pane@npm:0.1.92#.yarn/patches/react-split-pane-npm-0.1.92-93dbf51dff.patch",
"@storybook/blocks@7.4.5": "patch:@storybook/blocks@npm%3A7.4.5#./.yarn/patches/@storybook-blocks-npm-7.4.5-5a2374564a.patch",
"history@4.10.1": "patch:history@npm%3A4.10.1#./.yarn/patches/history-npm-4.10.1-ee217563ae.patch",
"history@^4.9.0": "patch:history@npm%3A4.10.1#./.yarn/patches/history-npm-4.10.1-ee217563ae.patch"
},
"workspaces": {
"packages": [
"packages/*",
"plugins-bundled/internal/*",
"public/app/plugins/*/*"
]
},
"engines": {
"node": ">= 20"
},
"packageManager": "yarn@4.0.0",
"dependenciesMeta": {
"prettier@3.0.0": {
"unplugged": true
}
}
}