chore(deps): bump @vuepic/vue-datepicker from 11.0.2 to 12.0.1
Bumps @vuepic/vue-datepicker from 11.0.2 to 12.0.1.
Release notes
Sourced from @vuepic/vue-datepicker's releases.
v12.0.1
🐛 Bug Fixes
- Fixed issue where
text-inputformat pattern not propely inheriting default value fromformats(#1172)- Fixed issue where selecting more that one date in
multi-datesmode throws an error (#1173)v11.0.3
🐛 Bug Fixes
- Fixed wrong aria-label calendar cell from aria-pressed to aria-selected by (#1102)
@sahilrajthapa- Fixed issue where you can't type date when text-input and auto-apply are enabled (#1106) by
@JoaoPedroAS51- Fixed issue with disabled-dates function not working in year-picker mode (#1107) by
@sahilrajthapa- Fixed wrong css variable on time picker arrow icon (#1109) by
@ayrtonandino- Fixed issue with selectable months if year is out of range in
month-pickermode (#1145) by@spider-hand- Removed extra padding from the input when
clearableis set tofalse(#1150) by@Amirkian2023- Fixed missing value and text props in
yearslot when using themonth-pickermode (#1154) by@mayswind- Fixed a11y typo in aria-selected logic for range end dates (#1167) by
@brandonlavellov12.0.0
⚠️ Breaking changes
This release includes a lot of internal refactor and a lot of breaking changes.
Please take a look at the migration guide
🚀 Features
- Added option to add calendard instance in
setMonthYearexposed function (#1120)- Added option to hide menu arrow (
floatingprop) (#1089)- Added option to change
inputmode(#1149)- Added option to set custom input
id(input-attrsprop) (#1163)- Added
@invalidevent that propagatesoninvalidfrom the input field (#1127)- Added input masking on
text-inputalpha stage, tnx to@apsisxcoder(#1131)- Added support for rounding the value on
nowbutton (action-rowprop) (#1138)🐛 Bug Fixes
- Fixed issue where time values in the overlay are not reacting to
v-modelchange (#1108)- Fixed issue with time increment when picking from non-DST to DST date (#1112)
- Fixed issue with being unable to use
auto-applywhenpartialRangeis enabled (#1113)- Fixed issue where Increasing calendar width makes the inline time picker not centered (#1117)
- Fixed issue where
maxRangeandminRangeare not working inyear-pickermode (#1123)- Fixed issue where mobile swipe causes an unwanted selection of dates in the calendar (#1124, #1169)
- Fixed issue where
auto-applycloses the picker when usingflowwithrange(#1125)- Fixed issue where
start-dateis not working inquarter-pickermode (#1133)- Fixed issue where events
range-startandrange-endare not emitted when the time is updated (fixes #1142)- Fixed positioning issue on smaller screens with
preset-datesenabled (#1144)- Fixed issue with wrong week numbers from 2027 (#1147)
- Fixed isue where
auto-applynot selecting range inquarter-pickermode (#1166)
... (truncated)
Commits
53b37d0docs: Update docs build0f224fdchore: Resolve types2f869f1chore: Bump versionc9125d7docs: Try to resolve hydration issue on demo components6f2b19bfix:text-inputprop using default patterns instead of format default (fixe...042b968fix: Selecting more than one date inmulti-datesthrows an error (fixes #1173)b6cf6ffdocs: Add note forstart-timein migration guide (fixes #1170)c270fe1docs: Fix examples fordisabled-datesandallowed-dates(fixes #1171)8680cdfchore: Update readmea39f8d7chore: Update sonar workflow- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
@dependabot rebase
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:warning: Please upload report for BASE (main@7020545). Learn more about missing BASE report.
:warning: Report is 52 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #7767 +/- ##
=======================================
Coverage ? 51.58%
=======================================
Files ? 96
Lines ? 3148
Branches ? 865
=======================================
Hits ? 1624
Misses ? 1276
Partials ? 248
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
A newer version of @vuepic/vue-datepicker exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.
| Item | Initial Size | Async Size | Assets Size | Total Size |
|---|---|---|---|---|
| components/NcDateTimePicker (before) | 282.93 kb | - | 58.83 kb | 341.76 kb |
| components/NcDateTimePicker (after) | 887.21 kb | - | 58.90 kb | 946.11 kb |
| diff | 🔺+214% | - | ~ | 🔺+177% |
😬😬😬
Some breaking changes seem to be missing.
resolved that part and size should also be resolved.
Tested in both Vite and Webpack apps?
Tested in both Vite and Webpack apps?
Currently only tested it in vite apps
Pushed a fix, should now work as expected in both app classes.
Better than with bundling everything. But still quite large. I guess, there is notthing we can do with it.
| Item | Initial Size | Async Size | Assets Size | Total Size |
|---|---|---|---|---|
| components/NcDateTimePicker (before) | 282.93 kb | - | 58.83 kb | 341.76 kb |
| components/NcDateTimePicker (after) | 315.34 kb | 1840.26 kb | 58.90 kb | 2214.50 kb |
| diff | 🔺+12% | - | ~ | 🔺+550% |
One problem I found. With default Vite and some Webpack/RSPack configs, every locale as well as its shared utils (3 modules) are new chunks. It increases number of chunks in an app significantly. And some locales needs ~4 HTTP requests.
It is solvable by local bundler config, for example, by setting a new cacheGroup.
However, because these chunks are just mixed with others, it's a bit hard, requires regexp to find very specific files in node_modules.
Can we:
- Either not bundle these modules and keep it in data-fns
- Or build them into a split folder in
nextcloud-vuewith a predictable path.
every locale as well as its shared utils (3 modules) are new chunks. It increases number of chunks in an app significantly.
Well but thats a good thing here if every locale is its own chunk then the user only loads what needed - the locale will mostly not change so only the needed chunk is loaded. The number of chunks is currently not a performance issue but the size of them is the current real performance issue.
Nevertheless I currently check if we can avoid date-fn locales here in general as we already pass in most of the formatting our self.
Well but thats a good thing here if every locale is its own chunk then the user only loads what needed - the locale will mostly not change so only the needed chunk is loaded. The number of chunks is currently not a performance issue but the size of them is the current real performance issue.
In general, it is also an issue. Having too many nano chunks instead of web-optimised is one of the reasons Rollup to be developed.
I did not propose to have no chunk, but only to have 1 chunk per locale. It doesn't make sense to load 4 chunks just to have a single locale in a date-time picker.
Anyway, that is not the main, but only an additional problem.
The main problem is that date-fns locales now live not separately in date-fns/locale, but in @nextcloud/vue/dist/chunks mixed with all the other chunks.
This makes it quite complicated to configure any date-fns specific bundling for the library user.
They are different from other "classic" chunks and may require specific handling.
For example, we never need to have more than 1 locale. It is always a single locale. Thus it doesn't make sense to merge locale chunks into other modules even if they are too small, unlike normal chunks.
Briefly, I'd prefer:
- Either keep
date-fnslocales in thedate-fnsand not distribute it as@nextcloud/vueown chunks - Or split them at least structurally so a developer can configure locale handling on the app side