feat: extract React integration into graph-react - #343
Conversation
Reviewer's GuideThis PR splits the React integration into File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've reviewed your changes and they look great!
Sourcery assessment
Needs a human reviewer. This changes the published package boundary, React import path, stylesheet ownership, peer dependencies, and build/declaration contracts, so an error could break React consumers at installation, build, or runtime. Reverting restores the repository implementation, but it would not fully undo external consumers that have already adopted the new package and imports.
|
Preview is ready. |
React components, hooks, styles, and tests now belong to
@gravity-ui/graph-react. The core@gravity-ui/graphpackage has no React or ELK runtime dependency, and the React package consumes core through its public entrypoint with a required peer dependency.For v2 consumers, replace imports from
@gravity-ui/graph/reactwith@gravity-ui/graph-reactand import both@gravity-ui/graph/styles.cssand@gravity-ui/graph-react/styles.css. The old React subpath is removed. Storybook, E2E applications, and current documentation follow this contract.The shared build pipeline enforces package source ownership. Packed-package checks install isolated consumers, reject internal core imports and private scheduler leaks, and verify that Graph, Layer, and connection constructors retain their identity across packages. Release Please registration is included for the new package; publishing remains a separate step.
Validation: lint and all workspace typechecks; 349 passing unit tests and 39 release-contract tests; strict packed artifact/type/runtime/browser checks for both packages, including reuse of the supplied core tarball; all 186 E2E tests; Storybook production build; frozen offline dependency installation.
Summary by Sourcery
Extract the React integration into
@gravity-ui/graph-reactwhile keeping@gravity-ui/graphframework-independent and validating both packages as isolated public artifacts.New Features:
@gravity-ui/graph-reactpackage for React components, hooks, layouts, and styles.@gravity-ui/graphwithout React, React DOM, or ELK runtime dependencies.Enhancements:
@gravity-ui/graph/reactsubpath across applications, examples, and documentation with the new package and stylesheet imports.Build:
CI:
Deployment:
@gravity-ui/graph-reactwith Release Please.Documentation:
Tests:
Chores: