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

hellenic-holidays

v1.0.1

Published

A modern TypeScript package for Greek holidays and Orthodox celebrations

Readme

Hellenic Holidays

A modern, comprehensive TypeScript/JavaScript package for handling Greek holidays, celebrations, and Orthodox calendar calculations.

npm version License: MIT Test Coverage

Why Choose This Package?

  • ✅ 100% Test Coverage with comprehensive test suite
  • 🔍 Accurate Orthodox Easter calculations
  • 📚 Extensive documentation and examples
  • 💪 Modern TypeScript implementation with full type safety
  • 🎯 Zero dependencies
  • 🌍 Bilingual support (English/Greek)
  • ⚡ Efficient date handling and calculations
  • 🧪 Robust Jest testing suite

Features

  • 🗓️ Complete list of Greek public holidays
  • ⚡ Support for both fixed and movable holidays (like Orthodox Easter)
  • 🔍 Easy date querying and validation
  • 🌍 Bilingual support (Greek and English)
  • 📅 Holiday type categorization (public, religious, customary)
  • 💪 Written in TypeScript with full type support

Installation

npm install hellenic-holidays
# or
yarn add hellenic-holidays

Quick Start

import { HolidayService } from "hellenic-holidays";

const holidayService = new HolidayService();

// Check if a date is a holiday
const christmas = new Date(2024, 11, 25);
const result = holidayService.isHoliday(christmas);
console.log(result.isHoliday); // true
console.log(result.holiday?.nameEn); // "Christmas Day"
console.log(result.holiday?.nameEl); // "Χριστούγεννα"

// Get all holidays for a year
const holidays2024 = holidayService.getHolidays(2024);

// Get the next holiday from a specific date
const nextHoliday = holidayService.getNextHoliday(new Date());

API Reference

HolidayService

getHolidays(year: number): Holiday[]

Returns all holidays for the specified year.

isHoliday(date: Date): HolidayResponse

Checks if a given date is a holiday.

getHolidaysBetweenDates(startDate: Date, endDate: Date): Holiday[]

Returns all holidays between two dates.

getHolidaysByType(year: number, type: HolidayType): Holiday[]

Returns holidays of a specific type for the given year.

getNextHoliday(date: Date): Holiday | undefined

Returns the next upcoming holiday from the given date.

Types

enum HolidayType {
  PUBLIC = "public",
  CUSTOMARY = "customary",
  RELIGIOUS = "religious",
}

interface Holiday {
  date: Date;
  nameEn: string;
  nameEl: string;
  type: HolidayType;
  isMovable: boolean;
}

interface HolidayResponse {
  isHoliday: boolean;
  holiday?: Holiday;
}

Examples

Get All Holidays for a Year

import { HolidayService } from "hellenic-holidays";

const holidayService = new HolidayService();
const holidays = holidayService.getHolidays(2024);

holidays.forEach((holiday) => {
  console.log(
    `${holiday.date.toDateString()}: ${holiday.nameEn} (${holiday.nameEl})`
  );
});

Check for Holidays in a Date Range

import { HolidayService } from "hellenic-holidays";

const holidayService = new HolidayService();
const startDate = new Date(2024, 0, 1); // January 1, 2024
const endDate = new Date(2024, 1, 1); // February 1, 2024

const holidays = holidayService.getHolidaysBetweenDates(startDate, endDate);

Filter Holidays by Type

import { HolidayService, HolidayType } from "hellenic-holidays";

const holidayService = new HolidayService();

// Get only public holidays
const publicHolidays = holidayService.getHolidaysByType(
  2024,
  HolidayType.PUBLIC
);

// Get only religious holidays
const religiousHolidays = holidayService.getHolidaysByType(
  2024,
  HolidayType.RELIGIOUS
);

Comparison with Other Solutions

| Feature | Hellenic Holidays | Others | | ------------------------- | ----------------- | ------- | | TypeScript Support | ✅ Full | Partial | | Test Coverage | 100% | Varies | | Orthodox Easter Algorithm | ✅ Accurate | Varies | | Bilingual Support | ✅ Complete | Limited | | Modern Implementation | ✅ ES2020+ | Varies | | Active Maintenance | ✅ Regular | Varies | | Documentation | ✅ Comprehensive | Basic | | Type Safety | ✅ Full | Partial |

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Check out our Contributing Guidelines for more information.

Support

⭐ If you find this package useful, please consider giving it a star on GitHub!

License

This project is licensed under the MIT License - see the LICENSE file for details.