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

Move away from icon as VueComponents #947

Closed
skjnldsv opened this issue Aug 24, 2023 · 4 comments · Fixed by #1122
Closed

Move away from icon as VueComponents #947

skjnldsv opened this issue Aug 24, 2023 · 4 comments · Fixed by #1122

Comments

@skjnldsv
Copy link
Contributor

Using button icons as VueComponent can lead to issues.
If the components are compiled with different vue versions, this will collide and fail. We had that issue multiple times on variuos other APIs.

Which is why we moved to raw svg as this is the only standard that works whatever js pre-processor or vanilla js code you're handling.

@susnux
Copy link
Contributor

susnux commented Aug 24, 2023

This should be no problem, passing components is fine as long as the vue version (2 vs 3) is not mixed.
Otherwise we would not be able to use nextcloud-vue components in other apps / projects as this is the same: you pass a compiled component to a different vue.

@skjnldsv
Copy link
Contributor Author

Nope, we had that issue in the past.
Even in 2.x, the template compiler generated different outputs and created some incompatibilities

@susnux
Copy link
Contributor

susnux commented Aug 25, 2023

but even if the result of the template compiler is different it should work as only the render function will be different.
of cause you can not use any breaking changes of the vue API. Especially as this is something vue promotes.

@skjnldsv
Copy link
Contributor Author

🤷We had to downgrade a few vue versions in the past to keep being able to release between apps and libs.
That happened with Server and other Libraries.
Since we're now mostly stuck at 2.7.x, it "fixed" itself. But the underlying issue still happened 🤷

Also, same with vue3, it means we're implementing a breaking point.
While if we'd be using svg, it would not matter, it would work out of the box, even if this library was vue3 and the app vue2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants