TS Types Plus
A lightweight, modern collection of TypeScript types and interfaces for Node.js & browser projects (via bundlers like Webpack, Turbopack, Rollup, esbuild, and higher-level tools like Vite, tsup and tsdown).
Provides reusable types to enhance type safety and improve code maintainability.
Built with ❤️ by @rzl-zone.
📚 Table of Contents
💻 Requirements
-
Node.js ≥18.18.0
This package uses modern TypeScript features, so Node.js 18.18.0 or higher is required.
-
Minimum supported environments *(recommended)*:
-
Recommended minimum tsconfig settings for full TypeScript support:
"strict": true
"target": "es2022"
"module": "es2022"
⚠️ Note:
- If you’re using TypeScript and compiling from source, make sure your
tsconfig.json minimum supports "target": "es2022" and "module": "es2022" or higher also set "strict": true for full compatibility.
- Lower targets or strict is false, may cause type issues (like
any).
⚙️ Installation
With NPM
npm install @rzl-zone/ts-types-plus@latest
With Yarn
yarn add @rzl-zone/ts-types-plus@latest
With PNPM
pnpm add @rzl-zone/ts-types-plus@latest
✨ Features
- 📝 Written in TypeScript — fully typed & type-safe.
- ⚡ Lightweight & easy to include in projects.
- 📦 Compatible with Node.js & modern browsers (via bundlers).
- ❤️ Designed for maintainable and readable code.
- 🧩 Contains useful TypeScript types like
OmitStrict, PartialOnly, etc.
💎 Detailed Features
Full documentation TS Types Plus is
currently under construction 🏗️.
For now, explore the examples or dive into the source — all utilities are documented via TSDoc and typed properly.
import type {} from "@rzl-zone/ts-types-plus";
Place your cursor inside { } then press Ctrl+Space (Windows/Linux) or Cmd+Space (macOS), or use your editor’s autocomplete shortcut, to see all available types with full TSDoc hints.
Hint: Autocomplete Setup (Step by Step).
Improve TypeScript editor import suggestions for @rzl-zone/ts-types-plus, 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:
-
1️⃣ Install @rzl-zone/ts-types-plus.
-
2️⃣ Create a types folder.
-
Inside your project root, make a folder called types:
project-root/
├─ src/
├─ types/
│ └─ index.d.ts
├─ tsconfig.json
└─ jsconfig.json
-
3️⃣ Add the global reference file.
-
4️⃣ Update tsconfig.json.
-
Make sure add types folder to "include", so TypeScript automatically picks up your types folder:
// tsconfig.json
{
"compilerOptions": {
"strict": true,
// other your config...
},
"include": ["src", "types"]
// other your config...
}
-
5️⃣ 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": true for better IntelliSense.
-
6️⃣ 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/ts-types-plus will appear instantly in autocomplete.
🔥 Usage
Easy to use, just import on your code base.
import type { OmitStrict } from "@rzl-zone/ts-types-plus";
type OtherType = {
includeProps: string;
omittingProps: string;
};
type MyType = OmitStrict<OtherType, "omittingProps">;
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/ts-types-plus?
Star the monorepo ⭐ and share it with other JavaScript developers!
📦 Explore other packages under @rzl-zone