-
Notifications
You must be signed in to change notification settings - Fork 17
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
Question regarding the status of next
releases
#141
Comments
Hy @strogonoff! We could probably afford to clarify the state of things a bit, hopefully this will help a bit.
This PR description probably has the best explanation of the changes in the
Check out the
The
It is no longer a strict necessity, the way it is for the main branch. At the moment I think it doesn't matter, but once we merge in the performance improvements that we're working on, we'll actually want to encourage keeping that reference stable again to keep from breaking element memoization!
It is; I know of at least two companies using it in production (one is https://dskrpt.de)! The test suite is a port of prosemirror-view's own test suite; as long as it's passing, I'm feeling pretty good about the robustness of the implementation.
Basically yes! The language may be unnecessarily confusing here; I was just trying to express that there are two "kinds" of React/ProseMirror integrations:
And that both are somewhat challenging, and react-prosemirror provides strategies for both!
I would say that was the case before, but no longer with the new architecture! With the new architecture, even simple toDOM specs are implemented as React components under the hood, so React-based node views are truly first-class citizens.
I think everything is covered here, but I encourage you to leave feedback and ask questions as you go, for sure! Also, both the mainline branch and the Also if you do have some time to open PRs updating any inconsistencies that you find in the README on the |
@smoores-dev Thank you, really appreciated. Noted the correct branch.
If I may ask before closing—it may sound as if the strategies are considered to be mutually exclusive… That’s not the case, is it? |
That is not the case; you can absolutely do both! |
First, thank you for publishing & maintaining this package. From lurking around at discuss.ProseMirror, it stands out as the best among the options for building an extensible PM-powered editor that supports React node views and comes without a mountain of dependencies.
Seeing the
next
releases being mentioned in a few places as offering a new architecture that addresses some of the issues (like #75), I’m considering starting with that & avoiding a future migration that would otherwise be required… Some related questions (thought I’d ask here before I figure out how to log in to Gitter with my Matrix).What would a high-level summary of architectural changes look like? Sorry if I’m blind and it’s in the README already.
The
next-built
branch (if that’s the correct one) has a different README; is it safe to rely on it (as being up-to-date withnext
architecture)? Any notable omissions?NodeViewComponentProps
in the new README doesn’t match type declaration, which movesnodeProps
under a sub-key. Is that stable?nodeViews
prop in a way that does not provide referential equality (nodeViews={{ paragraph: Paragraph }}
), whereas the old README has a provision about defining node views outside of render cycle. Is having a stablenodeViews
reference no longer a concern with the new architecture, or that part is a consequence of branch divergence (I could make a PR fixing README innext-built
, if so)?Is
next
generally ready for production use, or is in fact being used in production as far as anyone knows? I noticed a commit adding a test suite, which seems like good news.Both old and
next
README note that:Is it correct to assume that this “other” way is the only way of having React components work as node views, and the “original” way would be using ProseMirror in React context but with either no node views or “simple” PM-native node views that are not React components? (Which would make sense, now that I think about it.)
If there are any bits of advice or context that someone starting [with
next
] should know, they’d be appreciated.The text was updated successfully, but these errors were encountered: