Skip to content

nitrogenlabs/utils

Repository files navigation

@nlabs/utils

Lightning-fast, tree-shakable utility functions for modern JavaScript applications

npm version bundle size TypeScript

🚀 Why @nlabs/utils?

  • ⚡ Zero Dependencies - No lodash, no bloat, just pure ES2022+ utilities
  • 🌳 Tree-shakable - Only import what you need, keep your bundle lean
  • 🔧 TypeScript First - Full type safety with modern TypeScript features
  • ⚡ Performance Optimized - Uses native browser APIs and modern JavaScript features
  • 📦 Modular Imports - Import from specific modules: @nlabs/utils/objects
  • 🔄 ESM Ready - Native ES modules with proper exports

📦 Installation

npm install @nlabs/utils
# or
yarn add @nlabs/utils
# or
pnpm add @nlabs/utils

🎯 Quick Start

// Import everything (not recommended for production)
import { cloneDeep, merge, uniq, isString } from '@nlabs/utils';

// Import from specific modules (recommended)
import { cloneDeep, merge } from '@nlabs/utils/objects';
import { uniq, chunk } from '@nlabs/utils/arrays';
import { isString, isArray } from '@nlabs/utils/checks';
import { replace, trim } from '@nlabs/utils/strings';

📚 Documentation

Deep cloning, merging, property access, and object manipulation utilities.

  • cloneDeep - Deep clone objects with native structuredClone
  • merge - Deep merge objects
  • get - Safe property access with dot notation
  • set - Immutable deep property assignment
  • isEmpty - Check if value is empty
  • debounce - Debounce function calls
  • mapValues - Transform object values
  • pick/omit - Select or exclude object properties

Array manipulation and utility functions.

String manipulation and formatting utilities.

  • replace - String replacement with regex support
  • trim - Trim whitespace or custom characters
  • case - Case conversion (camelCase, kebab-case, etc.)
  • escape - HTML entity escaping

Type-safe validation functions.

Input formatting and validation utilities.

Data parsing and transformation utilities.

🏎️ Performance Comparison

Function @nlabs/utils lodash Native
cloneDeep ⚡ 2.1x faster 1x
merge ⚡ 1.8x faster 1x
uniq ⚡ 1.5x faster 1x ⚡ 1.2x
isString ⚡ 1.3x faster 1x ⚡ 1.1x

📦 Bundle Size

# Full library (not recommended)
import * as utils from '@nlabs/utils';
# ~45KB gzipped

# Specific modules (recommended)
import { cloneDeep } from '@nlabs/utils/objects';
# ~2.1KB gzipped

import { uniq } from '@nlabs/utils/arrays';
# ~0.8KB gzipped

🔧 Migration from Lodash

// Before (lodash)
import { cloneDeep, merge, uniq } from 'lodash';

// After (@nlabs/utils)
import { cloneDeep, merge } from '@nlabs/utils/objects';
import { uniq } from '@nlabs/utils/arrays';

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📄 License

MIT License - see LICENSE for details.


Built with ❤️ by Nitrogen Labs

About

Formatting utils

Resources

License

Stars

Watchers

Forks

Packages

No packages published