@hyperfrontend/versioning/registry/modelsmodels
Registry data models: registries themselves, package metadata, version metadata, and maintainer records.
Registry and RegistryConfig describe a configured registry endpoint (URL, scope, auth headers) used by the registry clients. PackageInfo (built via createPackageInfo) carries package-level metadata: name, dist-tags, versions list. VersionInfo (built via createVersionInfo) carries per-version metadata: version string, dependency declarations, dist (tarball + integrity), and Maintainer[]. The factories produce normalized objects regardless of the registry's exact payload shape so downstream code can rely on a single model.
API Reference
ƒ Functions
§function
createPackageInfo(options: { description: string; homepage: string; keywords: unknown; lastModified: string; latestVersion: string; license: string; maintainers: unknown; name: string; repository: string; versions: unknown }): PackageInfo
Creates a new PackageInfo object.
Parameters
| Name | Type | Description |
|---|---|---|
§options | { description: string; homepage: string; keywords: unknown; lastModified: string; latestVersion: string; license: string; maintainers: unknown; name: string; repository: string; versions: unknown } | Configuration for the package info |
Returns
PackageInfoA new PackageInfo object
Example
Creating package info from registry data
const info = createPackageInfo({
name: '@scope/my-package',
latestVersion: '2.0.0',
versions: ['1.0.0', '1.1.0', '2.0.0'],
license: 'MIT'
})§function
createVersionInfo(options: { dependencies: Record<string, string>; devDependencies: Record<string, string>; engines: Record<string, string>; gitHead: string; integrity: string; nodeVersion: string; npmVersion: string; optionalDependencies: Record<string, string>; peerDependencies: Record<string, string>; publishedAt: string; tarball: string; version: string }): VersionInfo
Creates a new VersionInfo object.
Parameters
| Name | Type | Description |
|---|---|---|
§options | { dependencies: Record<string, string>; devDependencies: Record<string, string>; engines: Record<string, string>; gitHead: string; integrity: string; nodeVersion: string; npmVersion: string; optionalDependencies: Record<string, string>; peerDependencies: Record<string, string>; publishedAt: string; tarball: string; version: string } | Configuration for the release info |
Returns
VersionInfoA new VersionInfo object
Example
Creating version info from registry data
const release = createVersionInfo({
version: '1.2.3',
publishedAt: '2024-01-15T10:30:00Z',
tarball: 'https://registry.npmjs.org/pkg/-/pkg-1.2.3.tgz'
})◈ Interfaces
Maintainer information.
Package information from a registry.
Properties
Abstract interface for package registries.
Registry configuration options.
Version-specific information from a registry.
Properties
§
readonly gitHead?:string— Git commit hash at publish time. Used to determine commit range for changelog generation.
NOTE: This value comes from npm registry, making it immutable and independent of local git state.
NOTE: This value comes from npm registry, making it immutable and independent of local git state.