nrwl / nx

Smart Monorepos Β· Fast CI
https://nx.dev
MIT License
23.71k stars 2.37k forks source link

NX: Vue Support #1541

Closed Jordan-Hall closed 4 years ago

Jordan-Hall commented 5 years ago

Vue Support

With Vue being the next major framework for the frontend and growing. Nx should start supporting Vue. I'm happy to help support Vue, so I've outlined some expected issues and consideration.

Expected Issues

Unlike currently supported frameworks. Vue isn't opinionated and allows more control to the developers. View also supports different ways of working, support for .ts files should be relatively straight forward but support for .vue may take longer.

Considerations

To-Do

danieldanielecki commented 5 years ago

Great idea! We have Angular, React, Web Component, only Vue.js is missing. Can't wait for this, it should be a priority definitely!

Jordan-Hall commented 5 years ago

Hey, just working on Storybook build then this is the priority for me. Please bear with me, the full support with .vue will have to be added later.

jaysoo commented 5 years ago

@Jordan-Hall Great idea.

Should we add support for using Vue using babel?

Is babel usage ubiquitous with Vue? The CLI uses it, and such, but I do see some setups with just ts-loader. I'm just curious since I've never worked on a production Vue app.

Also note that we're looking to make babel support better. Right now it exists as a React-specific plugin. So it might be good to wait for that to land first.

leonlafa commented 5 years ago

Hey, just working on Storybook build then this is the priority for me. Please bear with me, the full support with .vue will have to be added later.

Any ETA on this @Jordan-Hall, the community is eagerly awaiting πŸ˜€

0xMMelvin commented 5 years ago

Would LOVE this!. This is exactly what my company needs right now!!

vsavkin commented 5 years ago

@Jordan-Hall let me know if you need any help with this. We are happy to help.

Jordan-Hall commented 5 years ago

Now Storybook been merged in my focus is on the vue integration. Sorry for the delay

merlosy commented 4 years ago

Hi @Jordan-Hall ! Thank you for taking the time to work on this. Do you have an ETA regarding support for vue? And since vue 3 is almost out, what is your targetted version?

Jordan-Hall commented 4 years ago

@merlosy working slowly on it. Working on it tonight :) Dont worry :) I'll provide ETA and roadmap soon

satishbabariya commented 4 years ago

@Jordan-Hall https://github.com/vuejs/vue-next aka Vue 3 is totally rewritten in typescript. mostly for the ts support reason. and vue 3 is also backward compatible. so are you guys going with vue 3 alpha or vue 2?

asherccohen commented 4 years ago

Surely this will be very appreciated.

Jordan-Hall commented 4 years ago

vue 3 alpha!

JamesCoonce commented 4 years ago

How can I help out? I've got a ton of free time!

Jordan-Hall commented 4 years ago

Hi @JamesCoonce I'll push a fork up after the new year. I could do with help :)

asherccohen commented 4 years ago

Hi everyone!are there any news for vue.js support, I heard it's in alpha stage.

Jordan-Hall commented 4 years ago

Working on it. Only in the evenings but on Limited internet as Im working away. Aiming for it to be ready. Just after vue release

vsavkin commented 4 years ago

Hey folks! Just wanted to let you know that 8.12 release will come with some tooling to make writing, and, most importantly, testing Nx plugins much easier. We should have it out next week.

puku0x commented 4 years ago

Does create-nx-plugin help us to make a builder for Vue.js project? https://blog.nrwl.io/nx-8-12-distributed-caching-improved-dependency-detection-better-support-for-buildable-libraries-6f7cec17b83f

Jordan-Hall commented 4 years ago

@pesoklp13 I'm going to take a look at it tonight. I've helped on the storybook builder so that part i'm fine. Just had poor internet and will still be poor until the 8 but dont worry im still working on it :)

PS just looked at the output. Yes it kinda helps with the unit testing, something I've struggled with in the past. It's more a boilerplate but yes

jaysoo commented 4 years ago

@puku0x @Jordan-Hall That's exactly why we created the create-nx-plugin package. :)

We can't accept everything into the main repo because doing so means we have to have the necessary resources to maintain it. In the future we can start promoting third-party plugins if they cover stacks that we don't cover.

wickstargazer commented 4 years ago

@jaysoo Hi, what kind of things would you be looking into to promote a third-party plugin, is there a guideline? As we are developing some infra as a code plugins for nx and using it in production, we would like to help contribute so the eco-system becomes better :)

Jordan-Hall commented 4 years ago

@jaysoo if thats the case. Should we create a community repo for 3rd party plugins with some core maintainers

vsavkin commented 4 years ago

We are working on good docs for create-nx-plugin now. Stay tuned :)

After that, we are planing to create a page on nx.dev with high-quality Nx plugins. And then at some point in the future integrate them into nx list.

