Skip to content

feat: upgrade MediaManagerV2 to Vue 3 - #460

Merged
hellopablo merged 1 commit into
developfrom
cursor/vue3-mediamanager-v2-2921
Sep 7, 2026
Merged

feat: upgrade MediaManagerV2 to Vue 3#460
hellopablo merged 1 commit into
developfrom
cursor/vue3-mediamanager-v2-2921

Conversation

@hellopablo

Copy link
Copy Markdown
Member

Summary

Upgrade Media Manager V2 from Vue 2.7 to Vue 3 so we can use vue-loader 17 (and stay aligned with nails/common Asset::vue3()).

This supersedes the incompatible Dependabot bump in #439 and makes the Dependabot ignore approach in #459 unnecessary for this path.

Changes

  • Dependencies: vue ^3.5.24, vue-loader ^17.4.2; remove vue-template-compiler
  • Runtime: $oAsset->vue2()vue3() on the MMV2 admin page
  • Mount: new Vue({ el, render })Vue.createApp(...).mount(...) with Vue 3 h() props
  • SFCs: modelValue / update:modelValue, beforeUnmount, drop $set / _uid, fix MultiSelect v-for+v-if
  • Assets: rebuilt admin.min.js / admin.min.css

Out of scope

  • Media Manager V1 (Knockout) and ObjectPicker (jQuery)
  • Migrating nails/module-admin’s separate Vue 2.6 app

Compatibility note

nails/common forbids loading Vue 2 and Vue 3 CDN libs on the same page. MMV2 now requests Vue 3 only via Asset.

Test plan

  • yarn build succeeds with vue-loader 17
  • Load Media Manager V2 admin page (requires app with nails/common vue3())
  • Smoke: list/filter objects, open actions menu, upload, bucket selector v-model
Open in Web Open in Cursor 

Migrate Media Manager V2 off Vue 2.7 onto Vue 3 via Asset::vue3().

- Bump vue to ^3.5.24 and vue-loader to ^17.4.2; drop vue-template-compiler
- Mount with createApp/h instead of new Vue
- Update custom v-model to modelValue/update:modelValue
- Rename beforeDestroy → beforeUnmount; replace $set and _uid
- Split MultiSelect v-for/v-if onto separate nodes
- Rebuild admin assets

Co-authored-by: Pablo de la Peña <pablo@hellopablo.co.uk>
@hellopablo
hellopablo marked this pull request as ready for review September 7, 2026 18:53
@hellopablo
hellopablo merged commit 82317b9 into develop Sep 7, 2026
4 checks passed
@hellopablo
hellopablo deleted the cursor/vue3-mediamanager-v2-2921 branch September 7, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants