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

typikon

v1.2.0

Published

The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched. Twenty Orthodox jurisdictions and four Byzantine Catholic churches, across the Julian, Revised Julian and Gregorian reckonings.

Readme

typikon

The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched. Twenty Orthodox jurisdictions and four Byzantine Catholic churches, across the Julian, Revised Julian and Gregorian reckonings.

No network, no data files, no service to be up.

npm install typikon
import { today } from "typikon";

const day = today({ jurisdiction: "rocor" });

day.churchDate;  // "5 September"
day.fast;        // "xerophagy"
day.fastLabel;   // "xerophagy — no oil or wine"
day.emoji;       // the glyph for the level
day.title;       // "The Holy Prophet Zachariah, father of the Forerunner"
day.season;      // null in ordinary time
day.daysToPascha;

In a browser or a bundler, load the module first:

import init, { today } from "typikon";

await init();
const day = today({ jurisdiction: "rocor" });

Node needs no init, because it can read the WebAssembly itself. The exports map picks the right build; typikon/node and typikon/web force one.

What comes back

A plain object, not a handle: the same document typikon --json emits, with the same field names and the same stability promise. Nothing has to be freed and JSON.stringify works on it. TypeScript types ship with the package.

The rest of it

import { describe, describeIso, week, pascha, jurisdictions } from "typikon";

describe(new Date(2026, 3, 12), { jurisdiction: "moscow" });
describeIso("2026-04-12", { jurisdiction: "moscow" });

week(new Date(), 7, { jurisdiction: "goarch" });   // seven consecutive days
pascha(2027, "old");                               // 2027-05-02
jurisdictions();                                   // [{ key, name, note }, ...]

week reckons the year's movable cycle once rather than once a day, so it is the thing to call for a calendar grid.

Which calendar

jurisdiction takes a church key, or a bare calendar where the church does not matter: "old" (Julian throughout), "new" (Revised Julian fixed feasts with the Julian Paschalion, the default) or "western" (Gregorian throughout, Pascha included). jurisdictions() lists the rest. Two more options:

  • tradition, "slavic" or "greek", overriding the church's own usage. It moves fish in the Nativity Fast and the rank of the Protection.
  • typikon: true, to show a day at the Typikon's full discipline rather than at the minimum a church's own particular law requires. What binds is reported either way, in binds and obligation. This is for the Byzantine Catholic churches, whose law asks very much less than the tradition they keep.

Unlike the command line and the Python bindings, there is no remembered default: a browser has nowhere to keep one, so the default is the New Calendar and anything else is passed.

Accuracy

The Paschalion is exact. The fast follows the Typikon as the standard printed calendars apply it, which is the part where careful people differ; a parish calendar or a confessor overrides this, and neither is a bug report.

Licence

GPL-2.0-only. Source: https://git.pumpin.online/funkpower/typikon