Skip to content

obvialabs/utilities

Repository files navigation

Version Typescript Linting License CI

Designed to provide consistent rules and configurations across projects with minimal setup.

Welcome to Obvia Utilities — a shared toolkit of foundational helpers that streamline everyday development across the Obvia ecosystem. This package provides lightweight, reliable functions for class composition, variant handling, type‑safe utilities, and other common patterns. It’s not meant to be a grab‑bag of random helpers, but a curated set of utilities that evolve alongside the ecosystem. If you want predictable, modern building blocks for UI and logic, this package offers a solid foundation.

  • Unified helpers → Consistent utilities for class merging, variant handling, and more
  • Always modern → Continuously refined to match latest tailwind, typescript, and framework patterns
  • Minimal setup → Drop‑in functions, no need to reinvent helpers
  • Ecosystem alignment → Ensures every package and project follows the same conventions
  • Onboarding‑friendly → Simplifies developer experience for new contributors

Installation

All utilities are bundled in a single package — no need to install separate helpers for each project

pnpm add @obvia/utilities

Quickstart

Choose the utilities package that matches your project and import it

// Core → General utilities, constants, and formatters (minimal export)
import { cn } from "@obvia/utilities"

// React → Includes Core + React‑specific helpers (minimal export)
import { cn } from "@obvia/utilities/react"

// Next.js → Includes Core + React + Next‑specific helpers (minimal export)
import { cn } from "@obvia/utilities/next"

// Vue → Core + Vue‑specific helpers (minimal export)
import { cn } from "@obvia/utilities/vue"

// Nuxt → Core + Vue + Nuxt‑specific helpers (minimal export)
import { cn } from "@obvia/utilities/nuxt"

Each package provides minimal exports — only what’s needed for that environment. Framework‑specific packages (like React or Next.js) already include Core utilities internally, so you don’t need to import both.

Roadmap

The roadmap shows both the currently available utilities and the planned additions

Category Description Path Status
Core Framework‑agnostic utilities, constants, and formatters @obvia/utilities ✅ Available
React Helpers tailored for React projects, JSX‑friendly utilities (SSR + client) @obvia/utilities/react 🔜 Planned
Next Utilities optimized for Next.js applications, consistent in SSR + client @obvia/utilities/next 🔜 Planned
Vue Vue‑specific helpers, designed for both SSR and client rendering @obvia/utilities/vue 🔜 Planned
Nuxt Nuxt.js utilities, aligned for SSR + client usage @obvia/utilities/nuxt 🔜 Planned

Security

If you think there is a security vulnerability in the Utilities, you can help resolve the issue immediately by sending an e-mail to Selçuk Çukur at hello@selcukcukur.me. Please do not publicly post security vulnerabilities.

License

Utilities project is published as open source. The MIT License is used, which is one of the well-known open source coding licenses. You can get detailed information about the license terms by visiting the link below.