frontend
frontend copied to clipboard
feat: update to vue v3
Notice
This is a draft pull request and is currently under heavy development. It has been opened to facilitate discussion as the migration will likely require the addition of new components, such as a Vite-compatible version of @cyclonedx/webpack-plugin
. This part can be deferred until the primary migration is functional.
Description
This draft pull request initiates the migration from Vue 2 to Vue 3 and switches the build tool from Vue CLI to Vite.
Addressed Issue
This draft PR addresses issue #446, which calls for the upgrade to Vue 3.
Additional Details
This draft is intended to open a discussion while I am trying to create the changes. As part of the migration process, some components and plugins used in Vue 2 may not be directly compatible with Vue 3 or Vite, such as the current use of @cyclonedx/webpack-plugin
. A Vite-compatible version of this plugin will be required, though it has been deferred until the core migration is functional.
Key considerations during this migration:
- Component Rewriting: Some components need to be rewritten to comply with Vue 3's composition API and other new syntax.
- Plugin Compatibility: Certain Vue 2 plugins may not have direct counterparts in Vue 3 or may require alternative solutions.
- Vite Configuration: Moving from Vue CLI to Vite involves reconfiguring the build setup, including handling environment variables, aliases, optimisations and build pipelines.
Checklist
- [ ] I have read and understand the contributing guidelines
- [ ] This PR introduces new or alters existing behavior, and I have updated the documentation accordingly
Tasks left to complete (no particular order)
These are the tasks I have outlined so far, more may be added as I work on this.
Also I may not keep this list up to date vs I will be adding comments as I work on the update.
- [ ] Update UI to vue v3
- [x] Create base vite configurations needed to start work this issue
- [ ] Explore using @vue/compat for the plugins that cant be updated, or possibly allow updating the project not all at once
- [ ] @cyclonedx/webpack-plugin add the rollup replacement for
- [ ] Make sure that the new configuration covers the core functionality needed from vue cli
- [ ] Identify what plugins need replacing due to lack of v3 support
- [ ] Update vee-validate usage