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

Migrate all MarkBind components from vue-strap to bootstrap-vue #814

Closed
luyangkenneth opened this issue Apr 4, 2019 · 7 comments · Fixed by #1033
Closed

Migrate all MarkBind components from vue-strap to bootstrap-vue #814

luyangkenneth opened this issue Apr 4, 2019 · 7 comments · Fixed by #1033
Labels
d.easy p.Low s.UnderDiscussion The team will evaluate this issue to decide whether it is worth adding

Comments

@luyangkenneth
Copy link
Contributor

The end goal here is to remove our dependency on vue-strap altogether. This is a major investment, so the team will have to make the choice of whether (or better yet, when) to prioritize this over feature work.

Related discussion:

@luyangkenneth luyangkenneth added this to Inbox / Uncategorized in Developer Experience Opportunities via automation Apr 4, 2019
@luyangkenneth luyangkenneth moved this from Inbox / Uncategorized to Goal: Reduce technical debt in Developer Experience Opportunities Apr 4, 2019
@damithc
Copy link
Contributor

damithc commented Apr 5, 2019

Would this solve FOUC problem?

@yamgent
Copy link
Member

yamgent commented Apr 5, 2019

Would this solve FOUC problem?

No, bootstrap-vue doesn't have anti-FOUC mechanisms.

@damithc
Copy link
Contributor

damithc commented May 24, 2019

Which components are pending migration?

@Chng-Zhi-Xuan
Copy link
Contributor

Chng-Zhi-Xuan commented May 24, 2019

Instead of modifying our current files Vue.js component files, I suggest we fork Bootstrap-Vue (removing vue-strap dependencies + security vulnerabilities) and start building templates to preserve MarkBind syntax.

If we were to take this approach, all the common components (e.g popover/tooltips) will need their own template. Components that do not exist in Bootstrap-Vue such as panels, would have to be re-written (with the existing vue-strap code to serve as a guide).

@nbriannl
Copy link
Contributor

May I clarify if this direction to migrate to bootstrap-vue is still actively being pursued? Or are we deciding to stick with our fork of VueStrap? Considerable improvements have been made so far especially updating of dependencies MarkBind/vue-strap#130.

I was considering to investigate and possibly implement some PRs for vue-strap related to testing, but if the end goal is still bootstrap-vue then I'll divert my efforts elsewhere. 🙂

@ang-zeyu
Copy link
Contributor

Reopening since it was mistakenly closed in #1033 - only popovers, modals, triggers, tooltips are migrated

@ang-zeyu ang-zeyu reopened this Aug 22, 2020
Developer Experience Opportunities automation moved this from Closed to Inbox / Uncategorized Aug 22, 2020
@ang-zeyu ang-zeyu added d.easy p.Low s.UnderDiscussion The team will evaluate this issue to decide whether it is worth adding and removed hard problem s.OnHold labels Dec 13, 2020
@kaixin-hc
Copy link
Contributor

kaixin-hc commented May 1, 2024

Trying to understand the relevance of this issue 6 years on is a bit tricky due to the changes since then. Let me summarise what I figured out...

TLDR - this proposal is no longer relevant

OG State of issue (above comments)

vue-strap was being maintained as a separate fork. #411 and #245 talk mainly about the inconveniences of working with a separate fork (eg - having to manually copy over, duplicating docs, etc and the reasoning behind it especially when the original repository was unmaintained. Our fork became quite markbind specific and fairly tightly coupled to markbind.

In June 2020, vue-strap was merged in as a scoped package vue-components

After migration

3 components (Modals, Tooltips, Popovers were migrated to bootstrap-vue, which was at that time actively maintained) Triggers might have been migrated but they don't seem to be any more. The summary of discussion in this comment in #1332 includes several of the concerns at the time as well as the reasoning and the decision not to depend on bootstrap-vue but rather implement the features we want from boostrap vue for 1) flexibility with our own components 2) increased coupling and complexity -- particularly as certain features (dropdowns, navbars) are already pretty markbind specific/dependent.

Current state

Then, with bootstrap getting bumped to v5. bootstrap-vue did not support v5, but the v5 features were useful to MarkBind. Hence, in 2022, Modals were migrated to depend on vue-modal and tooltips and popovers were switched to floating vue - as this provided additional reactivity and prevented ssr issues.

MarkBind was bumped to Bootstrap v5. bootstrap-vue still does not support v5, and hasn't had a commit for 10 months. I think we can conclude this is unlikely. Furthermore, with vue-strap incorporated as a markbind scoped package we no longer face the inconveniences that motivated this issue.

So I'll close this issue now!

Developer Experience Opportunities automation moved this from Inbox / Uncategorized to Closed May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
d.easy p.Low s.UnderDiscussion The team will evaluate this issue to decide whether it is worth adding
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

7 participants