{"id":45609976,"url":"https://github.com/telperiontech/telperion","last_synced_at":"2026-04-01T21:48:34.038Z","repository":{"id":257803891,"uuid":"860134030","full_name":"telperiontech/telperion","owner":"telperiontech","description":"Single repository containing open-source packages.","archived":false,"fork":false,"pushed_at":"2026-02-25T17:47:43.000Z","size":2518,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-25T20:50:09.002Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/telperiontech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-19T22:10:32.000Z","updated_at":"2026-02-25T17:47:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"a4aa2aa6-ebd8-4755-8842-357fd5c0d93e","html_url":"https://github.com/telperiontech/telperion","commit_stats":null,"previous_names":["thalesrc/thalesrc","telperiontech/telperion"],"tags_count":223,"template":false,"template_full_name":null,"purl":"pkg:github/telperiontech/telperion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telperiontech%2Ftelperion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telperiontech%2Ftelperion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telperiontech%2Ftelperion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telperiontech%2Ftelperion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/telperiontech","download_url":"https://codeload.github.com/telperiontech/telperion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telperiontech%2Ftelperion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29969243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T11:43:06.159Z","status":"ssl_error","status_checked_at":"2026-03-01T11:43:03.887Z","response_time":124,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-23T17:44:02.148Z","updated_at":"2026-04-01T21:48:34.029Z","avatar_url":"https://github.com/telperiontech.png","language":"TypeScript","readme":"# Telperion Technology Open Source Libraries\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub](https://img.shields.io/github/stars/thalesrc/thalesrc?style=social)](https://github.com/thalesrc/thalesrc)\n[![Twitter Follow](https://img.shields.io/twitter/follow/thalesrc?style=social)](https://twitter.com/thalesrc)\n\n**A collection of high-quality, framework-independent utilities and tools for modern web development.**\n\n[Website](https://telperion.tr) • [Documentation](https://open-source.telperion.tr) • [npm](https://www.npmjs.com/org/telperion) • [GitHub](https://github.com/telperiontech)\n\n\u003c/div\u003e\n\n---\n\n## 📦 Overview\n\nThalesrc 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.\n\n## 🎯 Key Features\n\n- 🚀 **High Performance**: Optimized for speed and efficiency\n- 📘 **TypeScript First**: Full TypeScript support with comprehensive type definitions\n- 🌲 **Tree-shakeable**: Import only what you need\n- 🔧 **Zero Dependencies**: Most packages have no external dependencies\n- 🧪 **Well Tested**: High test coverage across all packages\n- 📚 **Extensively Documented**: Comprehensive documentation and examples\n- 🎨 **Framework Agnostic**: Works with any framework or vanilla JavaScript\n\n## 📚 Libraries\n\n### JavaScript \u0026 TypeScript Utilities\n\n#### [@thalesrc/js-utils](https://www.npmjs.com/package/@thalesrc/js-utils)\n[![npm](https://img.shields.io/npm/v/@thalesrc/js-utils.svg)](https://www.npmjs.com/package/@thalesrc/js-utils)\n[![npm](https://img.shields.io/npm/dw/@thalesrc/js-utils.svg)](https://www.npmjs.com/package/@thalesrc/js-utils)\n\nThe 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.\n\n**Highlights**: Array utilities, Promise helpers, Object manipulation, String operations, Function utilities\n\n#### [@telperion/extra-ts-types](https://www.npmjs.com/package/@telperion/extra-ts-types)\n[![npm](https://img.shields.io/npm/v/@telperion/extra-ts-types.svg)](https://www.npmjs.com/package/@telperion/extra-ts-types)\n\nAdvanced TypeScript utility types for sophisticated type manipulations. Includes types like `PartialSome`, `DeepestValue`, `Join`, `Tail`, and more for working with complex type scenarios.\n\n**Highlights**: Deep object navigation, Tuple manipulation, Constructor types, Partial utilities\n\n#### [@thalesrc/ts-utils](libs/ts-utils)\n\nTypeScript-specific utility types and helper functions built on top of the TypeScript compiler API.\n\n**Highlights**: TypeScript utilities, Compiler helpers\n\n---\n\n### Web \u0026 DOM Utilities\n\n#### [@thalesrc/dom-utils](libs/dom-utils)\n\nUtility functions for DOM manipulation and browser APIs. Simplifies common DOM operations with a modern, type-safe API.\n\n**Highlights**: DOM manipulation, Browser API helpers, Event handling\n\n#### [@thalesrc/elements](https://www.npmjs.com/package/@thalesrc/elements)\n[![npm](https://img.shields.io/npm/v/@thalesrc/elements.svg)](https://www.npmjs.com/package/@thalesrc/elements)\n[![npm](https://img.shields.io/npm/dm/@thalesrc/elements.svg)](https://www.npmjs.com/package/@thalesrc/elements)\n\nCollection of custom web components built with Lit. Features a complete client-side routing solution with declarative components for SPAs and a framework-independent drag-and-drop system with extended events, smart drop zones, drag handles, and multiple dragging strategies.\n\n**Sub-modules:**\n- **router**: Client-side routing with router, route definitions, outlets, navigation links, and global configuration with support for multiple history strategies and reactive updates\n- **drag-drop**: Drag-and-drop web components with extended drag-drop events, smart drop zones, drag handles, and multiple dragging strategies\n\n**Highlights**: Router components, Client-side routing, URLPattern matching, Signal-based reactivity, Drag \u0026 drop, Web Components, Drop zone validation, Cross-framework compatibility\n\n#### [@thalesrc/paintlet](https://www.npmjs.com/package/@thalesrc/paintlet)\n\nPre-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.\n\n**Highlights**: CSS Houdini, Paint worklets, Visual effects, Animated gradients\n\n#### [@telperion/reactive-storage](https://www.npmjs.com/package/@telperion/reactive-storage)\n[![npm](https://img.shields.io/npm/v/@telperion/reactive-storage.svg)](https://www.npmjs.com/package/@telperion/reactive-storage)\n\nRxJS-based reactive wrapper for browser storage APIs (localStorage and sessionStorage). Provides an Observable-based API for real-time storage updates with support for nested property access, automatic synchronization, and FIFO-queued write operations. Serves as the foundation for Angular Signal-based and React hooks-based storage utilities.\n\n**Highlights**: Reactive storage, Observable patterns, Nested property access, Type-safe, FIFO operations, Framework foundation\n\n#### [@telperion/rx-utils](libs/rx-utils)\n[![npm](https://img.shields.io/npm/v/@telperion/rx-utils.svg)](https://www.npmjs.com/package/@telperion/rx-utils)\n[![npm](https://img.shields.io/npm/dm/@telperion/rx-utils.svg)](https://www.npmjs.com/package/@telperion/rx-utils)\n\nUtility functions and operators for RxJS Observables. Features async iterable conversion, share operators, and Observable extensions.\n\n**Highlights**: RxJS operators, AsyncIterable support, Observable utilities, Debounce buffering, Stream helpers\n\n---\n\n### Framework-Specific Utilities\n\n#### [@telperion/ng-pack](libs/ng-pack)\n[![npm](https://img.shields.io/npm/v/@telperion/ng-pack.svg)](https://www.npmjs.com/package/@telperion/ng-pack)\n[![npm](https://img.shields.io/npm/dm/@telperion/ng-pack.svg)](https://www.npmjs.com/package/@telperion/ng-pack)\n\nCollection of Angular utilities and libraries organized as secondary entry points. Includes signal-based storage management, template-driven form utilities, and common Angular helpers.\n\n**Sub-modules:**\n- **common**: Pipes for extracting keys, values, and entries from Maps, Sets, and plain objects\n- **storage-signals**: Signal-based localStorage/sessionStorage/cookies with reactive updates, nested property access, and configurable cookie options\n- **sse-client**: HttpClient-inspired SSE client with Observable-based streaming, interceptor chain, and reactive real-time updates\n- **template-signal-forms**: Signal-based forms for template-driven forms _(under construction)_\n- **utils**: Angular utilities including event modifiers, directive-as-service provider, and Promise-based HTTP client with tuple error handling\n\n**Highlights**: Angular signals, Reactive storage, Cookie storage, SSE client, Interceptors, Real-time streaming, Nested property access, Template forms, Event modifiers, HTTP utilities, Type-safe\n\n#### [@thalesrc/react-utils](libs/react-utils)\n\nReact-specific utility hooks and components for modern React development. Simplifies common React patterns and state management.\n\n**Highlights**: Custom hooks, React utilities, State management helpers\n\n---\n\n### Messaging \u0026 Communication\n\n#### [@telperion/messenger](https://www.npmjs.com/package/@telperion/messenger)\n[![npm](https://img.shields.io/npm/v/@telperion/messenger.svg)](https://www.npmjs.com/package/@telperion/messenger)\n[![npm](https://img.shields.io/npm/dw/@telperion/messenger.svg)](https://www.npmjs.com/package/@telperion/messenger)\n[![codecov](https://codecov.io/gh/telperiontech/telperion/graph/badge.svg?token=dz46LY3onk\u0026flag=messenger)](https://app.codecov.io/gh/telperiontech/telperion/tree/main?flags%5B0%5D=messenger)\n\nCross-context messaging library for seamless communication across iframes, Chrome extensions, web workers, broadcast channels, and WebRTC data channels. Built with RxJS for reactive message handling with decorators for clean, declarative APIs.\n\n**Sub-modules:**\n- **iframe**: Parent-child window messaging with `IframeMessageClient`, `IframeMessageHost`, and `IframeMessageService`\n- **chrome**: Chrome extension communication across background scripts, content scripts, and popups\n- **worker**: Main thread ↔ Web Worker communication\n- **broadcast**: Tab-to-tab messaging via the Broadcast Channel API\n- **rtc**: Peer-to-peer messaging over negotiated RTCDataChannels with automatic channel ID derivation\n\n**Highlights**: Iframe messaging, Chrome extension support, Web Workers, Broadcast API, WebRTC DataChannel, RxJS-based, Decorator API\n\n---\n\n### Build \u0026 Development Tools\n\n#### [@thalesrc/nx-utils](https://www.npmjs.com/package/@thalesrc/nx-utils)\n[![npm](https://img.shields.io/npm/v/@thalesrc/nx-utils.svg)](https://www.npmjs.com/package/@thalesrc/nx-utils)\n\nPowerful 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.\n\n**Highlights**: Copy with transforms, Package.json filling, Parallel execution, TypeScript builder, File watcher, Platform runner\n\n#### [@thalesrc/node-utils](libs/node-utils)\n\nNode.js-specific utility functions for server-side development, file system operations, and CLI tools.\n\n**Highlights**: File system utilities, CLI helpers, Node.js utilities\n\n---\n\n### Infrastructure \u0026 DevOps\n\n#### [@thalesrc/auto-proxy](https://github.com/thalesrc/thalesrc/pkgs/container/auto-proxy)\n[![GitHub Container Registry](https://img.shields.io/badge/ghcr.io-auto--proxy-blue)](https://github.com/thalesrc/thalesrc/pkgs/container/auto-proxy)\n\nDocker-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.\n\n**Highlights**: Automatic SSL, gRPC support, Database proxying, Docker integration, Development-optimized\n\n#### [@thalesrc/docker-frp](https://github.com/thalesrc/thalesrc/pkgs/container/docker-frp)\n[![GitHub Container Registry](https://img.shields.io/badge/ghcr.io-docker--frp-blue)](https://github.com/thalesrc/thalesrc/pkgs/container/docker-frp)\n\nComprehensive 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.\n\n**Highlights**: FRP server/client, Web admin UI, Multi-protocol, Easy setup, Multi-platform support\n\n---\n\n## 🚀 Quick Start\n\n### Installation\n\nInstall individual packages as needed:\n\n```bash\n# JavaScript utilities\nnpm install @thalesrc/js-utils\n\n# TypeScript types\nnpm install @telperion/extra-ts-types\n\n# RxJS utilities\nnpm install @telperion/rx-utils\n\n# Nx utilities (dev dependency)\nnpm install -D @thalesrc/nx-utils\n\n# Messenger (cross-context messaging)\nnpm install @telperion/messenger\n\n# Paint API worklets\nnpm install @thalesrc/paintlet\n```\n\n### Usage Examples\n\n**JavaScript Utilities:**\n```typescript\nimport { compact, uniquify, debounce } from '@thalesrc/js-utils';\n\nconst arr = [1, 2, 2, 3, null, undefined, 4];\ncompact(arr);    // [1, 2, 2, 3, 4]\nuniquify(arr);   // [1, 2, 3, null, undefined, 4]\n\ndebounce(() =\u003e console.log('Debounced!'), 300);\n```\n\n**Drag \u0026 Drop (via @thalesrc/elements):**\n```html\n\u003cscript type=\"module\"\u003e\nimport '@thalesrc/elements/drag-drop';\n\u003c/script\u003e\n\n\u003ctha-drag name=\"item\" draggingStrategy=\"move\"\u003e\n  \u003cdiv\u003eDrag me!\u003c/div\u003e\n\u003c/tha-drag\u003e\n\n\u003ctha-dropzone accept=\"item\"\u003e\n  \u003cdiv\u003eDrop here!\u003c/div\u003e\n\u003c/tha-dropzone\u003e\n```\n\n**RxJS Utilities:**\n```typescript\nimport { interval } from 'rxjs';\nimport { toAsyncIteratable } from '@telperion/rx-utils';\n\nconst observable = interval(1000);\nfor await (const value of toAsyncIteratable(observable)) {\n  console.log(value);\n}\n```\n\n**Messenger:**\n```typescript\nimport { IframeMessageClient, Request } from '@telperion/messenger/iframe';\nimport { Observable } from 'rxjs';\n\nclass MyClient extends IframeMessageClient {\n  @Request('getData')\n  fetchData(query: string): Observable\u003cany\u003e {\n    return null!; // Implementation handled by decorator\n  }\n}\n\nconst client = new MyClient();\nclient.fetchData('user').subscribe(data =\u003e console.log(data));\n```\n\n---\n\n## 🏗️ Monorepo Structure\n\nThis project is built with [Nx](https://nx.dev), a powerful build system for monorepos.\n\n```\nthalesrc/\n├── libs/\n│   ├── js-utils/              # JavaScript utilities\n│   ├── ts-utils/              # TypeScript utilities\n│   ├── extra-ts-types/        # TypeScript types\n│   ├── dom-utils/             # DOM utilities\n│   ├── paintlet/              # CSS Paint API worklets\n│   ├── react-utils/           # React utilities\n│   ├── rx-utils/              # RxJS utilities\n│   ├── reactive-storage/      # Reactive storage\n│   ├── messenger/             # Messaging library\n│   ├── node-utils/            # Node.js utilities\n│   ├── nx-utils/              # Nx executors\n│   ├── auto-proxy/            # Auto proxy Docker image\n│   └── docker-frp/            # FRP Docker image\n├── nx.json\n├── package.json\n└── tsconfig.base.json\n```\n\n### Development Commands\n\n```bash\n# Run tests for a specific library\nnx test js-utils\n\n# Build a library\nnx build elements\n\n# Run all tests\nnx run-many -t test\n\n# Visualize the project graph\nnx graph\n```\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Commit your changes: `git commit -m 'Add amazing feature'`\n4. Push to the branch: `git push origin feature/amazing-feature`\n5. Open a Pull Request\n\n---\n\n## 📖 Documentation\n\n- [Website](https://thalesrc.com)\n- [Documentation](https://open-source.thalesrc.com)\n- [API Reference](https://open-source.thalesrc.com/api)\n- [Examples](https://github.com/thalesrc/thalesrc/tree/main/examples)\n\n---\n\n## 📄 License\n\nAll packages in this repository are licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 👨‍💻 Author\n\n**Ali Şahin Özçelik**\n\n- Website: [alisah.in](https://alisah.in)\n- Email: alisahinozcelik@gmail.com\n- GitHub: [@thalesrc](https://github.com/thalesrc)\n- Twitter: [@thalesrc](https://twitter.com/thalesrc)\n\n---\n\n## 💖 Support\n\nIf you find these libraries helpful, please consider:\n\n- ⭐ Starring the repository\n- 🐛 Reporting bugs or suggesting features via [issues](https://github.com/thalesrc/thalesrc/issues)\n- 💰 [Supporting on Patreon](https://www.patreon.com/alisahin)\n- 📢 Sharing with your network\n\n---\n\n## 🔗 Links\n\n- [GitHub Repository](https://github.com/thalesrc/thalesrc)\n- [npm Organization](https://www.npmjs.com/org/thalesrc)\n- [GitHub Packages](https://github.com/orgs/thalesrc/packages)\n- [Issues](https://github.com/thalesrc/thalesrc/issues)\n- [Discussions](https://github.com/thalesrc/thalesrc/discussions)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ by [Telperion](https://github.com/telperiontech)**\n\n\u003c/div\u003e\n","funding_links":["https://www.patreon.com/alisahin"],"categories":["Third Party Components"],"sub_categories":["Mixed Utilities"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelperiontech%2Ftelperion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelperiontech%2Ftelperion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelperiontech%2Ftelperion/lists"}