Skip to content

Circular dependency between @nextcloud/vue and @nextcloud/vue-richtext #3812

@raimund-schluessler

Description

@raimund-schluessler

With #3708 we got into the unfortunate situation of a circular dependency between @nextcloud/vue and @nextcloud/vue-richtext. @nextcloud/vue now requires @nextcloud/vue-richtext which requires @nextcloud/vue which requires @nextcloud/vue-richtext which ..., you see what I mean 🙈

As long as the two packages release only compatible minor/patch versions, this is not a critical problem. But it is already cumbersome, because where do you stop updating if one package releases an update?

However, this situation becomes a critically blocking dead-lock, if we aim for a breaking major release. This will be the case with the migration to vue3 in #3692. In order to release a vue3 compatible version of @nextcloud/vue, we need a vue3 compatible version of @nextcloud/vue-richtext, which needs a vue3 compatible version of @nextcloud/vue, which... oh well. This won't work.

So, I really think we need to resolve this circular dependency. My proposed solution is to merge @nextcloud/vue-richtext into @nextcloud/vue. Since they anyway pull in each other, there is not much won by maintaining two separate packages/repositories. So I think that's a good solution. Plus, it's less effort to maintain a single package over two packages. We went the same way with @nextcloud/vue-dashboard and it worked fine.

What do you think about that @nextcloud/vuejs and especially @julien-nc, @mejo- @juliushaertl @skjnldsv?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions