From 5cafcfc917f969fa98cf27d2fb46f0404b0ffd28 Mon Sep 17 00:00:00 2001 From: jev forsberg Date: Wed, 16 Jul 2025 10:27:41 -0600 Subject: [PATCH] Fix: Complete cleanup of experimental playwright dependencies - Revert package.json to stable version (remove e2e-playwright scripts and path references) - Revert playwright.config.ts to stable plugin-e2e configuration - Remove all experimental playwright infrastructure dependencies - Ensure clean stable E2E testing environment All experimental features removed per team recommendation for stable release branches --- package.json | 158 ++++++++++++++++++++++++------------------- playwright.config.ts | 9 +++ 2 files changed, 96 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 241c8c59678..617104b7a1f 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,10 @@ "license": "AGPL-3.0-only", "private": true, "name": "grafana", - "version": "12.0.3", + "version": "12.1.0-pre", "repository": "github:grafana/grafana", "scripts": { - "build": "NODE_ENV=production nx exec --verbose -- webpack --config scripts/webpack/webpack.prod.js --progress", + "build": "NODE_ENV=production nx exec --verbose -- webpack --config scripts/webpack/webpack.prod.js", "build:nominify": "yarn run build -- --env noMinify=1", "build:stats": "NODE_ENV=production webpack --progress --config scripts/webpack/webpack.stats.js", "dev": "NODE_ENV=dev nx exec -- webpack --config scripts/webpack/webpack.dev.js", @@ -14,6 +14,8 @@ "e2e:old-arch": "./e2e/start-and-run-suite old-arch", "e2e:schema-v2": "./e2e/start-and-run-suite dashboards-schema-v2", "e2e:dashboards-search": "./e2e/start-and-run-suite dashboards-search", + "e2e:dashboard-new-layouts": "./e2e/start-and-run-suite dashboard-new-layouts", + "e2e:dashboard-new-layouts:dev": "./e2e/start-and-run-suite dashboard-new-layouts dev", "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", @@ -36,12 +38,13 @@ "lint:fix": "yarn lint:ts --fix", "packages:build": "nx run-many -t build --projects='tag:scope:package'", "packages:clean": "rimraf ./npm-artifacts && nx run-many -t clean --projects='tag:scope:package' --maxParallel=100", + "packages:i18n-extract": "nx run-many -t i18n-extract --projects='tag:scope:package'", "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": "nx run-many -t typecheck --projects='tag:scope:package'", - "prettier:check": "prettier --check --list-different=false --log-level=warn \"**/*.{ts,tsx,scss,md,mdx,json,js,cjs}\"", + "prettier:check": "prettier --check --ignore-path .prettierignore --list-different=false --log-level=warn \"**/*.{ts,tsx,scss,md,mdx,json,js,cjs}\"", "prettier:checkDocs": "prettier --check --list-different=false --log-level=warn \"docs/**/*.md\" \"*.md\" \"packages/**/*.{ts,tsx,scss,md,mdx,json,js,cjs}\"", - "prettier:write": "prettier --list-different \"**/*.{js,ts,tsx,scss,md,mdx,json,cjs}\" --write", + "prettier:write": "prettier --ignore-path .prettierignore --list-different \"**/*.{js,ts,tsx,scss,md,mdx,json,cjs}\" --write", "start": "NODE_ENV=dev nx exec -- webpack --config scripts/webpack/webpack.dev.js --watch", "start:liveReload": "yarn start -- --env liveReload=1", "start:noTsCheck": "yarn start -- --env noTsCheck=1", @@ -64,29 +67,33 @@ "plugin:build": "nx run-many -t build --projects='tag:scope:plugin'", "plugin:build:commit": "nx run-many -t build:commit --projects='tag:scope:plugin'", "plugin:build:dev": "nx run-many -t dev --projects='tag:scope:plugin' --maxParallel=100", - "generate-icons": "nx run grafana-icons:generate", + "plugin:i18n-extract": "nx run-many -t i18n-extract --projects='tag:scope:plugin'", "process-specs": "node --experimental-strip-types scripts/process-specs.ts", - "generate-apis": "yarn process-specs && rtk-query-codegen-openapi ./scripts/generate-rtk-apis.ts" + "generate-apis": "yarn process-specs && rtk-query-codegen-openapi ./scripts/generate-rtk-apis.ts", + "generate:api-client": "NODE_OPTIONS='--experimental-strip-types --disable-warning=ExperimentalWarning' plop --plopfile scripts/rtk-client-generator/plopfile.ts" }, "grafana": { "whatsNewUrl": "https://grafana.com/docs/grafana/next/whatsnew/whats-new-in-v%[1]s-%[2]s/", "releaseNotesUrl": "https://grafana.com/docs/grafana/next/release-notes/" }, "devDependencies": { + "@arethetypeswrong/cli": "^0.18.2", "@babel/core": "7.26.10", "@babel/preset-env": "7.26.9", "@babel/runtime": "7.27.0", "@betterer/betterer": "5.4.0", "@betterer/cli": "5.4.0", + "@crowdin/crowdin-api-client": "^1.42.0", "@cypress/webpack-preprocessor": "6.0.4", "@emotion/eslint-plugin": "11.12.0", "@grafana/eslint-config": "8.0.0", "@grafana/eslint-plugin": "link:./packages/grafana-eslint-rules", - "@grafana/plugin-e2e": "1.17.1", + "@grafana/plugin-e2e": "2.0.0", + "@grafana/test-utils": "workspace:*", "@grafana/tsconfig": "^2.0.0", "@manypkg/get-packages": "^2.2.0", "@npmcli/package-json": "^5.2.0", - "@playwright/test": "1.50.1", + "@playwright/test": "1.52.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", "@react-types/button": "3.10.2", "@react-types/menu": "3.9.14", @@ -104,13 +111,13 @@ "@testing-library/user-event": "14.6.1", "@types/babel__core": "^7", "@types/babel__preset-env": "^7", - "@types/chance": "^1.1.3", + "@types/chance": "^1.1.7", "@types/common-tags": "^1.8.0", + "@types/confusing-browser-globals": "^1", "@types/d3": "7.4.3", "@types/d3-force": "^3.0.0", "@types/d3-scale-chromatic": "3.1.0", "@types/debounce-promise": "3.1.9", - "@types/diff": "^7.0.0", "@types/eslint": "9.6.1", "@types/eslint-scope": "^3.7.7", "@types/file-saver": "2.0.7", @@ -123,10 +130,10 @@ "@types/jquery": "3.5.32", "@types/js-yaml": "^4.0.5", "@types/jsurl": "^1.2.28", - "@types/lodash": "4.17.15", + "@types/lodash": "4.17.20", "@types/logfmt": "^1.2.3", "@types/lucene": "^2", - "@types/node": "22.12.0", + "@types/node": "22.15.0", "@types/node-forge": "^1", "@types/ol-ext": "npm:@siedlerchr/types-ol-ext@3.3.0", "@types/pluralize": "^0.0.33", @@ -144,37 +151,38 @@ "@types/react-window": "1.8.8", "@types/react-window-infinite-loader": "^1", "@types/redux-mock-store": "1.5.0", - "@types/semver": "7.5.8", + "@types/semver": "7.7.0", "@types/slate": "0.47.11", "@types/slate-plain-serializer": "0.7.5", "@types/slate-react": "0.22.9", "@types/swagger-ui-react": "5.18.0", - "@types/systemjs": "6.15.1", + "@types/systemjs": "6.15.3", "@types/tinycolor2": "1.4.6", "@types/uuid": "10.0.0", "@types/webpack-assets-manifest": "^5", "@types/webpack-env": "^1.18.4", "@types/yargs": "17.0.33", - "@typescript-eslint/eslint-plugin": "8.22.0", - "@typescript-eslint/parser": "8.22.0", - "autoprefixer": "10.4.20", + "@typescript-eslint/eslint-plugin": "8.35.1", + "@typescript-eslint/parser": "8.35.1", + "autoprefixer": "10.4.21", "babel-loader": "9.2.1", "blob-polyfill": "9.0.20240710", "browserslist": "^4.21.4", - "chance": "^1.0.10", - "chrome-remote-interface": "0.33.2", + "chance": "^1.1.13", + "chrome-remote-interface": "0.33.3", "codeowners": "^5.1.1", + "confusing-browser-globals": "^1.0.11", "copy-webpack-plugin": "12.0.2", "core-js": "3.40.0", "crashme": "0.0.15", "css-loader": "7.1.2", - "css-minimizer-webpack-plugin": "7.0.0", - "cypress": "13.10.0", + "css-minimizer-webpack-plugin": "7.0.2", + "cypress": "14.3.2", "cypress-file-upload": "5.0.8", "cypress-recurse": "^1.35.3", - "esbuild": "0.25.0", + "esbuild": "0.25.6", "esbuild-loader": "4.3.0", - "esbuild-plugin-browserslist": "^0.16.0", + "esbuild-plugin-browserslist": "^1.0.0", "eslint": "9.19.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "^2.31.0", @@ -184,16 +192,16 @@ "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-lodash": "8.0.0", "eslint-plugin-no-barrel-files": "^1.1.1", - "eslint-plugin-react": "7.37.4", + "eslint-plugin-react": "7.37.5", "eslint-plugin-react-hooks": "5.1.0", "eslint-plugin-testing-library": "^7.0.0", "eslint-plugin-unicorn": "^56.0.0", "eslint-scope": "^8.1.0", "eslint-webpack-plugin": "4.2.0", - "expose-loader": "5.0.0", + "expose-loader": "5.0.1", "fishery": "^2.2.2", "fork-ts-checker-webpack-plugin": "9.0.2", - "glob": "11.0.1", + "glob": "11.0.3", "html-loader": "5.1.0", "html-webpack-plugin": "5.6.3", "http-server": "14.1.1", @@ -209,24 +217,26 @@ "jest-watch-typeahead": "^2.2.2", "jimp": "^1.6.0", "jsdom-testing-mocks": "^1.13.1", - "lerna": "8.2.1", + "lerna": "8.2.3", "mini-css-extract-plugin": "2.9.2", - "msw": "2.7.0", + "msw": "2.10.3", "mutationobserver-shim": "0.3.7", "node-notifier": "10.0.1", "nx": "20.7.1", "openapi-types": "^12.1.3", + "pa11y-ci": "^3.1.0", "pdf-parse": "^1.1.1", - "postcss": "8.5.1", + "plop": "^4.0.1", + "postcss": "8.5.6", "postcss-loader": "8.1.1", "postcss-reporter": "7.1.0", "postcss-scss": "4.0.9", "prettier": "3.4.2", + "publint": "^0.3.12", "react-refresh": "0.14.0", "react-select-event": "5.5.1", "redux-mock-store": "1.5.5", "rimraf": "6.0.1", - "rudder-sdk-js": "2.48.44", "sass": "1.83.4", "sass-loader": "16.0.4", "smtp-tester": "^2.1.0", @@ -238,28 +248,30 @@ "tracelib": "1.0.1", "ts-jest": "29.2.5", "ts-node": "10.9.2", - "typescript": "5.7.3", + "typescript": "5.8.3", "webpack": "5.97.1", "webpack-assets-manifest": "^5.1.0", "webpack-cli": "6.0.1", - "webpack-dev-server": "5.2.0", + "webpack-dev-server": "5.2.1", "webpack-livereload-plugin": "3.0.2", "webpack-manifest-plugin": "5.0.0", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "^5.2.0-rc.1", "webpackbar": "^7.0.0", "yaml": "^2.0.0", - "yargs": "^17.5.1" + "yargs": "^17.5.1", + "zod": "^3.25.55" }, "dependencies": { - "@bsull/augurs": "^0.9.0", + "@bsull/augurs": "^0.10.0", "@emotion/css": "11.13.5", "@emotion/react": "11.14.0", "@fingerprintjs/fingerprintjs": "^3.4.2", - "@floating-ui/react": "0.27.7", + "@floating-ui/react": "0.27.13", "@formatjs/intl-durationformat": "^0.7.0", "@glideapps/glide-data-grid": "^6.0.0", - "@grafana/aws-sdk": "0.6.0", + "@grafana/alerting": "workspace:*", + "@grafana/aws-sdk": "0.7.1", "@grafana/azure-sdk": "0.0.7", "@grafana/data": "workspace:*", "@grafana/e2e-selectors": "workspace:*", @@ -267,21 +279,21 @@ "@grafana/faro-web-sdk": "^1.13.2", "@grafana/faro-web-tracing": "^1.13.2", "@grafana/flamegraph": "workspace:*", - "@grafana/google-sdk": "0.1.2", - "@grafana/lezer-logql": "0.2.7", - "@grafana/llm": "0.13.2", + "@grafana/google-sdk": "0.3.4", + "@grafana/i18n": "workspace:*", + "@grafana/lezer-logql": "0.2.8", + "@grafana/llm": "0.22.1", "@grafana/monaco-logql": "^0.0.8", "@grafana/o11y-ds-frontend": "workspace:*", - "@grafana/plugin-ui": "0.10.5", + "@grafana/plugin-ui": "0.10.7", "@grafana/prometheus": "workspace:*", "@grafana/runtime": "workspace:*", - "@grafana/saga-icons": "workspace:*", - "@grafana/scenes": "^6.7.0", - "@grafana/scenes-react": "^6.7.0", + "@grafana/scenes": "^6.27.0", + "@grafana/scenes-react": "^6.27.0", "@grafana/schema": "workspace:*", "@grafana/sql": "workspace:*", "@grafana/ui": "workspace:*", - "@hello-pangea/dnd": "17.0.0", + "@hello-pangea/dnd": "18.0.1", "@kusto/monaco-kusto": "^10.0.0", "@leeoniya/ufuzzy": "1.0.18", "@lezer/common": "1.2.3", @@ -294,13 +306,13 @@ "@msagl/parser": "^1.1.19", "@opentelemetry/api": "1.9.0", "@opentelemetry/exporter-collector": "0.25.0", - "@opentelemetry/semantic-conventions": "1.28.0", + "@opentelemetry/semantic-conventions": "1.34.0", "@popperjs/core": "2.11.8", - "@react-aria/dialog": "3.5.23", - "@react-aria/focus": "3.20.1", - "@react-aria/overlays": "3.26.1", - "@react-aria/utils": "3.28.1", - "@react-awesome-query-builder/ui": "6.6.14", + "@react-aria/dialog": "3.5.27", + "@react-aria/focus": "3.20.5", + "@react-aria/overlays": "3.27.3", + "@react-aria/utils": "3.29.1", + "@react-awesome-query-builder/ui": "6.6.15", "@reduxjs/toolkit": "2.5.1", "@visx/event": "3.12.0", "@visx/gradient": "3.12.0", @@ -311,7 +323,7 @@ "ansicolor": "2.0.3", "baron": "3.0.3", "brace": "0.11.1", - "centrifuge": "5.3.4", + "centrifuge": "5.3.5", "classnames": "2.5.1", "combokeys": "^3.0.0", "comlink": "4.4.2", @@ -323,16 +335,16 @@ "dangerously-set-html-content": "1.1.0", "date-fns": "4.1.0", "debounce-promise": "3.1.2", - "diff": "^7.0.0", + "diff": "^8.0.0", "fast-deep-equal": "^3.1.3", "fast-json-patch": "3.1.1", "file-saver": "2.0.5", "history": "4.10.1", - "i18next": "^24.0.0", + "i18next": "^25.0.0", "i18next-browser-languagedetector": "^8.0.0", "i18next-pseudo": "^2.2.1", "immer": "10.1.1", - "immutable": "5.0.3", + "immutable": "5.1.3", "ix": "^7.0.0", "jquery": "3.7.1", "js-yaml": "^4.1.0", @@ -343,10 +355,11 @@ "leven": "^4.0.0", "lodash": "4.17.21", "logfmt": "^1.3.2", - "lru-cache": "11.0.2", + "lossless-json": "^4.1.1", + "lru-cache": "11.1.0", "lru-memoize": "^1.1.0", "lucene": "^2.1.1", - "marked": "15.0.6", + "marked": "16.0.0", "memoize-one": "6.0.0", "micro-memoize": "^4.1.2", "ml-regression-polynomial": "^3.0.0", @@ -358,16 +371,16 @@ "nanoid": "^5.0.9", "node-forge": "^1.3.1", "ol": "7.4.0", - "ol-ext": "4.0.26", + "ol-ext": "4.0.33", "pluralize": "^8.0.0", "prismjs": "1.30.0", "rc-slider": "11.1.8", - "rc-tree": "5.13.0", - "re-resizable": "6.10.3", + "rc-tree": "5.13.1", + "re-resizable": "6.11.2", "react": "18.3.1", "react-diff-viewer-continued": "^3.4.0", "react-dom": "18.3.1", - "react-draggable": "4.4.6", + "react-draggable": "4.5.0", "react-dropzone": "^14.2.3", "react-grid-layout": "patch:react-grid-layout@npm%3A1.4.4#~/.yarn/patches/react-grid-layout-npm-1.4.4-4024c5395b.patch", "react-highlight-words": "0.21.0", @@ -382,7 +395,7 @@ "react-router": "5.3.4", "react-router-dom": "5.3.4", "react-router-dom-v5-compat": "^6.26.1", - "react-select": "5.10.0", + "react-select": "5.10.1", "react-split-pane": "0.1.92", "react-table": "7.8.0", "react-transition-group": "4.4.5", @@ -397,13 +410,13 @@ "redux-thunk": "3.1.0", "regenerator-runtime": "0.14.1", "reselect": "5.1.1", - "rxjs": "7.8.1", + "rxjs": "7.8.2", "selecto": "1.26.3", - "semver": "7.7.0", + "semver": "7.7.2", "slate": "0.47.9", "slate-plain-serializer": "0.7.13", "slate-react": "0.22.10", - "swagger-ui-react": "5.20.5", + "swagger-ui-react": "5.26.2", "symbol-observable": "4.0.0", "systemjs": "6.15.1", "tinycolor2": "1.6.0", @@ -411,8 +424,9 @@ "tween-functions": "^1.2.0", "type-fest": "^4.18.2", "uplot": "1.6.32", - "uuid": "11.0.5", - "visjs-network": "4.25.0", + "uuid": "11.1.0", + "vis-data": "^7.1.10", + "vis-network": "9.1.13", "whatwg-fetch": "3.6.20" }, "resolutions": { @@ -430,21 +444,23 @@ "@grafana/plugin-e2e/@grafana/e2e-selectors": "workspace:*", "@grafana/scenes/@grafana/e2e-selectors": "workspace:*", "@grafana/scenes-react/@grafana/e2e-selectors": "workspace:*", - "swagger-ui-react/dompurify": "3.2.5", - "refractor/prismjs": "^1.27.0" + "swagger-ui-react/dompurify": "3.2.6", + "refractor/prismjs": "^1.27.0", + "@mapbox/jsonlint-lines-primitives": "github:mapbox/jsonlint#commit=e31b7289baedf3e1000d7ae7edd42268212c9954", + "get-document": "github:webmodules/get-document#commit=a04ccb499d6e0433a368c3bb150b4899b698461f", + "gitconfiglocal": "2.1.0" }, "workspaces": { "packages": [ "packages/*", - "packages/!(grafana-icons)/**", "public/app/plugins/*/*", "e2e/test-plugins/*" ] }, "engines": { - "node": ">= 22" + "node": ">= 22 <23" }, - "packageManager": "yarn@4.6.0", + "packageManager": "yarn@4.9.2", "dependenciesMeta": { "prettier@3.4.2": { "unplugged": true diff --git a/playwright.config.ts b/playwright.config.ts index ff4e8ae7d10..39ac6aebd5f 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -187,5 +187,14 @@ export default defineConfig({ }, dependencies: ['authenticate'], }, + { + name: 'loki', + testDir: path.join(testDirRoot, '/loki'), + use: { + ...devices['Desktop Chrome'], + storageState: 'playwright/.auth/admin.json', + }, + dependencies: ['authenticate'], + }, ], });