An open API service indexing awesome lists of open source software.

https://github.com/jahirultusar/javascript-string-utils-lite

string-utils-lite is a tiny, dependency-free JavaScript library that makes common string transformations effortless and consistent across projects.
https://github.com/jahirultusar/javascript-string-utils-lite

javascript npm-package open-source string-utils typescript

Last synced: 2 months ago
JSON representation

string-utils-lite is a tiny, dependency-free JavaScript library that makes common string transformations effortless and consistent across projects.

Awesome Lists containing this project

README

          

# string-utils-lite

[![npm version](https://img.shields.io/npm/v/string-utils-lite?color=blue)](https://www.npmjs.com/package/string-utils-lite)
[![npm downloads](https://img.shields.io/npm/dm/string-utils-lite.svg)](https://www.npmjs.com/package/string-utils-lite)
[![CI](https://img.shields.io/github/actions/workflow/status/jahirultusar/JavaScript-string-utils-lite/ci.yml?branch=main)](https://github.com/jahirultusar/JavaScript-string-utils-lite/actions/workflows/ci.yml)
[![Release](https://github.com/jahirultusar/JavaScript-string-utils-lite/actions/workflows/release.yml/badge.svg)](https://github.com/jahirultusar/JavaScript-string-utils-lite/actions/workflows/release.yml)
[![license](https://img.shields.io/github/license/jahirultusar/JavaScript-string-utils-lite)](./LICENSE)

## ๐ŸŽฎ Live Playground

Try the library instantly in your browser:
๐Ÿ‘‰ [Playground Demo](https://jahirultusar.github.io/JavaScript-string-utils-lite/index.html)

## What is `string-utils-lite`?

`string-utils-lite` is a **tiny, dependency-free JavaScript library** that makes common string transformations effortless and consistent across projects.

It provides simple helper functions for everyday string formatting needs:

- `capitalize` โ†’ Uppercases the first character, lowercases the rest
- `titleCase` โ†’ Capitalises the first character of every word
- `toKebabCase` โ†’ Converts text into `kebab-case`
- `toSnakeCase` โ†’ Converts text into `snake_case`
- `toCamelCase` โ†’ Converts text into `camelCase`
- `toPascalCase` โ†’ Converts text into `PascalCase`

---

## ๐Ÿ’ก Why use this library?

JavaScript lacks built-in utilities for string case transformations (unlike Pythonโ€™s `.title()` or `.capitalize()`).
While you could write ad-hoc functions, `string-utils-lite` saves time by offering:

- โœ… **Consistency** โ€” same results across all projects
- โœ… **Zero dependencies** โ€” lightweight, no bloat
- โœ… **Dual support** โ€” works with both **ESM** and **CommonJS**
- โœ… **Tree-shakable** โ€” import only what you need

Whether youโ€™re cleaning up user input, formatting identifiers, or ensuring consistency in APIs, this library provides a clear and minimal solution.

## ๐Ÿ“ฆ Installation

Using npm (recommended):

```bash
npm install string-utils-lite

## ๐Ÿš€ Usage

You can use string-utils-lite in multiple environments:

ES Modules:

import { capitalize, titleCase, toKebabCase } from 'string-utils-lite';

console.log(capitalize('hELLo')); // "Hello"
console.log(titleCase('hELLO woRLD')); // "Hello World"
console.log(toKebabCase('Hello World')); // "hello-world"

CommonJS:

const { capitalize, titleCase } = require('string-utils-lite');

console.log(capitalize('hELLo')); // "Hello"
console.log(titleCase('foo bar')); // "Foo Bar"

CDN (Direct Browser Use):

No installation required! Load from a CDN like esm.sh and use in the browser. For example:


import { capitalize, titleCase } from "https://esm.sh/string-utils-lite";

console.log(capitalize("hELLo")); // "Hello"
console.log(titleCase("hELLO woRLD")); // "Hello World");

## ๐Ÿ“š API Reference

| Function | Description | Example Input | Example Output |
|-------------------|--------------------------------------------------|-----------------|-----------------|
| `capitalize(str)` | Uppercases the first letter, lowercases the rest | `"hELLo"` | `"Hello"` |
| `titleCase(str)` | Capitalises the first letter of each word | `"hELLO woRLD"` | `"Hello World"` |
| `toKebabCase(str)`| Converts string to kebab-case | `"Hello World"` | `"hello-world"` |
| `toSnakeCase(str)`| Converts string to snake_case | `"Hello World"` | `"hello_world"` |
| `toCamelCase(str)`| Converts string to camelCase | `"Hello World"` | `"helloWorld"` |
| `toPascalCase(str)`| Converts string to PascalCase | `"Hello World"` | `"HelloWorld"` |

> โ„น๏ธ All functions are **pure**: they return a new string without mutating the input.

## ๐Ÿงช Running Tests

This project uses Vitest

npm test

## ๐Ÿ›  Development

Clone the repo and install dependencies:

git clone https://github.com/jahirultusar/JavaScript-string-utils-lite.git
cd string-utils-lite
npm install

Build the package:

npm run build

## ๐Ÿค Contributing

Contributions are welcome! ๐ŸŽ‰

Fork the repository

Create a feature branch (git checkout -b feature/my-feature)

Commit your changes (git commit -m 'feat: add new feature')

Push to the branch (git push origin feature/my-feature)

Open a Pull Request

Please follow Conventional Commits for commit messages.

๐Ÿ“„ License

MIT ยฉ 2025 Jahirul Tusar