fix(deps): update dependency cron-parser to v5
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| cron-parser | 4.9.0 -> 5.4.0 |
Release Notes
harrisiirak/cron-parser (cron-parser)
v5.4.0
What's Changed
- Clamp currentDate value when startDate or endDate are provided by @harrisiirak in #391
Full Changelog: https://github.com/harrisiirak/cron-parser/compare/v5.3.1...v5.4.0
v5.3.1
What's Changed
- Fix invalid start and end time span validation logic by @harrisiirak in #386
- CronFieldCollection.from should allow passing in special chars by @harrisiirak in #387
- Update luxon to the latest version
1c32a84
Full Changelog: https://github.com/harrisiirak/cron-parser/compare/v5.3.0...v5.3.1
v5.3.0
What's Changed
- Hashed values (H) ranges and steps support by @harrisiirak in #382
Full Changelog: https://github.com/harrisiirak/cron-parser/compare/v5.2.0...v5.3.0
v5.2.0
What's Changed
- Adding support for the H syntax, allowing to add jitter to a cron expression by @MYDIH in #377
- Extended serialization for cron fields by @harrisiirak in #379
Breaking Changes
-
#379 changed
CronFieldconstructor signature and removednthDayOfWeekfield fromCronExpressionOptions. See PR for more details.
New Contributors
Full Changelog: https://github.com/harrisiirak/cron-parser/compare/v5.1.1...v5.2.0
v5.1.1
-
e6b0046- Fix last day of month handling when explicit month is set (#375) -
a306f80- Updateluxonto the latest (3.6.1) version -
099bc28- Update development dependencies to the latest versions
v5.1.0
-
#374 - Improve handling and support for special characters (L, #) in the
includesDatemethod
v5.0.6
-
8f2081e- Simplify strict mode flag usage in getRawFields -
6599e15- Update strict mode documentation
v5.0.5
-
38a8458- Restore4.xcompatibility and use the current timezone for currentDate instead of setting it to UTC (#370)
v5.0.4
v5.0.3
v5.0.2
v5.0.1
This first patch release contains couple of quick bugfixes that were reported after the first release of v5. Thanks for everybody that tried the new version out and provided some feedback.
-
9b1e0f3- Removed unusedjest-runner-tsddev dependency (#361) -
683f585- Use dynamic loading forfsandfs/promisesto restore ability to use this package in the browser environment (#362) -
5e10db0- Removeassertmodule usage (can't be used in the browser environment without polyfill or included extra package) and improve/add test cases (#364) -
7ca5c94- Remove unused.npmignore -
9ddf705- Fix benchmarking tool for module interface
v5.0.0: - TypeScript rewrite
All changes come from #360
Changelog
- BREAKING CHANGE: Bumped the minimum Node.js version to >= 18 and TypeScript to >= 5.
-
BREAKING CHANGE:
interval.fields(CronExpression.interval) now returns a readonly instance ofCronFieldsCollectioninstead of a regular array. SeeCronFieldsCollection.fromfor how to modify the underlying data structure. -
BREAKING CHANGE: Moved crontab file parsing from
CronParserto a standaloneCronFileParserclass (fixes #112). -
BREAKING CHANGE: Removal of
utcflag from the options. Pass inUTCtimezone instead. - Refactored the codebase to TypeScript (fixes #190).
- Cleaned up test suites, removed duplicate test cases, and switched from
taptojest. - Improved documentation and introduced documentation generated by
typedoc(fixes #309, #322, #269). - Added benchmark tooling to help detect future performance regressions.
- Added
CronExpression.includesDateto evaluate whether a given date matches the pattern (closes #299). - Fixed issues where certain range and repeat field expressions produced invalid intervals (fixes #156).
- Fixed an issue with day-of-month handling when the range is explicitly set and no wildcard is used (fixes #284).
- Improved repeat serialization for stringification (fixes #236).
Performance improvements
While this release won't address the performance issues reported in #287, it will bring some performance improvements of around 20-30% on average, depending on the pattern complexity. The following benchmark results were produced on my 2023 MBP.
┌────────────────────┬────────────┬────────────┬──────────┬─────┐ │ Pattern │ Old Mean │ New Mean │ Change │ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ * * * * * * │ 73.55ms │ 37.43ms │ 49.10% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 0 * * 1,4-10,L * * │ 3504.51ms │ 2338.42ms │ 33.27% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 10-30/2 2 12 8 0 │ 3111.18ms │ 2234.32ms │ 28.18% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 0 0 0 * * 4,6L │ 9400.33ms │ 6825.61ms │ 27.39% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 0 12 */5 6 * │ 7442.68ms │ 5645.95ms │ 24.14% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 0 15 */5 5 * │ 6998.87ms │ 5443.22ms │ 22.23% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 0 0 6-20/2,L 2 * │ 8832.87ms │ 6947.63ms │ 21.34% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 0 0 0 * * 1L,5L │ 15416.07ms │ 12474.12ms │ 19.08% │ ↑ │ ├────────────────────┼────────────┼────────────┼──────────┼─────┤ │ 10 2 12 8 7 │ 7105.79ms │ 5947.91ms │ 16.29% │ ↑ │ └────────────────────┴────────────┴────────────┴──────────┴─────┘
Benchmarks can be run locally by executing the command.:
npm run bench
Individual patterns can be benchmarked by executing bench:pattern command:
npm run bench:pattern "* * * * * *"
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
📊 Benchmark results
Comparing with d8e2c596445f76310f5967ba224c84781992988c
- Dependency count: 1,132 ⬆️ 0.09% increase vs. d8e2c596445f76310f5967ba224c84781992988c
- Package size: 322 MB ⬆️ 0.08% increase vs. d8e2c596445f76310f5967ba224c84781992988c
- Number of ts-expect-error directives: 380 (no change)