Skip to content
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

update: Replace reactflow with @xyflow/react and Update Dependencies #8940

Merged
merged 3 commits into from
Dec 10, 2024

Conversation

pradeepkaswan
Copy link
Contributor

Description:

This pull request includes the following changes:

  1. Dependency Update:

    • Added @xyflow/react as a dependency.
    • Replaced imports from reactflow with @xyflow/react in multiple components.
  2. Dependency Removal:

    • Removed reactflow dependency and its related code from the project.
  3. Type Definitions Update:

    • Updated type definitions for nodes and edges to align with the new library.
  4. Code Refactoring:

    • Minor refactoring for improved code clarity and consistency in the following components:
      • SettingsDataModelOverview
      • SettingsDataModelOverviewEffect
      • SettingsDataModelOverviewField
      • SettingsDataModelOverviewObject
  5. Dependency Files Update:

    • Updated package.json and yarn.lock to reflect the changes in dependencies.

Additional Notes:

  • These changes ensure that the project is now using the @xyflow/react library instead of reactflow.
  • The refactoring improves code readability and maintains consistency across the components.
  • Please review the changes and provide any feedback or suggestions.

Testing:

  • The changes have been tested locally and verified to work as expected.

Checklist:

  • Added @xyflow/react as a dependency.
  • Replaced reactflow imports with @xyflow/react.
  • Removed reactflow dependency.
  • Updated type definitions for nodes and edges.
  • Refactored components for improved clarity and consistency.
  • Updated package.json and yarn.lock.
  • Tested the changes locally.

Related Issue

Fixes #6662

- Added `@xyflow/react` as a dependency and replaced imports from `reactflow` with `@xyflow/react` in multiple components.
- Removed `reactflow` dependency and its related code from the project.
- Updated type definitions for nodes and edges to align with the new library.
- Minor refactoring for improved code clarity and consistency in `SettingsDataModelOverview`, `SettingsDataModelOverviewEffect`, `SettingsDataModelOverviewField`, and `SettingsDataModelOverviewObject` components.
- Updated `package.json` and `yarn.lock` to reflect the changes in dependencies.
Copy link

github-actions bot commented Dec 7, 2024

Fails
🚫

node failed.

Log

�[31mError: �[39m RequestError [HttpError]: You have exceeded a secondary rate limit. Please wait a few minutes before you try again. If you reach out to GitHub Support for help, please include the request ID DC07:2487A1:13B362E:27191DF:67580871.
    at /home/runner/work/twenty/twenty/node_modules/�[4m@octokit�[24m/request/dist-node/index.js:86:21
�[90m    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)�[39m {
  status: �[33m403�[39m,
  response: {
    url: �[32m'https://api.github.com/search/issues?q=is%3Apr%20author%3Apradeepkaswan%20is%3Aclosed%20repo%3Atwentyhq%2Ftwenty&per_page=2&page=1'�[39m,
    status: �[33m403�[39m,
    headers: {
      �[32m'access-control-allow-origin'�[39m: �[32m'*'�[39m,
      �[32m'access-control-expose-headers'�[39m: �[32m'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'�[39m,
      connection: �[32m'close'�[39m,
      �[32m'content-encoding'�[39m: �[32m'gzip'�[39m,
      �[32m'content-security-policy'�[39m: �[32m"default-src 'none'"�[39m,
      �[32m'content-type'�[39m: �[32m'application/json; charset=utf-8'�[39m,
      date: �[32m'Tue, 10 Dec 2024 09:22:57 GMT'�[39m,
      �[32m'referrer-policy'�[39m: �[32m'origin-when-cross-origin, strict-origin-when-cross-origin'�[39m,
      server: �[32m'github.com'�[39m,
      �[32m'strict-transport-security'�[39m: �[32m'max-age=31536000; includeSubdomains; preload'�[39m,
      �[32m'transfer-encoding'�[39m: �[32m'chunked'�[39m,
      vary: �[32m'Accept-Encoding, Accept, X-Requested-With'�[39m,
      �[32m'x-content-type-options'�[39m: �[32m'nosniff'�[39m,
      �[32m'x-frame-options'�[39m: �[32m'deny'�[39m,
      �[32m'x-github-api-version-selected'�[39m: �[32m'2022-11-28'�[39m,
      �[32m'x-github-media-type'�[39m: �[32m'github.v3; format=json'�[39m,
      �[32m'x-github-request-id'�[39m: �[32m'DC07:2487A1:13B362E:27191DF:67580871'�[39m,
      �[32m'x-ratelimit-limit'�[39m: �[32m'30'�[39m,
      �[32m'x-ratelimit-remaining'�[39m: �[32m'30'�[39m,
      �[32m'x-ratelimit-reset'�[39m: �[32m'1733822637'�[39m,
      �[32m'x-ratelimit-resource'�[39m: �[32m'search'�[39m,
      �[32m'x-ratelimit-used'�[39m: �[32m'1'�[39m,
      �[32m'x-xss-protection'�[39m: �[32m'0'�[39m
    },
    data: {
      documentation_url: �[32m'https://docs.github.com/free-pro-team@latest/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits'�[39m,
      message: �[32m'You have exceeded a secondary rate limit. Please wait a few minutes before you try again. If you reach out to GitHub Support for help, please include the request ID DC07:2487A1:13B362E:27191DF:67580871.'�[39m
    }
  },
  request: {
    method: �[32m'GET'�[39m,
    url: �[32m'https://api.github.com/search/issues?q=is%3Apr%20author%3Apradeepkaswan%20is%3Aclosed%20repo%3Atwentyhq%2Ftwenty&per_page=2&page=1'�[39m,
    headers: {
      accept: �[32m'application/vnd.github.v3+json'�[39m,
      �[32m'user-agent'�[39m: �[32m'octokit-rest.js/18.12.0 octokit-core.js/3.6.0 Node.js/18.20.5 (linux; x64)'�[39m,
      authorization: �[32m'token [REDACTED]'�[39m
    },
    request: { hook: �[36m[Function: bound bound register]�[39m }
  }
}
danger-results://tmp/danger-results-68c3657c.json

Generated by 🚫 dangerJS against 0a9af70

Copy link
Contributor

@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.

PR Summary

This pull request migrates the data model visualization from 'reactflow' to '@xyflow/react', maintaining API compatibility while improving type safety and dependency management.

  • Updated imports from 'reactflow' to '@xyflow/react' across all graph overview components in /packages/twenty-front/src/modules/settings/data-model/graph-overview/
  • Added explicit type annotations for Node and Edge generics in SettingsDataModelOverview.tsx for better type safety
  • Added optional chaining for edge.data access in graph components to prevent potential runtime errors
  • Added key prop to mapped IconButton components in IconButtonGroup.tsx for React rendering optimization
  • Upgraded to @xyflow/react v12.3.5 in package.json while removing the reactflow dependency

💡 (1/5) You can manually trigger the bot by mentioning @greptileai in a comment!

7 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings | Greptile

Copy link
Contributor

@Devessier Devessier left a comment

Choose a reason for hiding this comment

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

Thanks for your work, @pradeepkaswan. Your changes removes one dependency from the project, that's awesome. We can merge!

@pradeepkaswan
Copy link
Contributor Author

@Devessier , the PR is ready to be merged, but I don't have write access. Can you assist in resolving this or merging the PR if appropriate?

@Devessier Devessier merged commit 49c3250 into twentyhq:main Dec 10, 2024
20 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

Migrate from reactflow to @xyflow/react
3 participants