•  
      request #31168 Migration Vue2 => Vue3
    Infos
    #31168
    Marie Ange Garnier (marieange)
    2025-08-18 14:19
    2023-03-17 14:23
    32803
    Details
    Migration Vue2 => Vue3

    Vue2 is EOL since December 31 2023

    We have two different types of application to migrate: Application in class component API and application without typescript

    • Applications that are in class component API will need to be done in two steps:

      1. one we migrate from component to composition API (example)
      2. next we can convert into Vue3 (or compat mode if needed)
    • Applications that are in javascript can be directly migrated in vue-compat-mode

    Migration strategy

    graph TD
        
      B(Vue migration steps) --> C{Build}
      C --> D[Webpack]
      C --> E[ViteJs]
      D --> G[translate by gettext]
      G -- Composition API --> F[Compat mode]
      G -- Class Component API --> F[Compat mode]
      F --> I[Vue3]
      I --> T[remove app from .eslintrc]
      T --> J(OPT pinia)
      J --> K(OPT inject provide)
      K --> L(OPT convert last class component in composition)
        
      E --> M[translate by gettext]
      M -- Composition API --> S[Pinia]
      S --> N[Compat mode]
      M -- Class Component API --> N[Compat mode]
      N --> Q[Vue3]
      Q --> U[remove app from .eslintrc]
      U --> R(OPT inject provide)
    
    • translate by gettext means replace non-standard <translate> directive by gettext, it's easier to replace this unsupported tag by gettext injection than having our build able to manage them for compat mode
    • small compat mode commit exemple
    • once compat mode is done, we can correct all errors and remove compat mode to have app in vue3, no need to have all components in composition API in order to work migration guide. Example of how to migrate components to composition API.
    • pinia is not always required, but it's a long term objective, if its not too long, it's a good thing to remove vuex pinia migration guide
    • inject/provide: in our first applications we did not have a proper way to inject our data coming from application into a readonly state properties, this is now possible in vue composition api
    Dependencies
    Empty
    Empty
    • [ ] enhancement
    • [x] internal improvement
    Empty
    Stage
    Empty
    Closed
    2025-08-18
    Attachments
    Empty
    References

    Follow-ups

    User avatar
    last edited by: Joris MASSON (jmasson) 2025-09-11 15:59

    Every apps are now in vue3, other requests are already created an link int the doc #1635, to keep of what we should do in order to have a "clean" code base (typescript everywhere and remove/bump our stores). I'm closing this one


    • Status changed from Under implementation to Closed
    • Close date set to 2025-08-18
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2024-11-07 15:21
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Thomas Gerbet (tgerbet)2024-09-25 11:33
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2024-06-04 11:37
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2024-05-27 16:37
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2024-05-27 11:02
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar

    gerrit #30141 integrated into Tuleap 15.4.99.20


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar

    gerrit #30139 integrated into Tuleap 15.4.99.16


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar

    gerrit #30090 integrated into Tuleap 15.4.99.9


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar

    gerrit #30059 integrated into Tuleap 15.3.99.73


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-12-13 16:43
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-11-13 11:43

    gerrit #29757 (convert SVN permissions to vue3) integrated in Tuleap 15.2.99.14


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-11-13 11:26
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar

    gerrit #29754 integrated into Tuleap 15.2.99.10


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-11-09 12:13
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-10-13 16:17
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-10-12 11:03
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-09-29 11:15
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-09-29 11:14
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-09-14 17:32

    Component -> Class Component.

    Also removed ForumML app that has been deleted.


    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    • Status changed from New to Under implementation
    User avatar
    Joris MASSON (jmasson)2023-08-14 17:13
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    Joris MASSON (jmasson)2023-08-14 09:39
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Original Submission
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes