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

POC with Next.js and feedback #41

Open
Vadorequest opened this issue Feb 3, 2021 · 6 comments
Open

POC with Next.js and feedback #41

Vadorequest opened this issue Feb 3, 2021 · 6 comments
Labels
documentation Improvements or additions to documentation

Comments

@Vadorequest
Copy link
Contributor

Vadorequest commented Feb 3, 2021

I'm building a POC using Next.js + Reaflow, hosted on Vercel.

It's open source (MIT), see https://github.com/Vadorequest/poc-nextjs-reaflow
Online demo hosted on Vercel at https://poc-nextjs-reaflow.vercel.app/

Here is a little feedback about using Reaflow:

  • framer-motion is a peer-dependency but it's not explicit on the README, I had to figure it out myself. Importing reaflow will crash the whole app if it's not installed.
    • This should be explicitly documented.
  • reaflow doesn't play well on the server (Next.js renders on both server + client) and should only be rendered on the client
    • This should be explicitly documented.
  • foreignObject and events, bad DX, no example (spent quite some time on this)
    • Could have a SB example
    • Using React Select doesn't work It's actually because of foreignObject and CSS display property, need to document how to workaround
    • Add DB demo or documentation as to why it doesn't work, workarounds, etc.

I'll add more feedback as my POC grows.


PR trackings (all the things I wanna do):

Features:

Documentation:

Bug fixes:

@amcdnl amcdnl added the documentation Improvements or additions to documentation label Feb 3, 2021
@amcdnl
Copy link
Member

amcdnl commented Feb 3, 2021

  1. RE: framer-motion - Yes, that was kind of a mistake but I literally changed it yesterday but haven't pushed the change yet. Will be pushed today.
  2. RE: next - Ya I'm not surprised - this is probably a combination of elkjs web worker and framer-motion. Happy to get a PR to support this though. Would you mind PR'ing that into the docs?
  3. RE: project - I will add a new section in docs to list active projects using this for others to learn from!!!

@Vadorequest
Copy link
Contributor Author

Thanks for the quick feedback, I'll make a PR once I'll have a better overview of all the stuff that should be updated, still digging into the doc and testing stuff out.

First impression is excellent, the foundation of reaflow are solid. Proper TS support, Storybook documentation give quite a good developer experience. 👍

If you'd like, I could explain a bit more what I'm trying to achieve with Reaflow, and maybe you could tell me what's currently possible, what's not yet, and what are the features I need that you want to add to reaflow in the future?

@amcdnl
Copy link
Member

amcdnl commented Feb 3, 2021

Sure - would encourage you to join the discord channel - https://discord.com/invite/tt8wGExq35

@Vadorequest
Copy link
Contributor Author

Oh, great, I had missed that! Thanks.

Also, I noticed there is no tests (AFAICT). I believe it would greatly increase collaborator's confidence when making PR if the most important stuff is thoroughly tested.

Do you have plans regarding testing?

@amcdnl
Copy link
Member

amcdnl commented Feb 3, 2021

There is a few tests actually - feel free to add more - though I generally sway towards pure function tests over component tests. Feel free to add more!

@Vadorequest
Copy link
Contributor Author

When are tests being executed? I don't think they're executed on GitHub Actions, how do you detect regressions then?

I believe they should be executed in https://github.com/reaviz/reaflow/blob/master/.github/workflows/build.yml to validate PRs aren't introducing regressions.

They should also be executed in https://github.com/reaviz/reaflow/blob/master/.github/workflows/release.yml to make sure not to publish a release with non-passing tests. What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants