generator-jhipster icon indicating copy to clipboard operation
generator-jhipster copied to clipboard

Vue 3

Open pascalgrimaud opened this issue 3 years ago • 64 comments

Overview of the feature request

Vue 3 has been released ! It would be so cool if we can have it for JHipster v7

Motivation for or Use Case
Related issues or PR
  • [x] Checking this box is mandatory (this is just to show you read everything)

pascalgrimaud avatar Sep 19 '20 18:09 pascalgrimaud

cc @deepu105 @jdubois I'm adding a big bounty on this, as I think there is a lot of work to achieve this, but it would be really so cool to have it !

pascalgrimaud avatar Sep 19 '20 18:09 pascalgrimaud

Let's see how fast then 3rd party components are getting compatible. They have postponed the migration utilities for now as far as I know (but not sure how much it would help in our case).

atomfrede avatar Sep 19 '20 18:09 atomfrede

@atomfrede : do you have more information ? I thought it would be compatible with Vue 3

pascalgrimaud avatar Sep 19 '20 18:09 pascalgrimaud

Did not look in detail yet. I also guess we can upgrade without too much hassle. We have few 3rd party libraries and they are widely used. I try to have a look next week to get a better understanding what would be needed.

atomfrede avatar Sep 19 '20 18:09 atomfrede

I'd love to have this for JHipster v7 Don't hesitate to ask help, and if needed, we can add separate bounties for people who want to help here

pascalgrimaud avatar Sep 19 '20 18:09 pascalgrimaud

At least bootstrap-vue is not yet compatible. They plan to have a compatible release "short" after vue 3 release. Will follow closely. https://github.com/bootstrap-vue/bootstrap-vue/issues/5196#issuecomment-668837891

atomfrede avatar Sep 20 '20 09:09 atomfrede

For i18n there is already a beta version which we could try and use https://github.com/intlify/vue-i18n-next.

Both veeValidate and Vuelidate are not yet compatible out of box with vue3. But using the composition api it might be possible. I will try to finish the (finally) the eslint migration in the main generator and can try vue3 afterwards.

atomfrede avatar Sep 22 '20 07:09 atomfrede

vue3 compatible component: https://2x.antdv.com/docs/vue/introduce/ i18n support: https://2x.antdv.com/docs/vue/i18n/ dashboard: https://pro.antdv.com/docs/getting-started

pittillo avatar Sep 23 '20 13:09 pittillo

@atomfrede note that a "migration build" is in the works with Vue 2 compatible behavior (and runtime warnings of incompatible usage). So perhaps an interim step would be to implement minimal changes to use the migration build even if this is not fully optimal and then follow up with a rewrite to composition API eventually.

Note that there is also Vite for Vue 3 which makes frontend development lightning fast.

mrts avatar Oct 01 '20 17:10 mrts

As far as I understand the migration build is not yet available?

We are still working on a dedicated Migration Build of Vue 3 with Vue 2 compatible behavior and runtime warnings of incompatible usage. If you are planning to migrate a non-trivial Vue 2 app, we strongly recommend waiting for the Migration Build for a smoother experience.

atomfrede avatar Oct 01 '20 18:10 atomfrede

As far as I understand the migration build is not yet available?

Yes, it is not yet available. According to the Vue 3 roadmap, it is planned to be released in Q4 2020.

mrts avatar Oct 01 '20 18:10 mrts

This issue is stale because it has been open 30 days with no activity. Our core developers tend to be more verbose on denying. If there is no negative comment, possibly this feature will be accepted. We are accepting PRs :smiley:. Comment or this will be closed in 7 days

github-actions[bot] avatar Nov 01 '20 00:11 github-actions[bot]

simple comment to keep this opened:)

pascalgrimaud avatar Nov 01 '20 07:11 pascalgrimaud

The keep-alive comment :)

gmarziou avatar Nov 01 '20 10:11 gmarziou

