https://github.com/telperiontech/telperion
Single repository containing open-source packages.
https://github.com/telperiontech/telperion
Last synced: 19 days ago
JSON representation
Single repository containing open-source packages.
- Host: GitHub
- URL: https://github.com/telperiontech/telperion
- Owner: telperiontech
- License: mit
- Created: 2024-09-19T22:10:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-25T17:47:43.000Z (about 1 month ago)
- Last Synced: 2026-02-25T20:50:09.002Z (about 1 month ago)
- Language: TypeScript
- Size: 2.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- fucking-awesome-angular - telperion - A collection of high-quality, framework-independent utilities and tools for modern web development, including <b><code> 2β</code></b> <b><code> 0π΄</code></b> [ng-pack](https://github.com/telperiontech/telperion/tree/main/libs/ng-pack)). (Third Party Components / Mixed Utilities)
- awesome-angular - telperion - A collection of high-quality, framework-independent utilities and tools for modern web development, including [ng-pack](https://github.com/telperiontech/telperion/tree/main/libs/ng-pack). (Third Party Components / Mixed Utilities)
README
# Telperion Technology Open Source Libraries
[](https://opensource.org/licenses/MIT)
[](https://github.com/thalesrc/thalesrc)
[](https://twitter.com/thalesrc)
**A collection of high-quality, framework-independent utilities and tools for modern web development.**
[Website](https://thalesrc.com) β’ [Documentation](https://open-source.thalesrc.com) β’ [npm](https://www.npmjs.com/org/thalesrc) β’ [GitHub](https://github.com/thalesrc/thalesrc)
---
## π¦ Overview
Thalesrc is a comprehensive monorepo containing battle-tested libraries, utilities, and tools designed to simplify modern web development. From JavaScript utilities to Docker-based infrastructure tools, each package is crafted with performance, type safety, and developer experience in mind.
## π― Key Features
- π **High Performance**: Optimized for speed and efficiency
- π **TypeScript First**: Full TypeScript support with comprehensive type definitions
- π² **Tree-shakeable**: Import only what you need
- π§ **Zero Dependencies**: Most packages have no external dependencies
- π§ͺ **Well Tested**: High test coverage across all packages
- π **Extensively Documented**: Comprehensive documentation and examples
- π¨ **Framework Agnostic**: Works with any framework or vanilla JavaScript
## π Libraries
### JavaScript & TypeScript Utilities
#### [@thalesrc/js-utils](https://www.npmjs.com/package/@thalesrc/js-utils)
[](https://www.npmjs.com/package/@thalesrc/js-utils)
[](https://www.npmjs.com/package/@thalesrc/js-utils)
The swiss army knife of JavaScript utilities. A comprehensive collection of 50+ utility functions for arrays, objects, promises, strings, and more. Features include array manipulation, deep cloning, promise chains, debouncing, and smart type guards.
**Highlights**: Array utilities, Promise helpers, Object manipulation, String operations, Function utilities
#### [@thalesrc/extra-ts-types](https://www.npmjs.com/package/@thalesrc/extra-ts-types)
[](https://www.npmjs.com/package/@thalesrc/extra-ts-types)
Advanced TypeScript utility types for sophisticated type manipulations. Includes types like `PartialSome`, `DeepestValue`, `Join`, `Tail`, and more for working with complex type scenarios.
**Highlights**: Deep object navigation, Tuple manipulation, Constructor types, Partial utilities
#### [@thalesrc/ts-utils](libs/ts-utils)
TypeScript-specific utility types and helper functions built on top of the TypeScript compiler API.
**Highlights**: TypeScript utilities, Compiler helpers
---
### Web & DOM Utilities
#### [@thalesrc/dom-utils](libs/dom-utils)
Utility functions for DOM manipulation and browser APIs. Simplifies common DOM operations with a modern, type-safe API.
**Highlights**: DOM manipulation, Browser API helpers, Event handling
#### [@thalesrc/drag-drop](https://www.npmjs.com/package/@thalesrc/drag-drop)
[](https://www.npmjs.com/package/@thalesrc/drag-drop)
[](https://www.npmjs.com/package/@thalesrc/drag-drop)
Framework-independent drag-and-drop library built with Lit Elements as custom web components. Provides extended drag-drop events, smart drop zones, drag handles, and multiple dragging strategies.
**Highlights**: Web Components, Custom events, Drop zone validation, Drag strategies, Cross-framework compatibility
#### [@thalesrc/elements](https://www.npmjs.com/package/@thalesrc/elements)
[](https://www.npmjs.com/package/@thalesrc/elements)
[](https://www.npmjs.com/package/@thalesrc/elements)
Collection of custom web components built with Lit. Currently features a complete client-side routing solution with declarative components for SPAs. Includes router, route definitions, outlets, navigation links, and global configuration with support for multiple history strategies and reactive updates.
**Highlights**: Router components, Client-side routing, Template-based routes, URLPattern matching, Active link detection, Signal-based reactivity
#### [@thalesrc/paintlet](https://www.npmjs.com/package/@thalesrc/paintlet)
Pre-built CSS Paint API (Houdini) worklets for modern web development. Create stunning visual effects like ripples, rain animations, and organic gradients using the CSS Paint API.
**Highlights**: CSS Houdini, Paint worklets, Visual effects, Animated gradients
#### [@thalesrc/reactive-storage](libs/reactive-storage)
Reactive wrappers for browser storage APIs (localStorage, sessionStorage) with Observable patterns for real-time updates.
**Highlights**: Reactive storage, Observable patterns, Local/Session storage
#### [@thalesrc/rx-utils](https://www.npmjs.com/package/@thalesrc/rx-utils)
[](https://www.npmjs.com/package/@thalesrc/rx-utils)
Utility functions and operators for RxJS Observables. Features async iterable conversion, share operators, and Observable extensions.
**Highlights**: RxJS operators, AsyncIterable support, Observable utilities, Stream helpers
---
### Framework-Specific Utilities
#### [@telperion/ng-pack](libs/ng-pack)
Collection of Angular utilities and libraries organized as secondary entry points. Includes signal-based storage management, template-driven form utilities, and common Angular helpers.
**Sub-modules:**
- **storage-signals**: Signal-based localStorage/sessionStorage with reactive updates and nested property access
- **template-signal-forms**: Signal-based forms for template-driven forms _(under construction)_
- **utils**: Angular utilities including event modifiers, directive-as-service provider, and Promise-based HTTP client with tuple error handling
**Highlights**: Angular signals, Reactive storage, Nested property access, Template forms, Event modifiers, HTTP utilities, Type-safe
#### [@thalesrc/react-utils](libs/react-utils)
React-specific utility hooks and components for modern React development. Simplifies common React patterns and state management.
**Highlights**: Custom hooks, React utilities, State management helpers
---
### Messaging & Communication
#### [@thalesrc/hermes](https://www.npmjs.com/package/@thalesrc/hermes)
[](https://www.npmjs.com/package/@thalesrc/hermes)
[](https://www.npmjs.com/package/@thalesrc/hermes)
[](https://codecov.io/gh/thalesrc/thalesrc?flag=hermes)
Cross-context messaging library for seamless communication across iframes, Chrome extensions, web workers, and broadcast channels. Built with RxJS for reactive message handling with decorators for clean, declarative APIs.
**Highlights**: Iframe messaging, Chrome extension support, Web Workers, Broadcast API, RxJS-based, Decorator API
---
### Build & Development Tools
#### [@thalesrc/nx-utils](https://www.npmjs.com/package/@thalesrc/nx-utils)
[](https://www.npmjs.com/package/@thalesrc/nx-utils)
Powerful Nx executors for monorepo projects. Includes executors for file copying with content replacement and image resizing, package.json generation with auto-exports, parallel command execution, TypeScript building, file watching, platform-specific scripts, and batch operations.
**Highlights**: Copy with transforms, Package.json filling, Parallel execution, TypeScript builder, File watcher, Platform runner
#### [@thalesrc/node-utils](libs/node-utils)
Node.js-specific utility functions for server-side development, file system operations, and CLI tools.
**Highlights**: File system utilities, CLI helpers, Node.js utilities
---
### Infrastructure & DevOps
#### [@thalesrc/auto-proxy](https://github.com/thalesrc/thalesrc/pkgs/container/auto-proxy)
[](https://github.com/thalesrc/thalesrc/pkgs/container/auto-proxy)
Docker-aware nginx reverse proxy with automatic SSL and service discovery. Perfect for development environments with support for HTTP/HTTPS, gRPC, databases (PostgreSQL, MySQL, Redis, MongoDB), automatic SSL certificates, and Docker container discovery.
**Highlights**: Automatic SSL, gRPC support, Database proxying, Docker integration, Development-optimized
#### [@thalesrc/docker-frp](https://github.com/thalesrc/thalesrc/pkgs/container/docker-frp)
[](https://github.com/thalesrc/thalesrc/pkgs/container/docker-frp)
Comprehensive Docker container for Fast Reverse Proxy (FRP) with both server and client modes. Features web-based admin UI, multiple proxy types (TCP, UDP, HTTP, HTTPS), and easy configuration.
**Highlights**: FRP server/client, Web admin UI, Multi-protocol, Easy setup, Multi-platform support
---
## π Quick Start
### Installation
Install individual packages as needed:
```bash
# JavaScript utilities
npm install @thalesrc/js-utils
# TypeScript types
npm install @thalesrc/extra-ts-types
# Drag & drop
npm install @thalesrc/drag-drop
# RxJS utilities
npm install @thalesrc/rx-utils
# Nx utilities (dev dependency)
npm install -D @thalesrc/nx-utils
# Paint API worklets
npm install @thalesrc/paintlet
```
### Usage Examples
**JavaScript Utilities:**
```typescript
import { compact, uniquify, debounce } from '@thalesrc/js-utils';
const arr = [1, 2, 2, 3, null, undefined, 4];
compact(arr); // [1, 2, 2, 3, 4]
uniquify(arr); // [1, 2, 3, null, undefined, 4]
debounce(() => console.log('Debounced!'), 300);
```
**Drag & Drop:**
```html
Drag me!
Drop here!
```
**RxJS Utilities:**
```typescript
import { interval } from 'rxjs';
import { toAsyncIteratable } from '@thalesrc/rx-utils';
const observable = interval(1000);
for await (const value of toAsyncIteratable(observable)) {
console.log(value);
}
```
**Hermes Messaging:**
```typescript
import { IframeMessageClient, Request } from '@thalesrc/hermes/iframe';
import { Observable } from 'rxjs';
class MyClient extends IframeMessageClient {
@Request('getData')
fetchData(query: string): Observable {
return null; // Implementation handled by decorator
}
}
const client = new MyClient();
client.fetchData('user').subscribe(data => console.log(data));
```
---
## ποΈ Monorepo Structure
This project is built with [Nx](https://nx.dev), a powerful build system for monorepos.
```
thalesrc/
βββ libs/
β βββ js-utils/ # JavaScript utilities
β βββ ts-utils/ # TypeScript utilities
β βββ extra-ts-types/ # TypeScript types
β βββ dom-utils/ # DOM utilities
β βββ drag-drop/ # Drag & drop library
β βββ paintlet/ # CSS Paint API worklets
β βββ react-utils/ # React utilities
β βββ rx-utils/ # RxJS utilities
β βββ reactive-storage/ # Reactive storage
β βββ hermes/ # Messaging library
β βββ node-utils/ # Node.js utilities
β βββ nx-utils/ # Nx executors
β βββ auto-proxy/ # Auto proxy Docker image
β βββ docker-frp/ # FRP Docker image
βββ nx.json
βββ package.json
βββ tsconfig.base.json
```
### Development Commands
```bash
# Run tests for a specific library
nx test js-utils
# Build a library
nx build drag-drop
# Run all tests
nx run-many -t test
# Visualize the project graph
nx graph
```
---
## π€ Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a Pull Request
---
## π Documentation
- [Website](https://thalesrc.com)
- [Documentation](https://open-source.thalesrc.com)
- [API Reference](https://open-source.thalesrc.com/api)
- [Examples](https://github.com/thalesrc/thalesrc/tree/main/examples)
---
## π License
All packages in this repository are licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
## π¨βπ» Author
**Ali Εahin ΓzΓ§elik**
- Website: [alisah.in](https://alisah.in)
- Email: alisahinozcelik@gmail.com
- GitHub: [@thalesrc](https://github.com/thalesrc)
- Twitter: [@thalesrc](https://twitter.com/thalesrc)
---
## π Support
If you find these libraries helpful, please consider:
- β Starring the repository
- π Reporting bugs or suggesting features via [issues](https://github.com/thalesrc/thalesrc/issues)
- π° [Supporting on Patreon](https://www.patreon.com/alisahin)
- π’ Sharing with your network
---
## π Links
- [GitHub Repository](https://github.com/thalesrc/thalesrc)
- [npm Organization](https://www.npmjs.com/org/thalesrc)
- [GitHub Packages](https://github.com/orgs/thalesrc/packages)
- [Issues](https://github.com/thalesrc/thalesrc/issues)
- [Discussions](https://github.com/thalesrc/thalesrc/discussions)
---
**Made with β€οΈ by [Thalesrc](https://github.com/thalesrc)**