•  
      request #31168 Migration Vue2 => Vue3
    Infos
    #31168
    Marie Ange Garnier (marieange)
    2024-11-07 15:21
    2023-03-17 14:23
    32771
    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 --> 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 --> 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
    • [ ] internal improvement
    Empty
    Stage
    Empty
    Under implementation
    Empty
    Attachments
    Empty
    References
    Referencing request #31168

    Git commit

    tuleap/tuleap/stable

    chore: convert AD plannings permissions to vue3 a8c23990ec
    chore: convert SVN permissions to vue3 9b2eec9821
    chore: convert tracker permissions to vue3 d0828fec73
    chore: Convert git permissions to vue3 0dc883a913
    chore: convert FRS perms to vue3 c008f0ade4
    chore: convert news permissions to vue3 e9968fee1e
    chore: vue3-recommended for permissions-per-group apps 544051b41d
    chore: bump git permissions-per-group to vue 3.4 d82cd77504
    chore: Baseline creates local vue for tests d2d521bc81
    chore: Extract local vue creation in a module b0664bea84
    Introduce composition API in project registration vue app 5d6721e0ce
    Replace translate directive by gettext d199a07152
    chore: remove v-translate and translate directives from git/repositories-list 03347eb6bd
    Introduce composition API into git-repositories-list App 83d161cb9f
    chore: Composition API into git/repositories-list f7332d230e
    chore: Composition API into git/repositories-list GitLabAdministration 96bf5771f3
    chore: Composition API into git/repositories-list GitRepositoryCreate f3e86dcfe8
    chore: Composition API into git/repositories-list Messages 41371eba69
    chore: Composition API into git/repositories-list ActionBar 3595bd1613
    refacto: Use `mitt` to handle events in project registration 54b8366ca4
    chore: Composition API into git/repositories-list AddGitlabRepositoryActionButton da7932a9d2
    chore: Composition API into git/repositories-list DropdownActionButton 2e4fa0649b
    chore: Composition API into git/repositories-list FilterEmptyState b5d80ee59c
    chore: Composition API into git/repositories-list GitRepository b7322be909
    fix: type issue in git/repositories-list 7df1400166
    chore: Composition API into git/repositories-list NoRepositoryEmptyState 2e77f372dd
    fix: input pattern is not a valid regexp c13bdd6fea
    chore: Composition API into git/repositories-list RepositoryList 23d317345a
    chore: Composition API into git/repositories-list RepositoryListSpinner 2c21731003
    Migrate to vue 3 project registration b2d96594c7
    chore: Remove unused vue dependencies b471bd981f
    Convert fork tree view into composition API 6a75df1190
    Convert DisplayModeSwitcher into vue3 2be967cc8e
    Convert GitRepository App.vue into composition API 11915a4538
    Convert ListFilter into composition API 74a89602ba
    Convert JenkinsServeurs Modal into composition API 1513f93011
    Update selectOwner composant into vue composition API c6a3f2d41b
    chore: Composition API into ArtifactClosureModal bc530f28c7
    chore: Composition API into CreateBranchPrefixModal 3956852aeb
    chore: Composition API into AccessTokenFormModal 5280cafa6b
    chore: Composition API into ConfirmReplaceTokenModal 7515e094ab
    chore: Composition API into EditAccessTokenGitlabModal 1e64a502d6
    chore: Composition API into RegenerateGitlabWebhook a30900ee99
    chore: Composition API into UnlinkRepositoryGitlabModal aedac5ad7b
    Remove unnecessary " in gitlab template 14c2dd335f
    Convert vue class component into composition api in branch-tag-selector app bb3604f054

    Follow-ups

    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