Packages

Lib Package

Shared utilities and helper functions

Structure

dayjs.ts
index.ts
package.json

Utilities

Date Handling (Day.js)

Centralized date handling with Day.js:

packages/lib/dayjs.ts
import dayjs from "dayjs"
import timezone from "dayjs/plugin/timezone"
import utc from "dayjs/plugin/utc"

dayjs.extend(utc)
dayjs.extend(timezone)

export { dayjs }

export const formatDate = (date: Date, format: string) => {
  return dayjs(date).format(format)
}

Usage

import { dayjs, formatDate } from "@shared/lib"

// Format date
const formatted = formatDate(new Date(), "YYYY-MM-DD")

// Use dayjs directly
const tomorrow = dayjs().add(1, "day")

Adding New Utilities

Create Utility File

Create a new file in packages/lib/:

packages/lib/string-utils.ts
export const capitalize = (str: string): string => {
  return str.charAt(0).toUpperCase() + str.slice(1)
}

export const truncate = (str: string, length: number): string => {
  return str.length > length ? `${str.slice(0, length)}...` : str
}

Export from index.ts

Add exports to packages/lib/index.ts:

export * from "./dayjs"
export * from "./string-utils"

Use in Applications

import { capitalize, truncate } from "@shared/lib"

const title = capitalize("hello world")
const short = truncate("Long text here", 10)

Next: Learn about Config Packages.