@onivoro
Omnivorous TypeScript
The Vibe
We believe that TypeScript is the universal language of modern software development. Our mission is to consume everything in TypeScript — bridging gaps between platforms, services, and data formats to facilitate accelerated software development.
By providing high-quality, open-source npm packages, we empower developers to integrate any technology, API, or data source into their TypeScript and TypeScript projects with minimal friction.
Core Principles
Universal Consumption
Every API, every data format, every service — accessible through clean, intuitive TypeScript interfaces.
TypeScript First
Full type safety and excellent developer experience with comprehensive TypeScript definitions.
Zero Friction
Simple APIs that just work. Install, import, and start building — no complex configuration required.
Open Source
All packages are open source and community-driven, fostering collaboration and transparency.
Isomorphic TypeScript IS Advanced Architecture
TypeScript's unique position as a language that runs everywhere — browsers, servers, edge functions, mobile apps, and CLIs — makes it the only language capable of maximally achieving advanced software architecture patterns.
Onion Architecture
Onion Architecture organizes code in concentric layers where dependencies flow inward. The innermost layer contains your domain entities and business logic — completely isolated from external concerns. Outer layers handle infrastructure, APIs, and UI.
Hexagonal Architecture
Also known as "Ports and Adapters," Hexagonal Architecture isolates your core business logic from external systems through well-defined ports (interfaces) and adapters (implementations). Your domain never knows if it's talking to a REST API, GraphQL, CLI, or test mock.
Why Only TypeScript Can Maximally Achieve These Patterns
🌐 True Isomorphism
Share your domain layer literally — the same code runs in Node.js, Deno, Bun, browsers, React Native, and Electron. No "port" to another language, no serialization boundaries, no type mismatches.
🔒 Compile-Time Guarantees
TypeScript's structural type system enforces architectural boundaries at compile time. Ports are interfaces, adapters implement them — violations are caught before runtime.
📦 Single Dependency Graph
bun/npm/yarn/pnpm provide a unified package ecosystem. Your domain package is consumed identically by your API server, web app, mobile app, and CLI — with full IntelliSense.
🎭 Multiparadigm Programming
TypeScript embraces both functional and object-oriented paradigms seamlessly. Arrow functions, higher-order functions, and immutable patterns coexist with classes, decorators, and inheritance — all with exceptional signal-to-noise ratio in syntax.
🔄 Seamless Refactoring
Rename a domain method and watch it propagate across your entire stack — server, client, mobile, CLI — with full IDE support. No grep-and-pray across language boundaries.
⚡ Developer Velocity
One language, one mental model, one set of patterns. Full-stack developers move fluidly between layers without context-switching costs. Junior devs ramp up on the entire stack simultaneously.
Other languages claim "full-stack" capabilities, but only TypeScript delivers zero-friction code sharing across the entire application spectrum. Java/Kotlin require separate codebases for web. Python can't run in browsers. Go lacks frontend support. Rust compiles to WASM but with significant ceremony. TypeScript is the only language where your domain layer is truly portable.