30 lines
610 B
TypeScript
30 lines
610 B
TypeScript
export interface VersionInfo {
|
|
version: string
|
|
major: number
|
|
minor: number
|
|
patch: number
|
|
prerelease?: string
|
|
build?: string
|
|
}
|
|
|
|
export interface Library {
|
|
name: string
|
|
type: string
|
|
location: string
|
|
version: VersionInfo
|
|
details?: Record<string, unknown>
|
|
}
|
|
|
|
export type VersionChangeType = 'major' | 'minor' | 'patch' | 'prerelease' | 'build'
|
|
export interface ResolveResult {
|
|
current: Library
|
|
recommended: Library
|
|
change_type: VersionChangeType
|
|
}
|
|
|
|
export interface Resolver<T> {
|
|
resolve: () => Promise<ResolveResult[]>
|
|
}
|
|
|
|
export type ResolverFactory<T> = (options: T) => Resolver<T>
|