Skip to content

Conversation

@everettbu
Copy link

Recreation of PR: N/A

Benchmark PR storybook-1ad0785-0.

@greptile-apps
Copy link

greptile-apps bot commented Nov 20, 2025

Greptile Overview

Greptile Summary

This PR removes React and ReactDOM peer dependencies from multiple Storybook packages that don't actually require them at runtime. The changes affect 33 package.json files across framework packages (Angular, Vue, Ember, Web Components, etc.) and various addons. For framework packages, this corrects architectural inconsistencies where non-React frameworks were incorrectly requiring React dependencies. For addon packages, the changes involve restructuring dependencies by moving React from peerDependencies to devDependencies and relocating internal Storybook packages from runtime to development dependencies. This dependency cleanup makes packages more framework-agnostic, reduces unnecessary installation requirements, and aligns dependency declarations with actual runtime needs.

Important Files Changed

Filename Score Overview
code/frameworks/angular/package.json 4/5 Removes React dependencies and @storybook/manager-api from Angular framework package
code/frameworks/ember/package.json 5/5 Removes inappropriate React peer dependencies from Ember framework package
code/frameworks/web-components-vite/package.json 5/5 Removes React peer dependencies from web components framework package
code/frameworks/web-components-webpack5/package.json 5/5 Removes React peer dependencies, keeping only Lit as peer dependency
code/frameworks/vue3-vite/package.json 5/5 Removes React dependencies from Vue3 Vite framework package
code/frameworks/vue-webpack5/package.json 5/5 Removes React peer dependencies from Vue webpack5 framework
code/frameworks/html-webpack5/package.json 5/5 Removes React dependencies from HTML-only framework package
code/frameworks/server-webpack5/package.json 5/5 Removes entire peerDependencies section including React from server framework
code/frameworks/vue3-webpack5/package.json 5/5 Removes React peer dependencies from Vue3 webpack5 framework
code/frameworks/preact-webpack5/package.json 5/5 Removes React dependencies from Preact framework package appropriately
code/frameworks/svelte-webpack5/package.json 5/5 Removes React dependencies from Svelte webpack5 framework
code/frameworks/vue-vite/package.json 5/5 Removes React peer dependencies from Vue Vite framework
code/deprecated/addons/package.json 4/5 Removes React peer dependencies from deprecated addons shim package
code/deprecated/manager-api-shim/package.json 4/5 Removes optional React peer dependencies from manager API shim
code/lib/preview-api/package.json 4/5 Removes React from devDependencies in framework-agnostic preview API
code/lib/source-loader/package.json 5/5 Removes React peer dependencies from webpack loader utility
code/lib/manager-api/package.json 3/5 Significant dependency restructuring moving packages to devDependencies
code/lib/router/package.json 4/5 Moves React from peerDependencies to devDependencies with version constraint
code/addons/actions/package.json 3/5 Complex dependency restructuring with unusual type definition placement
code/addons/backgrounds/package.json 4/5 Reorganizes dependencies removing peer dependencies for React
code/addons/controls/package.json 4/5 Moves React from optional peer dependencies to devDependencies
code/addons/jest/package.json 2/5 Removes React peer dependencies which could cause runtime issues
code/addons/interactions/package.json 4/5 Restructures React dependencies from peer to dev dependencies
code/addons/a11y/package.json 4/5 Major dependency reorganization and script change to addon-bundle.ts
code/addons/links/package.json 4/5 Moves internal packages to devDependencies and removes prop-types
code/addons/storysource/package.json 3/5 Complex dependency restructuring affecting runtime vs dev dependencies
code/addons/measure/package.json 3/5 Moves React from optional peer to dev dependencies
code/addons/outline/package.json 4/5 Restructures dependencies removing React peer dependencies
code/addons/themes/package.json 4/5 Removes React peer dependencies and moves packages to devDependencies
code/addons/toolbars/package.json 3/5 Significant dependency restructuring removing peer dependencies
code/addons/viewport/package.json 4/5 Minimizes runtime dependencies to just memoizerific

Confidence score: 3/5

  • This PR involves complex dependency restructuring that could introduce subtle runtime issues despite fixing architectural problems
  • Score reflects concerns about moving React from peer dependencies to dev dependencies in some addons that may still require React at runtime, particularly code/addons/jest/package.json
  • Several packages show unusual patterns like moving type definitions to runtime dependencies or completely removing peer dependency configurations that consumers might expect
  • Pay close attention to addon packages, especially Jest addon which removes React as peer dependency despite being React-specific, and any packages with complex dependency restructuring like manager-api and actions addons

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

31 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +70 to +71
"react": "^16.8.0",
"react-dom": "^16.8.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Moving React from peerDependencies to devDependencies could cause runtime issues if consumers don't have React installed, since the addon likely needs React components at runtime. Are you certain this addon doesn't need React at runtime, or should React remain as a peer dependency?

Prompt To Fix With AI
This is a comment left during a code review.
Path: code/addons/storysource/package.json
Line: 70:71

Comment:
**logic:** Moving React from peerDependencies to devDependencies could cause runtime issues if consumers don't have React installed, since the addon likely needs React components at runtime. Are you certain this addon doesn't need React at runtime, or should React remain as a peer dependency?

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +85 to +86
"react": "^16.8.0",
"react-dom": "^16.8.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Moving React and React DOM from peerDependencies to devDependencies could cause issues. Since this is a React-specific addon, consumers typically expect React to be a peer dependency that they provide, not bundled with the addon. Will React be provided by the Storybook framework itself, or should this remain a peer dependency?

Prompt To Fix With AI
This is a comment left during a code review.
Path: code/addons/jest/package.json
Line: 85:86

Comment:
**logic:** Moving React and React DOM from peerDependencies to devDependencies could cause issues. Since this is a React-specific addon, consumers typically expect React to be a peer dependency that they provide, not bundled with the addon. Will React be provided by the Storybook framework itself, or should this remain a peer dependency?

How can I resolve this? If you propose a fix, please make it concise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants