Utils JS
A lightweight, modern TypeScript utility library for Node.js & browser (via bundlers like Webpack, Turbopack, Rollup, esbuild, and higher-level tools like Vite, tsup and tsdown).
It provides reusable helpers to simplify everyday JavaScript and TypeScript tasks projects.
Built with by @rzl-zone.
Table of Contents
- Requirements
- Installation
- Features
- Detailed Features
- Usage
- Sponsor
- Changelog
- Contributing
- Security
- Credits
- License
Requirements
Node.js
≥18.18.0
This package leverages modern JavaScript & TypeScript features that require Node.js version 18.18.0.Works with:
TypeScript Build Info:
- Target:
ES2022. - Module:
ES2022. - Module Resolution:
bundler.
Note:
These TypeScript settings are used to build the package, consumers do not need to match these settings unless they plan to build or modify the source code.- Target:
Installation
With NPM
npm install @rzl-zone/utils-js@latestWith Yarn
yarn add @rzl-zone/utils-js@latestWith PNPM
pnpm add @rzl-zone/utils-js@latestFeatures
- Written in TypeScript — fully typed & safe.
- Small, tree-shakable & fast.
- Works in Node.js & modern browsers.
- Simple API, easy to extend.
Next.js Support
Starting from version
3.13.0, the following Next.js entry points were removed from@rzl-zone/utils-jsand migrated into the dedicated package@rzl-zone/next-kit.Migrated entry points:
@rzl-zone/utils-js/next➔@rzl-zone/next-kit/utils@rzl-zone/utils-js/next/server➔@rzl-zone/next-kit/utils/server
Detailed Features
The full UtilsJS documentation is currently under construction .
For now, explore the examples or dive into the source — all utilities are documented via TSDoc and typed properly.
import { /* … */ } from "@rzl-zone/utils-js/assertions";
import { /* … */ } from "@rzl-zone/utils-js/conversions";
import { /* … */ } from "@rzl-zone/utils-js/errors";
import { /* … */ } from "@rzl-zone/utils-js/events";
import { /* … */ } from "@rzl-zone/utils-js/formatters";
import { /* … */ } from "@rzl-zone/utils-js/generators";
import { /* … */ } from "@rzl-zone/utils-js/operations";
import { /* … */ } from "@rzl-zone/utils-js/parsers";
import { /* … */ } from "@rzl-zone/utils-js/predicates";
import { /* … */ } from "@rzl-zone/utils-js/promises";
import { /* … */ } from "@rzl-zone/utils-js/strings";
import { /* … */ } from "@rzl-zone/utils-js/tailwind";
import { /* … */ } from "@rzl-zone/utils-js/urls"; Place your cursor inside { } or right after the package path @rzl-zone/utils-js/<put-cursor-here>, then press Ctrl+Space (Windows/Linux) or Cmd+Space (macOS), or use your editor’s autocomplete shortcut, to see all available functions and types with full TSDoc hints.
CDN Usage.
Including via CDN:
<!-- jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/@rzl-zone/utils-js@latest"></script>
<!-- unpkg -->
<script src="https://unpkg.com/@rzl-zone/utils-js@latest"></script>Note:
When using the library via CDN in the browser:
- Always include first the
<script/>tag before your own scripts when using the CDN version.- Some Node.js-specific utilities may not be available, e.g.:
- Category utils of
tailwind.- Any
server-onlyfeatures will not be available.- The global object provided is
RzlUtilsJs.- The CDN bundle is ~373KB+ minified, for production, consider using bundlers or npm packages for smaller size and tree-shaking.
Hint: Autocomplete Setup (Step by Step).
Improve TypeScript editor import suggestions for @rzl-zone/utils-js, so all functions, types, and modules appear instantly when triggering autocomplete — press Ctrl+Space (Windows/Linux), ⌘+Space (macOS), or your editor’s autocomplete shortcut.
This works across modern TypeScript-supported editors (e.g., VSCode, WebStorm, Vim extensions, NeoVim LSP, Cursor) without requiring triple-slash references — the package is fully indexed automatically through your editor’s TypeScript language service, follow steps:
Install @rzl-zone/utils-js.
- Make sure the package is installed, see Installation Guide.
Create a types folder.
Inside your project root, make a folder called
types:project-root/ ├─ src/ ├─ types/ │ └─ index.d.ts ├─ tsconfig.json └─ jsconfig.json
Add the global reference file.
Create
types/index.d.tswith this content:/// <reference types="@rzl-zone/utils-js/.references" />You can add more references here if needed, for example:
/// <reference types="@rzl-zone/utils-js/.references" /> // eg more references (if needed): /// <reference types="node" /> /// <reference types="react" />
Update tsconfig.json.
Make sure add
typesfolder to"include", so TypeScript automatically picks up your types folder:// tsconfig.json { "compilerOptions": { "strict": true, // other your config... }, "include": ["src", "types"] // other your config... }
Update jsconfig.json (for JavaScript projects).
If you also work with JS, do the same:
// jsconfig.json { "compilerOptions": { "checkJs": true, // Optional, enables type checking // other your config... }, "include": ["src", "types"] // other your config... }Tip: For JS projects, consider adding
"checkJs": truefor better IntelliSense.
Restart your editor/IDE.
- This forces your TypeScript language service to re-index the package.
- After restart, all functions, types, and modules from
@rzl-zone/utils-jswill appear instantly in autocomplete.
Usage
Easy to use, just import on your code base.
Example Function Import:
import { isServer } from "@rzl-zone/utils-js/predicates";
console.log(isServer());
// ➔ `true` if running on server-side, `false` if in browser.Sponsor this package
Help support development: Become a sponsor.
Changelog
See CHANGELOG.
Contributing
See CONTRIBUTING.
Security
Please report issues to rzlzone.dev@gmail.com.
Credits
- Rzl App.
- All Contributors.
License
The MIT License (MIT).
Please see License File for more information.
Enjoy using @rzl-zone/utils-js?
Star the monorepo and share it with other JavaScript developers!
Explore other packages under @rzl-zone