
Research
/Security News
Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.
calendaryjs-plugin-ics
Advanced tools
ICS (RFC 5545) export for calendaryjs — serialize generated calendar occurrences to a standard .ics VCALENDAR (VEVENT, VALARM reminders, PRIORITY, CATEGORIES, COLOR/IMAGE). The edge integration: calendaryjs owns the core, ICS rides at the boundary.
New to calendaryjs? Start with the core README — this plugin serializes its output.
Turn generated calendar occurrences into a standard .ics VCALENDAR that Apple
Calendar, Google Calendar, Outlook and anything else can subscribe to. An edge
integration — calendaryjs owns the calendar core; this only serializes its plain
output, with zero runtime dependency.
npm i calendaryjs calendaryjs-plugin-ics
Generate occurrences with calendaryjs, then pass them to toICS():
import { calendary } from "calendaryjs";
import { every, date } from "calendaryjs/builder";
import { toICS } from "calendaryjs-plugin-ics";
const cal = calendary();
cal.addGroup({
id: "holidays",
events: [every("year").on(date(12, 25)).title("Christmas")],
});
const events = cal.getEventsInRange("2026-01-01", "2026-12-31");
const ics = toICS(events, { calendarName: "Holidays" });
// → a VCALENDAR string: write to a .ics file or serve it from an endpoint
One VEVENT per occurrence (events come pre-expanded, so no RRULE) — lunar / hijri /
formula dates and per-occurrence exceptions & overrideDates all export correctly.
Reminders → VALARM, priority → PRIORITY, plus DESCRIPTION / LOCATION / URL /
CATEGORIES / COLOR.
toICS(events, options?) → string; // a full VCALENDAR document
| Option | Notes |
|---|---|
prodId | PRODID |
calendarName | X-WR-CALNAME — the calendar's display name |
method | METHOD, e.g. "PUBLISH" |
dtstamp | fixed Date → byte-stable, diff-friendly output |
priorityMap | override priority → ICS PRIORITY (return 0 to omit) |
Also exported: eventToVEvent(event, options?) — a single VEVENT block (no wrapper).
MIT. This plugin requires the calendaryjs core, which is licensed
PolyForm Noncommercial — so commercial use of the combined work requires a
commercial license for the core. See Commercial licensing.
FAQs
ICS (RFC 5545) export for calendaryjs — serialize generated calendar occurrences to a standard .ics VCALENDAR (VEVENT, VALARM reminders, PRIORITY, CATEGORIES, COLOR/IMAGE). The edge integration: calendaryjs owns the core, ICS rides at the boundary.
We found that calendaryjs-plugin-ics demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.

Security News
/Research
Mini Shai-Hulud expands into the Go ecosystem after hitting LeoPlatform npm packages and targeting GitHub Actions workflows.