-
Notifications
You must be signed in to change notification settings - Fork 13
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
Switch frontend build process from Webpack to Vite #1725
Conversation
6581c32
to
f2e78c0
Compare
3759711
to
cb639d4
Compare
678a896
to
818604b
Compare
@mvandenburgh could you remind me of the showstoppers on this one? Are we pinned to a version of one of the libraries for some reason? |
The current blocker is |
ea74efe
to
16a6fd9
Compare
Options used - ✔ Project name: dandi-archive ✔ Add TypeScript? Yes ✔ Add JSX Support? No ✔ Add Vue Router for Single Page Application development? Yes ✔ Add Pinia for state management? Yes ✔ Add Vitest for Unit Testing? No ✔ Add Cypress for both Unit and End-to-End testing? No ✔ Add ESLint for code quality? Yes ✔ Add Prettier for code formatting? No
Taken from vue.config.js
The `recommended` subset of rules is stricter and our current codebase generates *a lot* of errors with it.
This rule set was implicitly included by the airbnb package we used on the webpack build.
I resolved the type checking issues, so I'll coordinate with the rest of the team on Monday to get this reviewed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few questions/comments but otherwise makes sense
🚀 PR was released in |
This PR switches our frontend build process from vue-cli/Webpack to Vite. Vite is the default tooling for Vue 3, so this will help ease the upgrade to that.
The way I did this PR was
create-vue
to bootstrap a new Vue 2 project with Vite in thevite/
subdirectoryweb/
to the new vite project invite/
vite/
, converting them to their vite equivalents when needed (for example,vue.config.js
=>vite.config.ts
.vite/
toweb/
.Other things to note -
web/test/
subdirectory. This didn't seem to be a problem before as both applications used the same eslint version and build tooling (i.e. vue-cli/Webpack); but now, the main app is using vite while the e2e tests use webpack. To resolve this, I just moved the e2e tests into the root of the repo to thee2e
directory.