-
Notifications
You must be signed in to change notification settings - Fork 117
[AI CVE test PR - Don't merge] fix(deps): update Node.js dependencies and resolve security vulnerabi… #6088
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -43,12 +43,13 @@ | |||||
| "dependencies": { | ||||||
| "@apollo/client": "3.14.1", | ||||||
| "@babel/runtime": "^7.29.2", | ||||||
| "@cypress/code-coverage": "^4.0.3", | ||||||
| "@emotion/css": "^11.13.5", | ||||||
| "@emotion/react": "^11.14.0", | ||||||
| "@emotion/styled": "^11.14.1", | ||||||
| "@monaco-editor/react": "^4.6.0", | ||||||
| "@monaco-editor/react": "^4.7.0", | ||||||
| "@mui/material": "^5.18.0", | ||||||
| "@octokit/rest": "19.0.13", | ||||||
| "@octokit/rest": "^22.0.1", | ||||||
| "@octokit/types": "6.41.0", | ||||||
| "@openshift-assisted/locales": "2.18.1-cim", | ||||||
| "@openshift-assisted/ui-lib": "2.18.1-cim", | ||||||
|
|
@@ -64,17 +65,17 @@ | |||||
| "@patternfly/react-topology": "^6.4.0", | ||||||
| "@patternfly/react-user-feedback": "^6.2.0", | ||||||
| "@react-hook/resize-observer": "1.2.6", | ||||||
| "@redhat-cloud-services/rule-components": "^4.4.1", | ||||||
| "@redhat-cloud-services/rule-components": "^3.2.6", | ||||||
| "@reduxjs/toolkit": "1.9.x", | ||||||
| "@stolostron/react-data-view": "^3.4.0", | ||||||
| "@stolostron/react-data-view": "^3.6.0", | ||||||
| "@tanstack/react-query": "^4.44.0", | ||||||
| "ajv": "8.20.0", | ||||||
| "axios": "^1.15.2", | ||||||
| "axios": "^1.16.0", | ||||||
| "cidr-tools": "4.3.0", | ||||||
| "debounce": "1.2.1", | ||||||
| "deep-diff": "1.0.2", | ||||||
| "fast-json-patch": "3.1.1", | ||||||
| "file-saver": "^2.0.2", | ||||||
| "file-saver": "^2.0.5", | ||||||
| "formik-pf": "0.0.1-alpha9", | ||||||
| "fuse.js": "6.6.2", | ||||||
| "get-value": "3.0.1", | ||||||
|
|
@@ -83,7 +84,7 @@ | |||||
| "highlight.js": "^11.11.1", | ||||||
| "i18next": "21.10.0", | ||||||
| "i18next-browser-languagedetector": "6.1.8", | ||||||
| "i18next-http-backend": "1.4.5", | ||||||
| "i18next-http-backend": "^4.0.0", | ||||||
| "ip-cidr": "2.1.5", | ||||||
| "js-sha256": "^0.11.1", | ||||||
| "js-yaml": "4.1.1", | ||||||
|
|
@@ -99,31 +100,32 @@ | |||||
| "svg.js": "2.7.1", | ||||||
| "validator": "13.15.35", | ||||||
| "victory": "^37.3.6", | ||||||
| "watch": "0.13.0", | ||||||
| "yaml": "1.10.3", | ||||||
| "yaml-ast-parser": "^0.0.43", | ||||||
| "yup": "0.32.11" | ||||||
| }, | ||||||
| "devDependencies": { | ||||||
| "@babel/core": "^7.29.0", | ||||||
| "@babel/plugin-transform-runtime": "^7.29.0", | ||||||
| "@babel/preset-env": "^7.29.2", | ||||||
| "@babel/preset-env": "^7.29.3", | ||||||
| "@babel/preset-react": "^7.28.5", | ||||||
| "@babel/preset-typescript": "^7.28.5", | ||||||
| "@kubernetes/client-node": "^1.4.0", | ||||||
| "@openshift-console/dynamic-plugin-sdk": "^4.19.1", | ||||||
| "@openshift-console/dynamic-plugin-sdk": "^4.20.0", | ||||||
| "@openshift-console/dynamic-plugin-sdk-webpack": "4.19.0", | ||||||
| "@pmmmwh/react-refresh-webpack-plugin": "^0.6.2", | ||||||
| "@sentry/browser": "6.19.7", | ||||||
| "@sentry/browser": "^10.51.0", | ||||||
| "@storybook/addon-a11y": "8.0.9", | ||||||
| "@storybook/addon-actions": "8.0.9", | ||||||
| "@storybook/addon-docs": "8.0.9", | ||||||
| "@storybook/addon-essentials": "8.0.9", | ||||||
| "@storybook/addon-actions": "^9.0.8", | ||||||
| "@storybook/addon-docs": "^8.6.18", | ||||||
| "@storybook/addon-essentials": "^7.0.6", | ||||||
| "@storybook/addon-storysource": "8.0.9", | ||||||
| "@storybook/addon-webpack5-compiler-babel": "^4.0.0", | ||||||
| "@storybook/cli": "8.0.9", | ||||||
| "@storybook/addon-webpack5-compiler-babel": "^4.0.1", | ||||||
| "@storybook/cli": "^10.3.6", | ||||||
| "@storybook/core-common": "8.0.9", | ||||||
| "@storybook/react": "8.0.9", | ||||||
| "@storybook/react-webpack5": "8.0.9", | ||||||
| "@storybook/react": "^8.6.18", | ||||||
| "@storybook/react-webpack5": "^8.6.18", | ||||||
|
Comment on lines
+120
to
+128
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: # First, let's find and read the frontend/package.json file
find . -name "package.json" -path "*/frontend/*" | head -5Repository: stolostron/console Length of output: 283 🏁 Script executed: # Look for package.json in common locations
fd -t f "package.json" | grep -E "(frontend|app)" | head -10Repository: stolostron/console Length of output: 273 🏁 Script executed: # Check the size of frontend/package.json
wc -l ./frontend/package.jsonRepository: stolostron/console Length of output: 90 🏁 Script executed: # Read lines 115-135 to see the context around lines 120-128
sed -n '115,135p' ./frontend/package.json | cat -nRepository: stolostron/console Length of output: 1122 🏁 Script executed: # Also read around line 201 to see what "Also applies to: 201-201" refers to
sed -n '195,210p' ./frontend/package.json | cat -nRepository: stolostron/console Length of output: 647 🌐 Web query:
💡 Result: Storybook requires all Citations:
Unify Storybook versions across all Current dependencies span versions 7.x–10.x ( 🤖 Prompt for AI Agents |
||||||
| "@svgr/webpack": "^8.1.0", | ||||||
| "@tanstack/react-query-devtools": "^4.44.0", | ||||||
| "@testing-library/jest-dom": "^6.9.1", | ||||||
|
|
@@ -132,7 +134,7 @@ | |||||
| "@testing-library/user-event": "12.8.3", | ||||||
| "@types/debounce": "1.2.4", | ||||||
| "@types/deep-diff": "^1.0.5", | ||||||
| "@types/file-saver": "^2.0.5", | ||||||
| "@types/file-saver": "^2.0.7", | ||||||
| "@types/get-value": "3.0.5", | ||||||
| "@types/jest": "^29.5.14", | ||||||
| "@types/jest-axe": "3.5.9", | ||||||
|
|
@@ -151,27 +153,28 @@ | |||||
| "buffer": "6.0.3", | ||||||
| "bundle-loader": "^0.5.6", | ||||||
| "comment-json": "4.6.2", | ||||||
| "compression-webpack-plugin": "11.1.0", | ||||||
| "compression-webpack-plugin": "^12.0.0", | ||||||
| "concurrently": "9.2.1", | ||||||
| "copy-webpack-plugin": "13.0.1", | ||||||
| "copy-webpack-plugin": "^14.0.0", | ||||||
| "css-loader": "^7.1.4", | ||||||
| "css-minimizer-webpack-plugin": "^7.0.0", | ||||||
| "css-minimizer-webpack-plugin": "^8.0.0", | ||||||
| "cypress": "^15.14.2", | ||||||
| "file-loader": "6.2.0", | ||||||
| "fork-ts-checker-webpack-plugin": "^6.5.3", | ||||||
| "html-webpack-plugin": "^5.6.7", | ||||||
| "i18next-parser": "6.6.0", | ||||||
| "i18next-parser": "^9.0.2", | ||||||
| "identity-obj-proxy": "3.0.0", | ||||||
| "jest": "^29.7.0", | ||||||
| "jest-axe": "6.0.1", | ||||||
| "jest-diff": "29.7.0", | ||||||
| "jest-environment-jsdom": "^29.7.0", | ||||||
| "jest-environment-jsdom": "^30.3.0", | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cat frontend/package.json | grep -A 2 -B 2 '"jest'Repository: stolostron/console Length of output: 705 🌐 Web query:
💡 Result: jest-environment-jsdom compatibility with Jest 29 vs 30 (and what jsdom versions you’ll get) 1) Jest 29 - In the Jest 28→29 upgrade notes, jest-environment-jsdom is described as upgrading jsdom from v19 to v20. This means jest-environment-jsdom used with Jest 29 runs the JSDOM v20 environment. 2) Jest 30 - In the Jest 30 upgrade documentation and the Jest 30 blog post, jest-environment-jsdom is described as using JSDOM v26. So, in practice: - Jest 29 + jest-environment-jsdom => jsdom v20 - Jest 30 + jest-environment-jsdom => jsdom v26 Important implication - Upgrading from Jest 29 to Jest 30 will change the underlying DOM behavior because jsdom jumps (20 → 26), so tests that mock/inspect DOM APIs (e.g., around location, CSS, etc.) may require adjustment. If you want, tell me your current versions (jest, jest-environment-jsdom, jsdom, Node, and ts-jest/ts-jest or babel-jest) and I can suggest the exact dependency set to pin. Citations:
🌐 Web query:
💡 Result: Yes, jest-environment-jsdom 29.7.0 is compatible with Jest 29. It is the official JSDOM test environment package for Jest 29.x versions, including 29.7.0. To use it, install as a devDependency: npm install --save-dev jest-environment-jsdom@29.7.0 jest@29. Configure in jest.config.js or package.json: { "testEnvironment": "jest-environment-jsdom" } Official Jest 29.7 docs explicitly reference and integrate jest-environment-jsdom, confirming compatibility. It upgrades jsdom to v20 in Jest 29 (from v19 in Jest 28). GitHub issues show it works with Jest 29.7.0, and the package is designed for Jest 29. Citations:
🌐 Web query:
💡 Result: jest-environment-jsdom version 30 is designed for use with Jest 30 and is incompatible with Jest 29 due to version-specific coupling and breaking changes in the underlying JSDOM implementation. Key issues and breaking changes when using Jest 29 with jsdom 26 (from jest-environment-jsdom 30): - window.location becomes non-configurable, preventing common mocking patterns like Object.defineProperty(window, 'location', ...). This throws TypeError: Cannot redefine property: location. Works in Jest 29's jsdom ~20. - CSS style behavior changes, e.g., el.style.boxShadow = undefined now serializes to "undefined" string instead of empty string. - Potential new warnings or DOM behavior differences from JSDOM v21-26 updates. Official Jest 30 upgrade docs note: "The jest-environment-jsdom package now uses JSDOM v26. This update may introduce behavior changes in the DOM environment." Version matrix: - Jest 29: uses jest-environment-jsdom 29.x with jsdom ^20.x - Jest 30: uses jest-environment-jsdom 30.x with jsdom ^26.x Workarounds reported (not recommended for production): - Pin jest-environment-jsdom to ^29.7.0 when using Jest 30 (loses JSDOM improvements). - Complex hacks to mock via jsdom internal implSymbol for location. To avoid issues, either upgrade to Jest 30 fully (requires Node 18+, TypeScript 5.4+, test fixes for matchers/snapshots) or stick with jest-environment-jsdom 29.x for Jest 29. No sources confirm successful use of jest-environment-jsdom 30 directly with Jest 29; attempts likely fail due to API/integration mismatches. Citations:
Downgrade jest-environment-jsdom to match Jest 29. jest-environment-jsdom 30.x is incompatible with Jest 29.x. Version 30 bundles JSDOM v26, which introduces breaking changes: Suggested fix- "jest-environment-jsdom": "^30.3.0",
+ "jest-environment-jsdom": "^29.7.0",📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| "jest-fetch-mock": "3.0.3", | ||||||
| "jest-raw-loader": "1.0.1", | ||||||
| "jest-sonar-reporter": "2.0.0", | ||||||
| "json-loader": "0.5.7", | ||||||
| "merge-jsons-webpack-plugin": "2.0.1", | ||||||
| "mini-css-extract-plugin": "^2.10.2", | ||||||
| "monaco-editor-webpack-plugin": "^7.1.0", | ||||||
| "monaco-editor-webpack-plugin": "^7.1.1", | ||||||
| "nock": "13.5.6", | ||||||
| "node-util": "0.0.6", | ||||||
| "null-loader": "4.0.1", | ||||||
|
|
@@ -180,7 +183,7 @@ | |||||
| "query-string": "7.1.3", | ||||||
| "react": "^18.3.1", | ||||||
| "react-dom": "^18.3.1", | ||||||
| "react-hot-loader": "^4.13.0", | ||||||
| "react-hot-loader": "^4.13.1", | ||||||
| "react-i18next": "11.18.6", | ||||||
| "react-redux": "7.2.9", | ||||||
| "react-refresh": "^0.18.0", | ||||||
|
|
@@ -195,7 +198,7 @@ | |||||
| "sass": "1.99.0", | ||||||
| "sass-loader": "13.3.3", | ||||||
| "stacktrace-js": "2.0.2", | ||||||
| "storybook": "8.0.9", | ||||||
| "storybook": "^8.6.18", | ||||||
| "stream-browserify": "3.0.0", | ||||||
| "style-loader": "3.3.4", | ||||||
| "swr": "1.3.0", | ||||||
|
|
@@ -205,13 +208,13 @@ | |||||
| "ts-node": "10.9.2", | ||||||
| "tsconfig-paths": "4.2.0", | ||||||
| "tsconfig-paths-webpack-plugin": "^4.2.0", | ||||||
| "typescript": "^5.8.2", | ||||||
| "typescript": "^5.9.3", | ||||||
| "v8-compile-cache": "2.4.0", | ||||||
| "vm-browserify": "^1.1.2", | ||||||
| "webpack": "^5.106.2", | ||||||
| "webpack-bundle-analyzer": "4.10.2", | ||||||
| "webpack-cli": "4.10.0", | ||||||
| "webpack-dev-server": "^4.15.2" | ||||||
| "webpack-dev-server": "^5.2.3" | ||||||
| }, | ||||||
| "browserslist": { | ||||||
| "production": [ | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -38,7 +38,7 @@ | |||||
| "check-doc:fix": "npm run generate-doc" | ||||||
| }, | ||||||
| "peerDependencies": { | ||||||
| "@openshift-console/dynamic-plugin-sdk": ">=1.0.0 || >=4.19.0-prerelease" | ||||||
| "@openshift-console/dynamic-plugin-sdk": "4.20.0" | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: # First, locate and examine the specific package.json file
find . -path "*frontend/packages/multicluster-sdk/package.json" -type fRepository: stolostron/console Length of output: 112 🏁 Script executed: # If found, read the file around line 41 to see the context
if [ -f "frontend/packages/multicluster-sdk/package.json" ]; then
cat -n "frontend/packages/multicluster-sdk/package.json" | sed -n '30,50p'
fiRepository: stolostron/console Length of output: 987 🏁 Script executed: # Also get the full peerDependencies section to understand the scope
if [ -f "frontend/packages/multicluster-sdk/package.json" ]; then
cat "frontend/packages/multicluster-sdk/package.json" | jq '.peerDependencies // .dependencies' 2>/dev/null
fiRepository: stolostron/console Length of output: 118 🌐 Web query:
💡 Result: OpenShift Console dynamic plugins use semantic versioning (semver) for dependencies to ensure compatibility with the Console and other plugins. Plugins declare dependencies in the consolePlugin object within package.json. Key aspects: - Dependencies are specified as semver ranges, e.g., "@console/pluginAPI": "~4.19.0". - The Citations:
Use semver range for peer dependency on Console SDK. The OpenShift Console SDK documentation specifies that dependencies should use semantic versioning ranges (e.g., Suggested fix- "@openshift-console/dynamic-plugin-sdk": "4.20.0"
+ "@openshift-console/dynamic-plugin-sdk": "~4.20.0"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| }, | ||||||
| "devDependencies": { | ||||||
| "@kubernetes/client-node": "^1.4.0", | ||||||
|
|
@@ -48,30 +48,45 @@ | |||||
| "@testing-library/user-event": "^12.8.3", | ||||||
| "@types/jest": "^29.5.14", | ||||||
| "@types/jest-axe": "^3.5.4", | ||||||
| "@types/react-virtualized": "^9.22.2", | ||||||
| "@types/react-virtualized": "^9.22.3", | ||||||
| "babel-jest": "^28.1.3", | ||||||
| "jest": "^29.7.0", | ||||||
| "jest-axe": "^6.0.0", | ||||||
| "jest-diff": "^29.3.1", | ||||||
| "jest-environment-jsdom": "^29.7.0", | ||||||
| "jest-environment-jsdom": "^30.3.0", | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cat -n frontend/packages/multicluster-sdk/package.json | head -70Repository: stolostron/console Length of output: 2778 🌐 Web query:
💡 Result: Jest follows semantic versioning (SemVer) with major version releases introducing breaking changes. Version 29.7.0 is the final patch release in the 29.x series (last published around early 2025), while 30.x is the current major version (released June 2025, latest 30.3.0 as of 2026). Versioning strategy: Jest is a monorepo publishing multiple inter-dependent packages ( Citations:
Keep Jest and This pairs Suggested fix- "jest-environment-jsdom": "^30.3.0",
+ "jest-environment-jsdom": "^29.7.0",📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| "jest-fetch-mock": "^3.0.3", | ||||||
| "jest-raw-loader": "^1.0.1", | ||||||
| "jest-sonar-reporter": "^2.0.0", | ||||||
| "prettier": "^3.2.5", | ||||||
| "tsdoc-markdown": "^1.4.1", | ||||||
| "typescript": "^5.8.2", | ||||||
| "watch": "^1.0.2" | ||||||
| "prettier": "^3.8.3", | ||||||
| "tsdoc-markdown": "^1.5.0", | ||||||
| "typescript": "^5.9.3", | ||||||
| "watch": "^0.13.0" | ||||||
| }, | ||||||
| "prettier": "@stolostron/prettier-config", | ||||||
| "dependencies": { | ||||||
| "@apollo/client": "3.14.1", | ||||||
| "@cypress/code-coverage": "^4.0.3", | ||||||
| "@octokit/rest": "22.0.1", | ||||||
| "@patternfly/react-core": "^6.4.3", | ||||||
| "@patternfly/react-styles": "^6.4.0", | ||||||
| "@sentry/browser": "10.51.0", | ||||||
| "@storybook/addon-actions": "9.0.8", | ||||||
| "@storybook/addon-docs": "8.6.18", | ||||||
| "@storybook/addon-essentials": "^7.0.6", | ||||||
| "@storybook/cli": "^10.3.6", | ||||||
|
Comment on lines
+73
to
+76
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cat -n frontend/packages/multicluster-sdk/package.json | sed -n '70,95p'Repository: stolostron/console Length of output: 990 🏁 Script executed: cd frontend/packages/multicluster-sdk && git log -p --follow -S "storybook" -- package.json | head -200Repository: stolostron/console Length of output: 44 🏁 Script executed: rg "@storybook" frontend/packages --type json | grep -E "package.json"Repository: stolostron/console Length of output: 782 🏁 Script executed: find frontend/packages -name ".storybook" -type d -o -name "storybook.config.*" -type f | head -20Repository: stolostron/console Length of output: 44 Align Storybook versions across all packages in the workspace. The dependencies mix Storybook 7.x, 8.x, 9.x, and 10.x versions. Storybook's upgrade guidance recommends aligning all packages to a single target version to avoid compatibility issues. This affects both 🤖 Prompt for AI Agents |
||||||
| "compression-webpack-plugin": "12.0.0", | ||||||
| "copy-webpack-plugin": "14.0.0", | ||||||
| "css-minimizer-webpack-plugin": "8.0.0", | ||||||
| "cypress": "^0.10.1", | ||||||
|
Comment on lines
+68
to
+80
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cd frontend/packages/multicluster-sdk && wc -l package.jsonRepository: stolostron/console Length of output: 78 🏁 Script executed: cd frontend/packages/multicluster-sdk && sed -n '60,95p' package.jsonRepository: stolostron/console Length of output: 1111 Move build/test/docs tooling to devDependencies.
🤖 Prompt for AI Agents |
||||||
| "graphql": "^16.9.0", | ||||||
| "i18next-http-backend": "4.0.0", | ||||||
| "i18next-parser": "^9.0.2", | ||||||
| "react-i18next": "15.6.1", | ||||||
| "react-router-dom-v5-compat": "^6.30.3", | ||||||
| "react-transition-group": "^4.4.5", | ||||||
| "react-virtualized": "^9.22.6", | ||||||
| "zustand": "^4.5.0" | ||||||
| "storybook": "8.6.18", | ||||||
| "webpack-dev-server": "^1.16.5", | ||||||
| "zustand": "^4.5.7" | ||||||
| } | ||||||
| } | ||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -42,19 +42,31 @@ | |||||||||||||||
| "react-dom": ">=17" | ||||||||||||||||
| }, | ||||||||||||||||
| "dependencies": { | ||||||||||||||||
| "@octokit/rest": "22.0.1", | ||||||||||||||||
| "@openshift-console/dynamic-plugin-sdk": "4.20.0", | ||||||||||||||||
| "@patternfly/react-core": "^6.4.3", | ||||||||||||||||
| "@patternfly/react-icons": "^6.4.0", | ||||||||||||||||
| "@patternfly/react-table": "^6.4.3", | ||||||||||||||||
| "@sentry/browser": "10.51.0", | ||||||||||||||||
| "@storybook/addon-actions": "9.0.8", | ||||||||||||||||
| "@storybook/addon-docs": "8.6.18", | ||||||||||||||||
| "@storybook/addon-essentials": "^7.0.6", | ||||||||||||||||
| "@storybook/cli": "^10.3.6", | ||||||||||||||||
|
Comment on lines
+51
to
+54
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cat -n frontend/packages/react-form-wizard/package.json | sed -n '45,70p'Repository: stolostron/console Length of output: 1249 🌐 Web query:
💡 Result: To upgrade all Storybook packages to the same major version while ensuring compatibility, use the official Storybook upgrade CLI from the repository root. This script automatically detects all Storybook projects (including in monorepos), upgrades all relevant Citations:
Align all Storybook packages to version 8.x (or consistent major version). Storybook dependencies are split across 7.x, 8.x, 9.x, and 10.x majors. The main 🤖 Prompt for AI Agents |
||||||||||||||||
| "compression-webpack-plugin": "12.0.0", | ||||||||||||||||
| "copy-webpack-plugin": "14.0.0", | ||||||||||||||||
| "get-value": "3.0.1", | ||||||||||||||||
| "i18next-http-backend": "4.0.0", | ||||||||||||||||
| "i18next-parser": "^9.0.2", | ||||||||||||||||
|
Comment on lines
+45
to
+59
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: find . -name "package.json" -path "*/react-form-wizard/*" | head -5Repository: stolostron/console Length of output: 113 🏁 Script executed: cat -n frontend/packages/react-form-wizard/package.json | sed -n '1,100p'Repository: stolostron/console Length of output: 5197 🏁 Script executed: cat -n frontend/packages/react-form-wizard/package.json | sed -n '100,120p'Repository: stolostron/console Length of output: 258 🏁 Script executed: rg -l "storybook|compression-webpack-plugin|copy-webpack-plugin|i18next-parser" frontend/packages/react-form-wizard/src --type ts --type tsx --type jsRepository: stolostron/console Length of output: 90 🏁 Script executed: # Check if webpack-dev-server and cypress versions are valid
npm view webpack-dev-server@1.16.5 2>&1 | head -20
npm view cypress@0.10.1 2>&1 | head -20Repository: stolostron/console Length of output: 1946 🏁 Script executed: rg -l "storybook|compression-webpack-plugin|copy-webpack-plugin|i18next-parser" frontend/packages/react-form-wizard/src -t ts -t jsRepository: stolostron/console Length of output: 44 🏁 Script executed: # Check scripts that use these tools
cat -n frontend/packages/react-form-wizard/package.json | grep -A 15 '"scripts"'Repository: stolostron/console Length of output: 1401 🏁 Script executed: # Verify package.json structure and confirm these are truly build-time only
grep -E "(storybook|i18next-parser|compression-webpack-plugin|copy-webpack-plugin)" frontend/packages/react-form-wizard/package.jsonRepository: stolostron/console Length of output: 392 Move build and documentation tooling to Storybook packages, webpack plugins ( Affected packages (lines 51–54, 55–56, 59, 62):
🤖 Prompt for AI Agents |
||||||||||||||||
| "klona": "2.0.6", | ||||||||||||||||
| "set-value": "4.1.0", | ||||||||||||||||
| "storybook": "8.6.18", | ||||||||||||||||
| "yaml": "1.10.3" | ||||||||||||||||
| }, | ||||||||||||||||
| "devDependencies": { | ||||||||||||||||
| "@babel/core": "^7.29.0", | ||||||||||||||||
| "@babel/preset-react": "^7.28.5", | ||||||||||||||||
| "@babel/preset-typescript": "^7.28.5", | ||||||||||||||||
| "@cypress/code-coverage": "^3.14.4", | ||||||||||||||||
| "@cypress/code-coverage": "^4.0.3", | ||||||||||||||||
| "@pmmmwh/react-refresh-webpack-plugin": "^0.6.2", | ||||||||||||||||
| "@react-hook/resize-observer": "1.2.6", | ||||||||||||||||
| "@svgr/webpack": "^8.1.0", | ||||||||||||||||
|
|
@@ -67,14 +79,14 @@ | |||||||||||||||
| "@types/set-value": "4.0.3", | ||||||||||||||||
| "@types/validator": "^13.15.10", | ||||||||||||||||
| "@types/webpack": "5.28.5", | ||||||||||||||||
| "babel-loader": "^10.1.0", | ||||||||||||||||
| "babel-loader": "^10.1.1", | ||||||||||||||||
| "babel-plugin-istanbul": "^7.0.1", | ||||||||||||||||
| "concurrently": "9.2.1", | ||||||||||||||||
| "cpy-cli": "6.0.0", | ||||||||||||||||
| "css-loader": "^7.1.2", | ||||||||||||||||
| "css-minimizer-webpack-plugin": "^7.0.0", | ||||||||||||||||
| "css-loader": "^7.1.4", | ||||||||||||||||
| "css-minimizer-webpack-plugin": "^8.0.0", | ||||||||||||||||
| "fuse.js": "6.6.2", | ||||||||||||||||
| "html-webpack-plugin": "^5.6.6", | ||||||||||||||||
| "html-webpack-plugin": "^5.6.7", | ||||||||||||||||
| "mini-css-extract-plugin": "^2.10.2", | ||||||||||||||||
| "rimraf": "3.0.2", | ||||||||||||||||
| "style-loader": "3.3.4", | ||||||||||||||||
|
|
@@ -83,12 +95,12 @@ | |||||||||||||||
| "type-fest": "2.19.0", | ||||||||||||||||
| "typescript": "4.9.5", | ||||||||||||||||
| "validator": "^13.15.23", | ||||||||||||||||
| "watch": "^1.0.2", | ||||||||||||||||
| "webpack": "^5.105.2", | ||||||||||||||||
| "watch": "^0.13.0", | ||||||||||||||||
| "webpack": "^5.106.2", | ||||||||||||||||
| "webpack-cli": "4.10.0", | ||||||||||||||||
| "webpack-dev-server": "^4.15.2" | ||||||||||||||||
| "webpack-dev-server": "^1.16.5" | ||||||||||||||||
|
Comment on lines
+99
to
+101
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cat frontend/packages/react-form-wizard/package.json | head -105 | tail -10Repository: stolostron/console Length of output: 331 🌐 Web query:
💡 Result: For webpack 5, use webpack-dev-server v5.x (not v4.x). Reasoning (compatibility) 1) webpack-dev-server v5 requires webpack v5: - The webpack-dev-server v5 migration guide states: “Minimum supported webpack version is 5.0.0.” 2) npm package peer dependency also targets webpack ^5: - webpack-dev-server’s peerDependencies list webpack as “^5.0.0”. Practical “compatible combinations” (as of the v5 line) - webpack-dev-server >= 5.0.0 with webpack 5.x (and matching webpack-cli guidance for v5 tooling). - webpack-dev-server v5 is documented as “version >= 5.0.0” for the devServer configuration options page. If you currently have webpack 5 + webpack-dev-server v3/v4: - Expect peer dependency warnings and/or runtime/CLI/config incompatibilities, because those dev-server major versions were built for webpack 4. Suggested check - Ensure your installed versions satisfy: webpack-dev-server@5.x and webpack@5.x (webpack-dev-server’s peer dependency is ^5.0.0 for webpack). Citations:
🌐 Web query:
💡 Result: webpack-dev-server 1.16.5 compatibility with webpack versions: 1) webpack-dev-server v1.16.5 is not designed for webpack 5. In the webpack-dev-server project history, support for webpack@5 is explicitly called out as a change (“support webpack@5”). 2) In practice, users commonly hit peer-dependency mismatches when pairing webpack-dev-server 3.x with webpack@5 (example warning asking for webpack@^4.0.0). That indicates webpack-dev-server versions around that timeframe were targeted at webpack 4, not webpack 5. 3) Current/modern webpack-dev-server releases (v5.x) declare a peer dependency on webpack ^5.0.0, but that does not apply to v1.16.5 (which predates the webpack 5 compatibility work). So, for webpack-dev-server 1.16.5 specifically, the safe answer is: use webpack 4 (not webpack 5). If you must use webpack 5, you should upgrade webpack-dev-server to a version that explicitly supports webpack@5. Citations:
🌐 Web query:
💡 Result: webpack-dev-server 5.2.3 release date (and npm availability) was 2026-01-12. Evidence: the official webpack/webpack-dev-server GitHub tag for v5.2.3 is dated Jan 12, 2026, and the GitHub Releases page lists “5.2.3 (2026-01-12)”. Citations:
Restore webpack 5-compatible dev server.
Suggested fix- "webpack-dev-server": "^1.16.5"
+ "webpack-dev-server": "^5.2.3"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||
| }, | ||||||||||||||||
| "optionalDependencies": { | ||||||||||||||||
| "cypress": "^15.8.1" | ||||||||||||||||
| "cypress": "^0.10.1" | ||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: # Find and verify the cypress version in the package.json
find . -path "*/frontend/packages/react-form-wizard/package.json" -type fRepository: stolostron/console Length of output: 113 🏁 Script executed: # Check if the file exists at the expected location
cat "frontend/packages/react-form-wizard/package.json" 2>/dev/null | head -120 | tail -30Repository: stolostron/console Length of output: 1022 🌐 Web query:
💡 Result: I couldn’t find a reliable, source-backed “0.10.1” release date for the Cypress npm package. The Cypress npm page versions list is visible for recent versions, and GitHub release-tag pages exist for later versions (e.g., v10.0.0), but none of the sources I found in two rounds of searching surfaced a Cypress npm version page or GitHub tag for v0.10.1 with an explicit publish/release timestamp. If you want, tell me whether you meant: 1) Cypress version 10.0.1 / 10.1.0 / 10.0.0, or 2) the npm package version “cypress@0.10.1” specifically, and I can re-run a more targeted search for that exact version string. Citations:
🌐 Web query:
💡 Result: Latest Cypress npm package version (as of 2026-05-04): 15.14.1. Cypress 15.14.2 was released on 2026-04-29 (per Cypress’s changelog), but the npm package page currently shows 15.14.1 as the latest published version. Notes: - The Cypress npm package is published as “cypress” (install with npm install --save-dev cypress). Citations:
🏁 Script executed: # Read the full package.json to check scripts section
cat "frontend/packages/react-form-wizard/package.json" | jq '.scripts' 2>/dev/nullRepository: stolostron/console Length of output: 1683 🏁 Script executed: # Check npm registry for cypress@0.10.1 directly
npm view cypress@0.10.1 2>&1 | head -20Repository: stolostron/console Length of output: 1037 🌐 Web query:
💡 Result: Yes, the Cypress npm package version 0.10.1 exists and was released approximately 10 years ago. It is listed in the version history on the official npm package page with 15 downloads recorded. Citations:
Suggested fix- "cypress": "^0.10.1"
+ "cypress": "^15.14.1"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||
| } | ||||||||||||||||
| } | ||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
fd package.json | head -5Repository: stolostron/console
Length of output: 245
🏁 Script executed:
Repository: stolostron/console
Length of output: 1124
🏁 Script executed:
Repository: stolostron/console
Length of output: 161
🌐 Web query:
@openshift-console/dynamic-plugin-sdk-webpack 4.19.0 4.20.0 compatibility version matching requirement💡 Result:
The package
@openshift-console/dynamic-plugin-sdk-webpackhas both version 4.19.0 (published June 27, 2025) and 4.20.0 (published November 24, 2025) available on npm. These versions correspond to OpenShift Console 4.19 and 4.20 compatibility, respectively. Version matching requirement: Use the SDK version that matches the target OpenShift Console version. Plugins built with 4.19.0 are compatible with Console 4.19 and later (due to backward compatibility), but for Console 4.20, use 4.20.0. The official template bumps from 4.19.0 (with dynamic-plugin-sdk 4.19.1) to 4.20.0 for both packages when targeting 4.20, along with@console/pluginAPI^4.20.0. Both versions require webpack ^5.75.0. No major breaking changes specific to webpack plugin between 4.19 and 4.20 are noted in available changelogs; updates are minor (e.g., new shared modules, bug fixes). Check full CHANGELOG-core.md and CHANGELOG-webpack.md in the openshift/console repo for details. Official docs recommend matching the oldest supported Console version with the corresponding SDK for broad compatibility (e.g., 4.19.0 works across 4.19+).Citations:
Bump
@openshift-console/dynamic-plugin-sdk-webpackto 4.20.0 to match the runtime SDK version.The OpenShift plugin template updates both packages to
4.20.0when targeting Console 4.20. While4.19.0has backward compatibility with Console 4.20+, using matching minor versions aligns with the recommended versioning pattern for plugin builds.🤖 Prompt for AI Agents