@lacspace/id
Unique IDs done right — UUID v4, time-sortable UUID v7, Nano-ID-style and short URL-safe codes. Cryptographically random (Web Crypto), zero-dependency, isomorphic.
npm i @lacspace/idUsage
import { uuidv4, uuidv7, nanoid, shortId, id } from "@lacspace/id";
uuidv4(); // "f47ac10b-58cc-4372-a567-0e02b2c3d479"
uuidv7(); // "0192e7a1-3c2f-7abc-8def-1234567890ab" ← sorts by time
nanoid(); // "V1StGXR8_Z5jdHi6B-myT"
shortId(); // "Ab3xK9_p"
id("user"); // "user_9f8c1a3e7b2d4f6a"Exports 8
idisUuidnanoidshortIduuidVersionuuidv4uuidv7uuidv7TimeKeywords
More in App & Utils Kit
A tiny in-memory cache — LRU eviction, per-entry TTL and stale-while-revalidate, plus wrap()/memoize() to cache any async function with in-flight de-duplication. Zero-dependency, isomorphic.
@lacspace/caseConvert strings between cases — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case. Handles acronyms & numbers. Zero-dependency, isomorphic.
@lacspace/colorParse, convert, manipulate and check colours — hex/rgb/hsl, lighten/darken/mix/alpha, and WCAG contrast for accessible palettes. Zero-dependency, isomorphic.
@lacspace/envTyped, validated environment variables — declare a schema, validate process.env at boot, get a typed frozen object or a clear fail-fast error. A zero-dependency t3-env / envalid alternative.
@lacspace/flagsFeature flags & A/B experiments with no SaaS and no infrastructure — deterministic bucketing (same user always gets the same result), targeting rules, percentage rollouts and weighted variants. Synchronous, zero-dependency, isomorphic.
@lacspace/formEnd-to-end form handling for the server — turn FormData into typed, validated data with a honeypot + timing spam guard, and get back your data or per-field errors ready to re-render. Shaped for Next.js Server Actions. Zero-dependency, isomorphic.