This issue is stale because it has been open 30 days with no activity. Our core developers tend to be more verbose on denying. If there is no negative comment, possibly this feature will be accepted. We are accepting PRs :smiley:. Comment or this will be closed in 7 days

github-actions[bot] avatar Dec 02 '20 00:12 github-actions[bot]

Keep it open.

atomfrede avatar Dec 02 '20 05:12 atomfrede

This issue is stale because it has been open 30 days with no activity. Our core developers tend to be more verbose on denying. If there is no negative comment, possibly this feature will be accepted. We are accepting PRs :smiley:. Comment or this will be closed in 7 days

github-actions[bot] avatar Jan 02 '21 00:01 github-actions[bot]

Should we add a bounty for motivation?

mraible avatar Jan 02 '21 00:01 mraible

We are depending on vue bootstrap compatibility I think. Maybe we can start by updating to vue i18n and and replace the current client side validation library with compatibility one as a starting point maybe.

atomfrede avatar Jan 02 '21 08:01 atomfrede

I would suggest the following to make the eventual v3 migration a bit easier:

  • replace vuelidate with veeValidate as vuelidate is not well maintained anymore and I don't see it will be compatible with vue3 anytime
  • Update to https://github.com/intlify/vue-i18n-next which is the successor of the current i19n solution but compatible with vue2 and 3

Having this we have already achieved large parts to be compatible with vue 3. The remaining part is vue bootstrap. Without that I don't think we can do the switch easily. So we have to wait for a compatible release or the migration build (which is still work on progress) and try it with the current vue boostrap release. I don't think we have the capacity to just use plain bootstrap and write/maintain our own components for e.g. modals etc.

atomfrede avatar Jan 02 '21 13:01 atomfrede

This is the vue3 for bootstrap-vue issue: https://github.com/bootstrap-vue/bootstrap-vue/issues/5196

michaelzangl avatar Jan 19 '21 11:01 michaelzangl

It might take some more time. Estimation seems to be a few weeks for alpha/beta to be ready, stable in Q2 if everything goes well. https://github.com/bootstrap-vue/bootstrap-vue/issues/5196#issuecomment-770883757

atomfrede avatar Feb 03 '21 12:02 atomfrede

This issue is stale because it has been open 30 days with no activity. Our core developers tend to be more verbose on denying. If there is no negative comment, possibly this feature will be accepted. We are accepting PRs :smiley:. Comment or this will be closed in 7 days

github-actions[bot] avatar Mar 06 '21 00:03 github-actions[bot]

Please keep it open we need to wait on 3rd party dependencies

atomfrede avatar Mar 06 '21 06:03 atomfrede

This issue is stale because it has been open 30 days with no activity. Our core developers tend to be more verbose on denying. If there is no negative comment, possibly this feature will be accepted. We are accepting PRs :smiley:. Comment or this will be closed in 7 days

github-actions[bot] avatar Apr 07 '21 00:04 github-actions[bot]

Keep it open.

atomfrede avatar Apr 07 '21 05:04 atomfrede

This issue is stale because it has been open 30 days with no activity. Our core developers tend to be more verbose on denying. If there is no negative comment, possibly this feature will be accepted. We are accepting PRs :smiley:. Comment or this will be closed in 7 days

github-actions[bot] avatar May 09 '21 00:05 github-actions[bot]

Keep it open

atomfrede avatar May 09 '21 05:05 atomfrede

Vue 3.1.0 has been released as a first beta Version. This contains the compat build. We could give it a try https://github.com/vuejs/vue-next/tree/master/packages/vue-compat

atomfrede avatar May 10 '21 05:05 atomfrede

Just a quick heads-up that there is some discussion regarding using the compat build in VueBootstrap issue tracker here: https://github.com/bootstrap-vue/bootstrap-vue/issues/5196. In short, the compat build works with simpler components, but more complex components break. So it is not ready for prime time yet, but the discussion is ongoing.

mrts avatar Jun 04 '21 12:06 mrts