{"library":"ical-expander","type":"library","category":null,"description":"ical-expander is a JavaScript/TypeScript library designed for parsing and expanding iCalendar (ICS) data. It acts as a wrapper around the `ical.js` library, simplifying the complexities of recurring events by automatically handling `EXDATE` (excluded occurrences), `RRULE` (recurrence rules), and `RECURRENCE-ID` (overridden instances). The package also incorporates timezone definitions from the IANA Time Zone Database, ensuring correct parsing even when timezone information is absent from the ICS file itself. The current stable version is 3.2.0, with a release cadence that indicates active maintenance and incremental improvements, such as recent updates to timezone data and fixes related to `ical.js` versions. A key consideration is its synchronous processing model, which can block the JavaScript event loop when dealing with large ICS files or high `maxIterations` values, requiring careful usage, particularly in performance-sensitive applications. Its primary differentiator is abstracting away the intricacies of `ical.js` for common expansion tasks.","language":"javascript","status":"active","version":"3.2.0","tags":["javascript","typescript"],"last_verified":"Wed May 27","install":[{"cmd":"npm install ical-expander","imports":["import { IcalExpander } from 'ical-expander';","const IcalExpander = require('ical-expander');","import type { IcalExpander } from 'ical-expander';"]},{"cmd":"yarn add ical-expander","imports":[]},{"cmd":"pnpm add ical-expander","imports":[]}],"homepage":null,"github":"https://github.com/mifi/ical-expander","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/ical-expander","openapi_spec":null,"status_page":null,"smithery":null,"compatibility":{"summary":{"python_range":"18–22","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"url":"https://checklist.day/v1/registry/ical-expander/compatibility"}}