Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/naverpaydev2025/hidash2
improved lodash
https://github.com/naverpaydev2025/hidash2
Last synced: 5 days ago
JSON representation
improved lodash
- Host: GitHub
- URL: https://github.com/naverpaydev2025/hidash2
- Owner: NaverPayDev2025
- License: mit
- Created: 2024-10-31T07:59:39.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-17T05:25:24.000Z (8 days ago)
- Last Synced: 2025-01-19T12:13:25.748Z (5 days ago)
- Language: TypeScript
- Homepage: https://naverpaydev.github.io/hidash/
- Size: 702 KB
- Stars: 34
- Watchers: 3
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# @naverpay/hidash
[![CI](https://github.com/NaverPayDev/hidash/actions/workflows/ci.yaml/badge.svg)](https://github.com/NaverPayDev/hidash/actions/workflows/matrix.yaml)
A modern, performance-focused alternative to Lodash.
## Features
- ๐ **Dual Package Support (CJS, ESM)**: Built for modern JavaScript, optimized for tree-shaking
- โก๏ธ **High Performance**: Consistently faster than Lodash in benchmarks (verified with Vitest)
- ๐ **Drop-in Replacement**: 100% compatible with Lodash's interface and behavior
- ๐ฏ **Type Safety**: Written in TypeScript with complete type definitions
- ๐ฆ **Subpath Imports**: Granular imports for minimal bundle size
- ๐งช **Test Coverage**: Every function has test cases that match Lodash's behavior exactly
- 0๏ธโฃ **Zero Dependencies**: No external runtime dependencies, keeping your bundle lean
- โ **Proven Reliability**: Used in production at NAVER Pay## Installation
```bash
npm install @naverpay/hidash
# or
yarn add @naverpay/hidash
# or
pnpm add @naverpay/hidash
```## Usage
Import functions individually using subpath imports:
```typescript
import has from '@naverpay/hidash/has'
import isEmpty from '@naverpay/hidash/isEmpty'
import isObject from '@naverpay/hidash/isObject'// Same interface as Lodash
has(object, 'user.name') // true
isEmpty([]) // true
isObject({}) // true
```โ Package does not support namespace imports:
```typescript
// This will not work
import {has, isEmpty} from '@naverpay/hidash'
```## Why hidash?
- **Modern**: Built specifically for subpath imports for optimal tree-shaking
- **Performance**: Optimized implementations that outperform Lodash in most scenarios
- **Compatibility**: Designed as a drop-in replacement with identical interfaces and behavior
- **Tested**: Comprehensive test suite ensuring Lodash compatibility and performance benchmarks## Test Coverage
- [Test Coverage](https://naverpaydev.github.io/hidash/#/)
## Benchmark
- [Link](./BENCHMARK.md)
## Contributing
Contributions are welcome!
### Feature Requests
Want additional Lodash methods to be implemented? Please create an issue with:
- The method name
- Use case description
- Current workaround (if any)We prioritize implementing new methods based on community needs.
### Pull Requests
Feel free to submit PRs for:
- Bug fixes
- Performance improvements
- New utility methods
- Documentation improvementsPlease read our contributing guidelines before submitting PRs.
## License
MIT License - see the [LICENSE.md](LICENSE.md) file for details.
---
Made with โค๏ธ by NAVER Financial frontend team.