@ossintel/github
v0.1.3
Published
Robust, typed utilities to fetch, normalize, and sanitize raw GitHub REST and GraphQL API responses into consistent domain structures for open-source analytics.
Maintainers
Readme
@ossintel/github-normalizer
@ossintel/github-normalizer: Typed utilities for fetching and normalizing GitHub REST and GraphQL data into a consistent domain model for analytics and reporting.
@ossintel/github-normalizer
Typed utilities for fetching and normalizing GitHub data.
Purpose
GitHub's REST and GraphQL APIs expose excellent data but with inconsistent shapes and multiple endpoints.
This package provides a stable domain model consumed by the rest of OSSIntel.
Responsibilities
- Fetch GitHub data
- Normalize responses
- Hide API complexity
- Handle pagination
- Handle rate limits
- Provide strongly typed models
Non-goals
- Scoring
- AI
- Business logic
- UI
Planned API
fetchDeveloper();
fetchRepositories();
fetchRepository();
fetchOrganizations();
fetchContributors();
fetchLanguages();
fetchReleases();Output
Always returns normalized domain models.
Never expose raw GitHub responses.
Design Principles
- Pure TypeScript
- Strong typing
- Stable contracts
- Easily replaceable backend
✨ Why @ossintel/github-normalizer?
- Consistent Domain Model: Normalizes disparate GitHub REST and GraphQL responses into a single, clean TypeScript interface.
- Auto Pagination & Rate Limit Handling: Simplifies fetching multi-page repository lists and respects API rate limits transparently.
- Zero Ecosystem Pollution: Keeps business logic, scoring, and UI code out of the network fetching layer.
📦 Installation
[!TIP] This package (@ossintel/github) is an official alias of @ossintel/github-normalizer.
We provide this package to offer shorter import paths and improved discoverability. While both packages provide identical functionality, @ossintel/github-normalizer is the primary source of truth.
- Use @ossintel/github if you prefer the shorter name or specific branding or ESM Only.
- Use @ossintel/github-normalizer for the most stable long-term reference and standard alignment.
| Feature | @ossintel/github-normalizer | @ossintel/github | | --- | --- | --- | | Source Code | ✅ Primary | 🔗 Proxy | | Updates | Immediate | Synchronized (Immediately) | | Bundle Size | 100% | 100% (Zero overhead) | | Format | ESM + CJS | ESM Only | | Maintenance | ✅ Primary | 🔗 Proxy (inherits) | | Security | ✅ Primary | 🔗 Proxy (inherits) |
Security: Security audits are performed on the canonical package; this alias inherits all security patches automatically.
$ pnpm add @ossintel/github-normalizeror
$ npm install @ossintel/github-normalizeror
$ yarn add @ossintel/github-normalizerLicense
This library is licensed under the MIT open-source license.