We are happy to help with third-party plugin issues on case-by-case basis. E.g., if you have any questions, open issues and we will help you out.

asherccohen commented 4 years ago

Awesome @vsavkin! I will create a plugin for React native as soon as your tool is ready!

minhlucvan commented 4 years ago

Hi guys, how are things going? I'm very interest in this feature so if have anything that I can help just ping me :)

jdpearce commented 4 years ago

@asherccohen We are already working on a React native plugin! (I believe @jaysoo is working on that at the moment)

asherccohen commented 4 years ago

@jdpearce great news!per me know of help is needed!

Jordan-Hall commented 4 years ago

@minhlucvan I'll set up a slack channel in coming days. Build coming on almost sorted (including for libs)

jaysoo commented 4 years ago

Hey All, the Nx plugin support has been launched. https://nx.dev/nx-plugins

Community plugin guide is available here: https://nx.dev/react/guides/nx-plugin

We won't be adding Vue support in the main repo, but if someone wants to help with a Community plugin feel free to reach out to us.

asherccohen commented 4 years ago

Hey guys. Has anyone been working on this?I heard progress is good, worth releasing as a community plugin. Where's the repo so we can contribute?

BuckyMaler commented 4 years ago

I opened a draft PR adding Vue 2 support to Nx. The work is early. A borderline proof of concept. Hence, it being a draft PR. πŸ˜„

This is a weeks worth of after hours work. I was able to leverage Vue CLI for the dev server and production build, but I'm questioning whether I should continue leveraging Vue CLI or switch to Nx's @nrwl/web package.

Again, this work is for Vue 2 and is very early, but I wanted to share in progress work that you can track.

asherccohen commented 4 years ago

Can't wait to see it in action!

BuckyMaler commented 4 years ago

@ZachJW34 and I have made good progress on this. We hope to have a pre-release published by the end of the month.

What you can expect:

We'll also try to have documentation and issues created for those who are interested in contributing. It would be greatly appreciated. πŸ˜„

You can track our work here.

BuckyMaler commented 4 years ago

We released v0.2.0 of Nx + Vue! First class support for Vue in your Nx workspace. Check it out! πŸ“£

There was no announcement about v0.1.0 because you wouldn't like it. We didn't like it. We changed the DX quite a bit in v0.2.0. If you like Vue CLI you'll feel right at home. ✌️

sg1asgard commented 3 years ago

Hi, Maybe have a support for Nuxt as well such as this module? https://github.com/edbzn/nx-nuxt

Bests, George

iamandrewluca commented 3 years ago

@sg1asgard https://github.com/ZachJW34/nx-plus/tree/master/libs/nuxt

stewones commented 3 years ago

I can’t believe there’s no official support for Vue but is there for React πŸ™„

nathandaly commented 3 years ago

Can we please get official Vue support (possibly with Vite). I am currently only keeping the backend services in NX when I would like to keep it all together :)

samatechtw commented 3 years ago

I'm putting together a Vue3/Vite plugin here: https://github.com/samatechtw/nx-vue3-vite

We use it internally, but I wouldn't recommend it for production yet. There are still a few kinks to work out, and it's not well tested.

wind4gis commented 2 years ago

emm...there are still a lot of people using vue2...how about support vue2 also?

npwork commented 2 years ago

Please add native support for vue 2 and 3.

Jordan-Hall commented 2 years ago

Guys if you want this, you could use NX vite plugin and then inside the vite.config.js file add the required plugin for vue. I don't plan on personally adding webpack support for vue.

if you want webpack try https://github.com/ZachJW34/nx-plus/tree/master/libs/vue#readme

mohsinamjad commented 2 years ago

+1, need official production level support for vue.

maxigimenez commented 2 years ago

We are moving to a monorepo solution and sadly we cannot use NX because of the lacking of Vue support 😭

martinstanojevic commented 2 years ago

+1 for Vue3 support.

dakt commented 2 years ago

Woah, I have to ditch NX because of lacking support for Vue.

thebspin commented 2 years ago

I would say with the latest developments and trends.. it makes sense that if you support angular (with all due respect) people logically would expect you to also support vue. Talking to someone from the vue-core team would also probably help you in the right direction or they might even help you out

jcmillett commented 2 years ago

Official vue support is a must in order for us to adopt nx. The community provided nx-plus/vue package doesn't appear to be actively maintained. It also requires using nx 12, which is almost 6 months old at this point. Using nx 12 also means that it's not possible to use certain plugins, like @nrwl/js since it's only available for nx 13.

amitvchaudhary commented 2 years ago

It's literally awful that Nx doesn't support Vue. Any other monorepo solutions that one can try for Vue?

dakt commented 2 years ago

It's literally awful that Nx doesn't support Vue. Any other monorepo solutions that one can try for Vue?

We went for Turborepo and it's quite good. It's framework agnostic so no problem there.