npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

calendarmap-cli

v1.0.0

Published

CLI tool to convert CSV events to ICS calendar format with smart field mapping and validation

Readme

CalendarMap CLI

npm version

Command-line tool to convert CSV events to ICS calendar format with smart field mapping and validation.

Installation

npm install -g calendarmap-cli

Quick Start

# 1. Generate a mapping from your CSV headers
calendarmap guess --schema calendar-ics < events.csv > mapping.json

# 2. Convert CSV to ICS using the mapping
calendarmap map --schema calendar-ics --mapping mapping.json < events.csv > calendar.ics

Commands

guess - Generate Field Mapping

Auto-detects your CSV columns and creates a mapping file:

calendarmap guess --schema calendar-ics --input events.csv --output mapping.json

Or using pipes:

calendarmap guess --schema calendar-ics < events.csv > mapping.json

map - Convert CSV to ICS

Converts CSV data using a mapping file:

calendarmap map --schema calendar-ics --mapping mapping.json --input events.csv --output calendar.ics

Or using pipes:

calendarmap map --schema calendar-ics --mapping mapping.json < events.csv > calendar.ics

validate - Check Your Data

Validates CSV data before conversion:

calendarmap validate --schema calendar-ics --mapping mapping.json --input events.csv

CSV Format

Your CSV should have columns for:

  • Title/Summary (required)
  • Start Date/Time (required)
  • End Date/Time (optional - defaults to 1 hour)
  • Location (optional)
  • Description (optional)

Example CSV:

Event Name,Start Date,End Date,Location,Notes
Team Meeting,2024-01-15 10:00,2024-01-15 11:00,Conference Room A,Weekly sync
Project Demo,2024-01-20 14:00,2024-01-20 15:30,Main Hall,Show progress

Why Use the CLI?

  • No file size limits - Process millions of events
  • Privacy first - All processing happens locally
  • Automation ready - Perfect for scripts and workflows
  • Batch processing - Handle multiple files
  • RFC 5545 compliant - Works with all calendar apps

Examples

Conference Schedule

# Convert conference sessions
calendarmap guess --schema calendar-ics < conference.csv > conf-mapping.json
calendarmap map --schema calendar-ics --mapping conf-mapping.json < conference.csv > conference2024.ics

Team Calendar

# Process with validation
calendarmap validate --schema calendar-ics --mapping team-mapping.json < team-events.csv
calendarmap map --schema calendar-ics --mapping team-mapping.json < team-events.csv > team.ics

Automation Script

#!/bin/bash
for file in *.csv; do
    name=$(basename "$file" .csv)
    calendarmap guess --schema calendar-ics < "$file" > "$name-mapping.json"
    calendarmap map --schema calendar-ics --mapping "$name-mapping.json" < "$file" > "$name.ics"
done

Web Version

For a user-friendly interface, try the web version at calendarmap.app - perfect for one-off conversions and files under 2,000 events.

Support

License

MIT - see LICENSE file.