Skip to content

perf(appointments): reduce bundle size bloat by @nextcloud/vue#7671

Closed
ChristophWurst wants to merge 1 commit intomainfrom
perf/appointments/bundle-size
Closed

perf(appointments): reduce bundle size bloat by @nextcloud/vue#7671
ChristophWurst wants to merge 1 commit intomainfrom
perf/appointments/bundle-size

Conversation

@ChristophWurst
Copy link
Copy Markdown
Member

@ChristophWurst ChristophWurst commented Nov 5, 2025

Details

From https://stable8--nextcloud-vue-components.netlify.app/

Import from a single root is available as well. Use with caution: this might lead to slower build time and larger bundles in some cases.

The appointments scripts are small and standalone. They use a few nextcloud/vue components. On main we include the full nextcloud/vue. It will not be tree shaken.

Comparison

Before

Entrypoints:
  main (5.64 MiB)
      calendar-main.js?v=a7305326cd103dfb1881
  contacts-menu (333 KiB)
      calendar-contacts-menu.js?v=9003c166b073eb6859e5
  appointments-booking (3.48 MiB)
      calendar-appointments-booking.js?v=30b2a188baa1c9f0c8e3
  appointments-confirmation (403 KiB)
      calendar-appointments-confirmation.js?v=09c94c3f873574961d8d
  appointments-conflict (403 KiB)
      calendar-appointments-conflict.js?v=5b98e8588590912beb50
  appointments-overview (3.17 MiB)
      calendar-appointments-overview.js?v=601d743edc8ea917e84b
  proposal-public (1.99 MiB)
      calendar-proposal-public.js?v=6bae3689fb176fc337c9

After

Entrypoints:
  main (5.64 MiB)
      calendar-main.js?v=c69cd9e13409ea3714ea
  contacts-menu (333 KiB)
      calendar-contacts-menu.js?v=7ef629f700fce7391355
  appointments-booking (1.35 MiB)
      calendar-appointments-booking.js?v=a8191000967f91886fdf
  appointments-confirmation (403 KiB)
      calendar-appointments-confirmation.js?v=09c94c3f873574961d8d
  appointments-conflict (403 KiB)
      calendar-appointments-conflict.js?v=5b98e8588590912beb50
  appointments-overview (3.17 MiB)
      calendar-appointments-overview.js?v=601d743edc8ea917e84b
  proposal-public (1.99 MiB)
      calendar-proposal-public.js?v=22fba3be8899be9df924

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
@codecov
Copy link
Copy Markdown

codecov bot commented Nov 5, 2025

Copy link
Copy Markdown
Member

@tcitworld tcitworld left a comment

Choose a reason for hiding this comment

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

Needs a lint as well


<script>
import { NcEmptyContent as EmptyContent } from '@nextcloud/vue'
import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's used as EmptyContent, not NcEmptyContent

@ChristophWurst
Copy link
Copy Markdown
Member Author

After a local rebase to main I no longer see the original speedup. The bundle is now always big.

@ChristophWurst ChristophWurst deleted the perf/appointments/bundle-size branch April 8, 2026 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants