frontend icon indicating copy to clipboard operation
frontend copied to clipboard

feat: update to vue v3

Open sekwah41 opened this issue 5 months ago • 14 comments

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

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

sekwah41 avatar Aug 28 '24 15:08 sekwah41