nextcloud-libraries / nextcloud-libraries/nextcloud-vue

Library size report

Open
#7,196 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Vue
Stars
246
Forks
99
Avg merge
1d 20h
Merged PRs (30d)
103

Description

Individual bundle impact of every component when bundled with Vite, @nextcloud/vite-config, @nextcloud/axios, @nextcloud/capabilities and @nextcloud/router.

Note: using 2 components together doesn't always result in a double size.

Common parts are reused. For example, if NcSelectUser is used, adding NcSelect and NcAvatar doesn't change the bundle size, as these components are included into NcSelectUser already.

Version: v9.3.3

  • Initial: how much JS loaded initially after importing the item
  • Async: how much JS loaded asynchronously, e.g. when a specific function is used
  • Assets: CSS size
  • Total: sum
Item Initial Size Async Size Assets Size Total Size
🥇 components/NcRichContenteditable 1239.53 kb - 75.22 kb 1314.75 kb
🥈 components/NcEmojiPicker 1150.20 kb - 36.61 kb 1186.82 kb
🥉 functions/emoji => emojiSearch 868.70 kb - - 868.70 kb
4️⃣ components/NcRichText 390.69 kb 162.25 kb 65.85 kb 618.79 kb
5️⃣ components/NcDateTimePicker 334.48 kb - 60.18 kb 394.67 kb
6️⃣ components/NcCollectionList 280.43 kb - 42.90 kb 323.33 kb
7️⃣ functions/reference => getLinkWithPicker 273.79 kb - 46.08 kb 319.87 kb
8️⃣ components/NcSelectUsers 248.14 kb - 40.33 kb 288.47 kb
9️⃣ components/NcDashboardWidget 203.82 kb - 29.04 kb 232.85 kb
🔟 functions/reference => searchProvider 201.24 kb - 46.08 kb 247.32 kb
functions/reference => getProvider 200.89 kb - 46.08 kb 246.98 kb
functions/reference => getProviders 200.79 kb - 46.08 kb 246.87 kb
functions/reference => sortProviders 200.63 kb - 46.08 kb 246.72 kb
functions/reference => hasInteractiveView 200.49 kb - 46.08 kb 246.57 kb
functions/reference => anyLinkProviderId 200.43 kb - 46.08 kb 246.51 kb
components/NcUserBubble 198.61 kb - 26.11 kb 224.72 kb
components/NcListItemIcon 197.65 kb - 26.63 kb 224.29 kb
components/NcDashboardWidgetItem 196.84 kb - 26.66 kb 223.50 kb
components/NcAvatar 193.97 kb - 25.32 kb 219.29 kb
components/NcActionInput 175.99 kb 323.81 kb 83.18 kb 582.99 kb
components/NcColorPicker 171.77 kb - 14.22 kb 185.99 kb
components/NcAppSidebar 171.29 kb - 21.79 kb 193.08 kb
components/NcAppSettingsDialog 169.33 kb - 21.45 kb 190.78 kb
components/NcDialog 159.98 kb - 19.45 kb 179.42 kb
components/NcModal 151.58 kb - 17.23 kb 168.81 kb
components/NcAppNavigationItem 147.26 kb - 21.13 kb 168.39 kb
components/NcBreadcrumbs 128.85 kb - 19.51 kb 148.35 kb
components/NcChip 119.36 kb - 14.92 kb 134.27 kb
components/NcListItem 116.74 kb - 16.46 kb 133.20 kb
components/NcBreadcrumb 114.02 kb - 11.58 kb 125.60 kb
components/NcAppNavigationCaption 111.10 kb - 11.10 kb 122.20 kb
components/NcActions 109.99 kb - 10.12 kb 120.11 kb
components/NcSelectTags 100.11 kb - 14.04 kb 114.15 kb
components/NcTimezonePicker 94.12 kb - 14.04 kb 108.16 kb
components/NcSettingsSelectGroup 93.94 kb - 14.29 kb 108.23 kb
components/NcPopover 90.90 kb - 2.50 kb 93.40 kb
components/NcSelect 86.15 kb - 14.04 kb 100.19 kb
components/NcRelatedResourcesPanel 74.31 kb - 9.72 kb 84.03 kb
components/NcHeaderMenu 61.14 kb - 8.05 kb 69.19 kb
components/NcAppNavigation 57.99 kb - 9.58 kb 67.58 kb
components/NcAppContent 56.10 kb - 12.70 kb 68.80 kb
components/NcContent 52.47 kb - 8.38 kb 60.86 kb
components/NcPasswordField 51.07 kb - 14.46 kb 65.53 kb
functions/usernameToColor => usernameToColor 48.41 kb - - 48.41 kb
components/NcAppNavigationSettings 47.55 kb - 7.60 kb 55.15 kb
functions/emoji => getCurrentSkinTone 46.79 kb - - 46.79 kb
functions/emoji => setCurrentSkinTone 46.77 kb - - 46.77 kb
functions/emoji => emojiAddRecent 46.70 kb - - 46.70 kb
components/NcTextField 46.26 kb - 14.27 kb 60.53 kb
components/NcAppNavigationSearch 46.23 kb - 15.00 kb 61.23 kb
components/NcUserStatusIcon 43.74 kb - 0.55 kb 44.30 kb
components/NcCheckboxRadioSwitch 42.70 kb - 9.66 kb 52.36 kb
components/NcAppNavigationNewItem 42.31 kb - 13.78 kb 56.09 kb
components/NcDialogButton 35.65 kb - 7.20 kb 42.85 kb
components/NcDateTime 35.47 kb - - 35.47 kb
composables/useFormatDateTime => useFormatRelativeTime 33.23 kb - - 33.23 kb
components/NcInputField 32.53 kb - 14.27 kb 46.80 kb
composables/useFormatDateTime => useFormatTime 31.82 kb - - 31.82 kb
components/NcDateTimePickerNative 31.17 kb - 2.23 kb 33.40 kb
components/NcSettingsSection 30.34 kb - 1.17 kb 31.51 kb
components/NcTextArea 30.04 kb - 5.37 kb 35.40 kb
components/NcActionButton 28.42 kb - 3.28 kb 31.69 kb
components/NcActionTextEditable 28.35 kb - 8.17 kb 36.52 kb
components/NcActionCheckbox 28.23 kb - 3.46 kb 31.69 kb
components/NcActionRadio 27.83 kb - 3.42 kb 31.25 kb
components/NcActionButtonGroup 27.45 kb - 1.34 kb 28.79 kb
components/NcNoteCard 25.42 kb - 2.33 kb 27.74 kb
components/NcIconSvgWrapper 22.96 kb - 0.95 kb 23.91 kb
components/NcCounterBubble 22.89 kb - 1.26 kb 24.14 kb
components/NcBlurHash 22.48 kb - 0.20 kb 22.68 kb
components/NcAppSidebarHeader 18.92 kb - - 18.92 kb
directives/Linkify => Linkify 17.68 kb - - 17.68 kb
functions/preloadImage => preloadImage 10.27 kb - - 10.27 kb
components/NcHeaderButton 5.47 kb - 7.28 kb 12.75 kb
components/NcAppNavigationNew 4.83 kb - 6.34 kb 11.18 kb
components/NcAppSettingsSection 4.76 kb - 1.12 kb 5.88 kb
components/NcButton 4.08 kb - 6.08 kb 10.17 kb
components/NcActionRouter 3.82 kb - 2.31 kb 6.13 kb
components/NcActionLink 3.74 kb - 2.07 kb 5.81 kb
composables/useIsDarkTheme => useIsDarkTheme 3.73 kb - - 3.73 kb
components/NcEllipsisedOption 3.56 kb - 0.53 kb 4.08 kb
composables/useIsDarkTheme => useIsDarkThemeElement 3.40 kb - - 3.40 kb
functions/registerReference => renderWidget 3.26 kb - - 3.26 kb
functions/registerReference => renderCustomPickerElement 3.24 kb - - 3.24 kb
components/NcProgressBar 3.21 kb - 1.42 kb 4.63 kb
components/NcActionText 3.21 kb - 2.37 kb 5.58 kb
functions/registerReference => getCustomPickerElementSize 3.09 kb - - 3.09 kb
functions/registerReference => destroyCustomPickerElement 3.08 kb - - 3.08 kb
functions/registerReference => destroyWidget 3.07 kb - - 3.07 kb
functions/registerReference => NcCustomPickerRenderResult 3.03 kb - - 3.03 kb
functions/registerReference => isCustomPickerElementRegistered 3.02 kb - - 3.02 kb
functions/registerReference => isWidgetRegistered 3.01 kb - - 3.01 kb
functions/registerReference => registerWidget 2.96 kb - - 2.96 kb
functions/registerReference => registerCustomPickerElement 2.96 kb - - 2.96 kb
composables/useHotKey => useHotKey 2.57 kb - - 2.57 kb
functions/contactsMenu => registerContactsMenuAction 2.51 kb - - 2.51 kb
components/NcAppSidebarTab 2.48 kb - 0.50 kb 2.98 kb
functions/contactsMenu => getEnabledContactsMenuActions 2.41 kb - - 2.41 kb
components/NcEmptyContent 2.33 kb - 1.14 kb 3.47 kb
components/NcHighlight 1.75 kb - - 1.75 kb
components/NcLoadingIcon 1.68 kb - 0.33 kb 2.01 kb
components/NcSavingIndicatorIcon 1.67 kb - - 1.67 kb
components/NcGuestContent 1.22 kb - 0.65 kb 1.87 kb
components/NcThemeProvider 1.21 kb - - 1.21 kb
components/NcAppContentList 1.11 kb - - 1.11 kb
components/NcActionCaption 1.08 kb - 0.52 kb 1.60 kb
components/NcAppNavigationList 1.03 kb - 0.38 kb 1.41 kb
components/NcAppContentDetails 0.96 kb - - 0.96 kb
components/NcAppNavigationIconBullet 0.84 kb - 0.47 kb 1.31 kb
composables/useIsMobile => useIsMobile 0.63 kb - - 0.63 kb
composables/useIsMobile => useIsSmallMobile 0.63 kb - - 0.63 kb
composables/useIsFullscreen => useIsFullscreen 0.58 kb - - 0.58 kb
components/NcAppNavigationSpacer 0.52 kb - 0.14 kb 0.66 kb
components/NcActionSeparator 0.51 kb - 0.32 kb 0.83 kb
functions/dialog => spawnDialog 0.47 kb - - 0.47 kb
components/NcVNodes 0.21 kb - - 0.21 kb
functions/isDarkTheme => isDarkTheme 0.17 kb - - 0.17 kb
functions/isDarkTheme => checkIfDarkTheme 0.17 kb - - 0.17 kb
functions/a11y => isA11yActivation 0.09 kb - - 0.09 kb
directives/Focus => Focus 0.04 kb - - 0.04 kb

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue contains a Vite bundle-size report for the listed Nextcloud Vue components and functions, but names no source files, tests, or requested change. Start by clarifying whether the report should be regenerated or documented, then define completion as an updated report with the stated Initial, Async, Assets, and Total measurements.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, vite
Domain
documentation, performance
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.