uicrooks / shopify-theme-lab

Shopify theme development environment using Liquid, Vue and Tailwind CSS. Built on top of Shopify CLI 🧪
https://uicrooks.github.io/shopify-theme-lab-docs/
MIT License
743 stars 132 forks source link

Migrate project to Vite for asset bundling #167

Open vivgui opened 2 years ago

vivgui commented 2 years ago

The project currently uses webpack for assets bundling but there's an interest in switching to Vite. This PR attempts to do that migration. I first tested this on the foundation theme (you can see my repo fork here) and things worked correctly.

One major thing that the migration to Vite changed is that Vite doesn't use .browserslistrc for setting browser compatibility, it uses esbuild instead so the .config/.browserslistrc file is not needed.

Besides that, I tried my best to replace all the webpack-specific functionality using Vite plugins and configurations.

I know this is a significant change and I'm open to discussing how to best approach it. I just wanted to demonstrate that migrating to Vite is possible and worthwhile.

What kind of change does this PR introduce? (check at least one)

Does this PR introduce a breaking change? (check one)

If yes, please describe the impact and migration path for existing applications:

The PR fulfills these requirements:

If adding a new feature, the PR's description includes:

Other information:

montalvomiguelo commented 2 years ago

Hey guys, at barrel created a Vite/Shopify plugin that I think you will love (:

https://user-images.githubusercontent.com/5134470/179859946-806ae51a-0ac7-4917-b319-c52a1bc64140.mp4

vivgui commented 2 years ago

@montalvomiguelo what's the github repo? would like to take a look

montalvomiguelo commented 2 years ago

@vivgui https://github.com/barrel/barrel-shopify/tree/main/packages/vite-plugin-shopify

vivgui commented 2 years ago

I wanted to follow up on this, is there anything you want me to change/talk about before this can be approved?

adotrevino commented 1 year ago

when is this going to be approved?

curiouscrusher commented 1 year ago

+1 would love to see this implemented!

Chadyka commented 1 year ago

+1 this is just what I'm missing from the current implementation

pablogiralt commented 1 year ago

+1

james0r commented 1 year ago

+1

james0r commented 1 year ago

Adapted OP's Vite implementation for use with Alpine.js if anyone wants to check it out here. Havn't got it working with Shopify CLI v3 yet.