Skip to content

chore: update dependencies and align linting - #532

Open
KristjanESPERANTO wants to merge 6 commits into
jens-maus:masterfrom
KristjanESPERANTO:update
Open

chore: update dependencies and align linting#532
KristjanESPERANTO wants to merge 6 commits into
jens-maus:masterfrom
KristjanESPERANTO:update

Conversation

@KristjanESPERANTO

@KristjanESPERANTO KristjanESPERANTO commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

This updates the project dependencies, including rrule-temporal, xo, lint-staged, and moment-timezone.

The new xo version introduced a few new rules, so I addressed the resulting findings. I also used the opportunity to remove lint rules and overrides that are outdated or no longer relevant.

This also fixes #542 with the new rrule-temporal version.

Summary by CodeRabbit

  • Bug Fixes
    • Improved reliability when processing recurring events, date-only events, UNTIL values, and time zone transitions.
    • Strengthened time zone detection and recurring-event expansion behavior.
  • Refactor
    • Simplified calendar parsing and event-processing logic without changing expected results.
  • Tests
    • Expanded validation for recurrence rules, time zones, alarms, indexing, and error handling.
  • Chores
    • Updated project tooling and code-quality configuration.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 8224097f-cd24-4593-ac60-b019758c7d5d

📥 Commits

Reviewing files that changed from the base of the PR and between 41b3ed4 and 8a66816.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

This PR refactors iCalendar parsing and timezone normalization, simplifies recurrence expansion and example control flow, updates tooling versions and lint rules, and strengthens related regression assertions.

Changes

iCalendar recurrence maintenance

Layer / File(s) Summary
Parser normalization and timezone lookup
lib/ical-parser-utils.js, package.json
Parsing guards, internal names, RRULE UNTIL formatting, date-only detection, and VTIMEZONE lookup are refactored. Dependency versions, lint rules, and install-script permissions are updated.
Recurrence expansion and example flow
lib/expand-recurring-event.js, examples/example.js
Non-recurring range checks and event filtering use early exits. The recurrence function uses an inline default export.
Regression assertion updates
test/*.test.js
Assertions for RRULEs, timezones, recurrence expansion, callbacks, components, polyfills, and error propagation are made more explicit.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 8a668

This updates recurrence and tooling dependencies, refines iCalendar parsing and timezone handling, and preserves recurrence behavior through targeted regression assertions. No concrete merge-blocking risk is established.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 2 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
Linked Issues check ❓ Inconclusive The pull request updates rrule-temporal and states that it fixes issue #542. However, the exact resolved dependency version and lockfile state cannot be verified because package-lock.json was excluded… Provide the resolved rrule-temporal version and confirm that the updated dependency prevents the YEARLY RRULE cross-product out-of-memory reproduction described in issue #542. Include package-lock.json evidence if it is required for depende…
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the dependency updates and linting changes. These are the main changes described in the pull request.
Out of Scope Changes check ✅ Passed The code, test, documentation, dependency, and linting changes support the stated dependency update, lint alignment, and issue #542 objectives. No unrelated code changes are evident.
Full details: Linked Issues check

Explanation

The pull request updates rrule-temporal and states that it fixes issue #542. However, the exact resolved dependency version and lockfile state cannot be verified because package-lock.json was excluded by the path filter.

Resolution

Provide the resolved rrule-temporal version and confirm that the updated dependency prevents the YEARLY RRULE cross-product out-of-memory reproduction described in issue #542. Include package-lock.json evidence if it is required for dependency resolution.

Full details: Docstring Coverage

Explanation

Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 2 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@KristjanESPERANTO

Copy link
Copy Markdown
Contributor Author

I added a few more JSDoc comments to document the most important parser helpers, following CodeRabbit's feedback.

Reaching the suggested 80% coverage would require documenting many internal helpers, tests, and build scripts, which feels out of scope for this PR.

@KristjanESPERANTO

Copy link
Copy Markdown
Contributor Author

@jens-maus Did you noticed this PR? :)

@jens-maus

Copy link
Copy Markdown
Owner

Sorry @KristjanESPERANTO. I am currently on vacation. So properly reviewing it will take some time. Hope that is fine for you.

@KristjanESPERANTO

Copy link
Copy Markdown
Contributor Author

No problem at all! Enjoy your vacation 😃

@KristjanESPERANTO

Copy link
Copy Markdown
Contributor Author

@coderabbitai resume

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown
✅ Action performed

Reviews resumed.

@KristjanESPERANTO

Copy link
Copy Markdown
Contributor Author

@jens-maus Are you still on vacation? 😎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[security] expandRecurringEvent() OOMs on a sub-1-KiB valid YEARLY RRULE with dense BY-part lists and COUNT=1

2 participants