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

nepali-calender-saroj

v4.4.0

Published

Nepali BS calendar conversion library for Next.js and React Native

Readme

Nepali Calender Saroj

A simple and easy-to-use JavaScript/TypeScript library for working with the Nepali (Bikram Sambat) calendar. Includes functions to convert between BS ↔ AD, format Nepali dates, and display Nepali months and weekdays. Also comes with React (Web) and React Native calendar components.


Installation

Using npm:

npm install nepali-calender-saroj

Or with yarn:

yarn add nepali-calender-saroj

Importing Functions

import {
  bsToAd,
  adToBs,
  toNepaliNumber,
  NEPALI_MONTHS,
  NEPALI_WEEKDAYS
} from "nepali-calender-saroj";

Usage

1. Convert BS → AD (Basic)

// Convert 5th Magh 2082 BS to Gregorian date
const adDate = bsToAd(2082, 10, 5);
console.log(adDate);
// Output: 2026-01-19T00:00:00.000Z

2. Convert BS → AD (Detailed)

// Get Nepali formatted details
const detailed = bsToAd(2082, 10, 5, true);
console.log(detailed);
/*
{
  bsYear: 2082,
  bsMonth: 10,
  bsDay: 5,
  nepaliYear: "२०८२",
  nepaliMonthName: "माघ",
  nepaliDay: "५",
  nepaliWeekDayName: "सोमबार",
  formattedNepaliDate: "२०८२ माघ ५, सोमबार",
  adDate: 2026-01-19T00:00:00.000Z
}
*/

detailed = true provides:

  • Nepali year in digits
  • Nepali month name
  • Nepali day in digits
  • Nepali weekday name
  • Fully formatted Nepali date string

3. Convert AD → BS

const bsDate = adToBs(new Date("2026-01-19"));
console.log(bsDate);
/*
{
  year: 2082,
  month: 10,
  day: 5
}
*/

4. Helper Functions

// Convert any number to Nepali digits
console.log(toNepaliNumber(2026)); // Output: "२०२६"

// Get Nepali month or weekday name
console.log(NEPALI_MONTHS[0]);   // Output: "बैशाख"
console.log(NEPALI_WEEKDAYS[1]); // Output: "सोमबार"

5. Full Nepali Date Formatter

const nepaliDate = bsToAd(2082, 10, 5, true);
console.log(nepaliDate.formattedNepaliDate);
// Output: "२०८२ माघ ५, सोमबार"

WebCalendar (React / Web)

import React from "react";
import { WebCalendar } from "./WebCalendar";

export default function App() {
  return (
    <WebCalendar
      showNepali={true}                     // optional: show Nepali months & weekdays
      onDatePick={(date) => console.log(date)} // optional: get selected date
    />
  );
}
  • Use arrows to navigate between months.
  • Click a date → triggers onDatePick.

RnCalendar (React Native)

import React from "react";
import { View } from "react-native";
import { RnCalendar } from "./RnCalendar";

export default function App() {
  return (
    <View style={{ padding: 20 }}>
      <RnCalendar
        showNepali={true}                     // optional: Nepali display
        onDatePick={(date) => console.log(date)} // optional: handle tap on date
      />
    </View>
  );
}
  • Tap arrows → next/previous month.
  • Tap a date → triggers onDatePick.

Props Summary

| Prop | Type | Description | | ------------ | ---------------------- | -------------------------------- | | date | Date | Initial month (default = today) | | showNepali | boolean | Display Nepali months & weekdays | | onDatePick | (date: Date) => void | Callback when a date is selected |