Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Ical Bundle

Ical Bundle Laravel Package

frednandrin/ical-bundle

frednandrin/ical-bundle is a Symfony bundle for generating iCalendar (.ics) files and calendar feeds. It helps expose application events as downloadable or subscribable calendars, simplifying integration with calendar clients such as Google Calendar, Outlook, and Apple Calendar.

View on GitHub
Deep Wiki
Context7

frednandrin/ical-bundle is a Symfony bundle for working with iCalendar (.ics) data, giving your application a convenient way to read and generate calendar events without dealing with the raw RFC 5545 format yourself. It integrates cleanly into the Symfony service container, so calendar handling can be injected wherever your controllers or services need it.

  • Read and parse existing .ics files into usable event objects
  • Build and export calendars/events for download or sharing
  • Symfony service container integration for easy wiring
  • Simple API for common calendar fields such as dates, titles and summaries
  • Lightweight, dependency-friendly addition to existing Symfony projects
Frequently asked questions about Ical Bundle
Is frednandrin/ical-bundle a Laravel package?
No. It is a Symfony bundle that ships a Bundle subclass, a DI extension, and services.yaml wiring rather than a Laravel ServiceProvider and facade. Laravel has no bundle kernel, so none of the package's intended integration surface applies to a Laravel application. Treat it as a Symfony-only dependency and look at Laravel-native iCal packages instead.
How do I install and use frednandrin/ical-bundle in a Laravel application?
Composer installation would pull symfony/framework-bundle into your Laravel app, a heavy and architecturally foreign dependency tree that buys nothing at runtime. It is only feasible as a proof of concept where you bypass the bundle plumbing and instantiate the underlying generator classes directly. Even then you are relying on an unversioned internal API rather than a supported integration, so wrap every call behind your own interface before evaluating further.
Can this bundle read or parse existing .ics files?
Not today. The description's phrase 'creating and eventually reading' means the write path exists while the read/parse path is aspirational. If calendar sync, two-way booking feeds, or importing external calendars are on your roadmap within twelve months, this package is disqualified right now. For any parsing requirement use sabre/vobject, the de facto PHP reference implementation.
What are the best Laravel alternatives for generating iCal and ICS files?
For generation only, spatie/icalendar-generator is Laravel-native, maintained, and actively used, while eluceo/ical is a solid framework-agnostic option. For generation plus parsing or round-trip work, sabre/vobject is the battle-tested choice behind SabreDAV. Frame this as a build-versus-buy decision against the iCalendar domain, not against this particular bundle.
Does this bundle handle RFC 5545 line folding, escaping, and timezone and DST correctness?
That is unverifiable from the package metadata, and a small single-author bundle is unlikely to cover the full conformance list. The relevant details are folding lines at 75 octets, CRLF terminators, escaping commas, semicolons and newlines, stable UIDs across regenerations, DTSTAMP, VTIMEZONE emission, and DST-correct DTSTART values. The failure mode is silent: the file looks fine until Google Calendar or Outlook rejects it or displays shifted times, so verify each item against real consumers before committing.
Is frednandrin/ical-bundle actively maintained and safe to use in production?
The signals are weak: zero stars, zero dependents, one release dated 2023-03-23, and a bus factor of one, with no evidence of downstream production use. There is no semver guarantee, no changelog discipline, and no issue triage, so expect an unsupported API surface. For pure string generation the security risk is low, but adopting the read path would put untrusted input through a hand-rolled parser.
Can I use it for recurring events with RRULE or meeting invitations with METHOD:REQUEST?
Probably not reliably. The long tail of the iCalendar spec, including RRULE, EXDATE, VALARM, and attendee and ORGANIZER semantics, is exactly where small implementations fail. If you need recurring series, timezone-aware rules, or invitations, each requirement meaningfully raises the bar and points you toward sabre/vobject or a maintained generator.
How do I test that generated .ics files import correctly into Google Calendar and Outlook?
Test against the strictest consumers you must support, since Google, Outlook and Exchange, and Apple Calendar each tolerate different amounts of malformed input. Import the generated file into each real client and confirm that times, timezones, and event titles render as expected. Round-tripping your output through a mature parser such as sabre/vobject is a fast way to catch folding and escaping errors before users do.
Can I instantiate the generator classes directly without Symfony's dependency injection container?
This cannot be determined from the metadata and would need a source read. You must confirm the generator has no constructor-injected services and no configuration dependency before assuming container-free use is possible. If the classes resist direct instantiation, that is a strong signal to stop and pick a framework-agnostic library instead.
What is the safest way to adopt this bundle if I only need a proof of concept?
Install it on a throwaway branch and wrap every call behind a single application-level interface, for example CalendarWriter::write(EventCollection): string. Never let the package's types leak into your domain or controller code, so that interface stays the migration seam. Swapping to spatie/icalendar-generator or sabre/vobject then becomes a one-class change rather than a refactor.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console