npm.io
2.10.7 • Published 4 weeks ago

@nlabs/utils

Licence
Version
2.10.7
Deps
6
Size
920 kB
Vulns
0
Weekly
0

@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

Objects

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
Arrays

Array manipulation and utility functions.

Strings

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
Checks

Type-safe validation functions.

Formatters

Input formatting and validation utilities.

Parsers

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

Keywords