Aggressively find a packages changelog (or releases) between versions.
|
Status: Beta Please report any issues 🐛 Made possible by my Sponsor Program 💖 Follow me @harlan_zw 🐦 |
- 🌳 Opportunistic API, multiple providers: filesystem, NPM, Github
- 🦭 Provide a diff of CHANGELOG's between versions, if found
- 🐱 Otherwise, fetch release notes straight from Github
- 📦 Minimal network requests with caching enabled
import { createChangelogd } from 'changelogd'
const changelogd = await createChangelogd({
// options
})
const res = await changelogd.fetchChangelog('nuxt-windicss', '2.3.0', '2.4.0')export interface Config {
force?: boolean
ttl?: number
storage?: Storage
cacheDir?: number
}export interface ChangelogdCtx {
config: Config
resolveLocalChangelog: (id: string, opts?: ResolveOptions) => Promise<string>
resolvePackageJSON: (id: string) => Promise<PackageJson>
resolveChangelogFile: (name: string, version: string, options?: GithubFetchOptions) => Promise<Changelog>
fetchChangelogFileDiff: (name: string, currentVersion: string, targetVersion: string, options?: GithubFetchOptions) => Promise<FetchChangelogDiffResult>
fetchGithubReleases: (name: string, currentVersion: string, targetVersion: string, options?: GithubFetchOptions) => Promise<GithubReleasesResult>
fetchChangelog: (name: string, currentVersion: string, targetVersion: string, options?: GithubFetchOptions) => Promise<
{ provider: 'github-releases'; changelog: GithubReleasesResult } |
{ provider: 'changelog-diff'; changelog: FetchChangelogDiffResult }
>
}npx changelogd@latest <package> --from=<version> --to=<version>Arguments:
package: Package name to use. Should be the same as the package.json's name (NPM).from: The release tag to read from.to: The release tag to read to. Default:latest
Fetching CHANGELOG.md from Github
npx changelogd@latest ohmyfetch --from 0.4.0 --to 0.4.19Fetching CHANGELOG.md from NPM
npx changelogd@latest consola --from 2.13.0 --to 2.15.0Fetching Github Releases
npx changelogd@latest nuxt-windicss --from 2.3.0 --to 2.4.0MIT License © 2022 Harlan Wilton