Skip to content

Conversation

@susnux
Copy link
Contributor

@susnux susnux commented Sep 30, 2025

Summary

  1. move legacy building to build/frontend-legacy (vue 2 apps)
  • apps are symlinked to be builded with webpack as before
  1. build script in root is now for Vue 3 apps
  2. migrated sharebymail as an example app.

Checklist

@susnux susnux added 2. developing Work in progress technical debt ♻️ refactor Refactor code (not a bug fix, not a feature just refactoring) labels Sep 30, 2025
@nextcloud nextcloud deleted a comment Sep 30, 2025
@nextcloud nextcloud deleted a comment Sep 30, 2025
@susnux susnux requested a review from come-nc October 1, 2025 11:51
@susnux susnux marked this pull request as ready for review October 1, 2025 11:51
@susnux susnux requested review from a team as code owners October 1, 2025 11:51
@susnux susnux requested review from ArtificialOwl, CarlSchwan, artonge, nfebe, skjnldsv and szaimen and removed request for a team and ArtificialOwl October 1, 2025 11:51
@susnux susnux added this to the Nextcloud 33 milestone Oct 1, 2025
@susnux susnux force-pushed the feat/vue3-demi-2 branch 2 times, most recently from d33fadc to 384e5a4 Compare October 1, 2025 12:07
Copy link
Contributor

@szaimen szaimen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐘

artonge

This comment was marked as resolved.

@susnux susnux force-pushed the feat/vue3-demi-2 branch 2 times, most recently from 1290c76 to a033040 Compare October 7, 2025 15:29
@susnux

This comment was marked as outdated.

@susnux susnux marked this pull request as draft October 8, 2025 19:03
@susnux susnux force-pushed the feat/vue3-demi-2 branch 8 times, most recently from 1521ad7 to 61ac440 Compare October 21, 2025 13:11
@susnux
Copy link
Contributor Author

susnux commented Oct 22, 2025

The build files from both systems are ending up in the dist directory? Could there be some conflicts?

@artonge no because webpack uses .js and vite will create .mjs :)

- Built the frontend in separate packages until we migrated everything
  to Vue 3.
- Separate logic into two packages controlled by main package.json

Signed-off-by: Ferdinand Thiessen <[email protected]>
Signed-off-by: Ferdinand Thiessen <[email protected]>
@susnux susnux marked this pull request as ready for review October 22, 2025 15:34
@susnux susnux requested review from artonge and come-nc October 22, 2025 15:35
@susnux
Copy link
Contributor Author

susnux commented Oct 22, 2025

Basically nothing changed compared to before except that I split all complex side quests into other PRs that are now merged:

So this now only does a few things:

  • allow styles also from dist similar as with js assets
  • legacy apps are built in build/frontend-legacy with their dependencies
  • migrated apps are also built in build/frontend but the dependencies are already kept in the root for simpler switch once everything is migrated
  • Migrated first app (sharebymail) to Vue 3

How to migrate apps?

  1. Migrate the code to Vue 3
  2. Remove symlink from build/frontend-legacy/apps
  3. Remove entry from build/frontend-legacy/webpack.modules.cjs
  4. Add symlink to build/frontend/apps
  5. Add entry to build/frontend/vite.config.ts

@susnux susnux merged commit 86e47d8 into master Oct 22, 2025
270 of 284 checks passed
@susnux susnux deleted the feat/vue3-demi-2 branch October 22, 2025 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2. developing Work in progress ♻️ refactor Refactor code (not a bug fix, not a feature just refactoring) technical debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants