Compare
Fewer, smaller, auditable dependencies
Every @lacspace package ships zero runtime dependencies, runs isomorphically, and outputs dual ESM + CJS with types. Search the table, switch your package manager, and copy the install.
0runtime deps
63packages
ESM+CJSdual output
100%TypeScript
Isonode · edge · browser
Freelicence
16 of 16
| Reach for | Instead of | Category | Why | Install |
|---|---|---|---|---|
| @lacspace/validate | zod | Validation | Same parse / safeParse ergonomics, zero dependencies. | npm i @lacspace/validate |
| @lacspace/money | dinero.js · currency.js | Money | Integer minor units — no floating-point cent bugs. | npm i @lacspace/money |
| @lacspace/jwt | jsonwebtoken | Auth tokens | Strict expiry / issuer / audience by default, over Web Crypto. | npm i @lacspace/jwt |
| @lacspace/crypto | crypto-js | Cryptography | Real AES-256-GCM via SubtleCrypto, not a JS reimplementation. | npm i @lacspace/crypto |
| @lacspace/mailer | nodemailer | Email (SMTP) | Tiny SMTP client over raw net/tls, no dependency tree. | npm i @lacspace/mailer |
| @lacspace/store | zustand | React state | ~1KB, selector-based, no provider — built on useSyncExternalStore. | npm i @lacspace/store |
| @lacspace/query | swr · react-query | Data fetching | Shared cache + dedupe + SWR in a fraction of the size. | npm i @lacspace/query |
| @lacspace/xlsx | exceljs | Spreadsheets | Write real .xlsx with zero deps and no headless browser. | npm i @lacspace/xlsx |
| @lacspace/pdf | pdfkit · puppeteer | Generate invoices & receipts without a headless browser. | npm i @lacspace/pdf | |
| @lacspace/markdown | marked · markdown-it | Markdown | Safe MD → HTML with GFM, no plugin sprawl. | npm i @lacspace/markdown |
| @lacspace/id | uuid · nanoid | IDs | UUID v4/v7, nano-id-style and short codes in one package. | npm i @lacspace/id |
| @lacspace/cache | lru-cache | Caching | LRU + TTL + stale-while-revalidate + memoize wrapper. | npm i @lacspace/cache |
| @lacspace/humanize | pretty-bytes · ms · numeral | Formatting | Bytes, durations, relative time and ordinals in one. | npm i @lacspace/humanize |
| @lacspace/seo | next-seo | SEO | Typed metadata AND schema.org JSON-LD from one config. | npm i @lacspace/seo |
| @lacspace/rate-limit | express-rate-limit | Rate limiting | Framework-agnostic, fixed / sliding window & token bucket. | npm i @lacspace/rate-limit |
| @lacspace/retry | p-retry | Resilience | Backoff + jitter, per-call timeouts and a circuit breaker. | npm i @lacspace/retry |
Honest framing: these aren't drop-in clones of the libraries they replace — they're smaller, focused takes with zero dependencies. Reach for them when the extra surface area (and supply chain) of the bigger library isn't worth it. When you need the full feature set of a mature library, use it.