@types/conventional-changelog-config-spec
Version:
TypeScript definitions for conventional-changelog-config-spec
143 lines (126 loc) • 4.44 kB
TypeScript
import { JSONSchema7 } from "json-schema";
declare const ConventionalChangelogConfigSpec: JSONSchema7;
declare namespace ConventionalChangelogConfigSpec {
/**
* Describes the configuration options supported by conventional-config for
* upstream tooling.
*/
interface Config {
/**
* A string to be used as the main header section of the CHANGELOG.
*
* @default
* "# Changelog\n\n"
*/
header?: string;
/**
* An array of `type` objects representing the explicitly supported commit
* message types, and whether they should show up in generated `CHANGELOG`s.
*
* @default
* [
* { "type": "feat", "section": "Features" },
* { "type": "fix", "section": "Bug Fixes" },
* { "type": "chore", "hidden": true },
* { "type": "docs", "hidden": true },
* { "type": "style", "hidden": true },
* { "type": "refactor", "hidden": true },
* { "type": "perf", "hidden": true },
* { "type": "test", "hidden": true }
* ]
*/
types?: Config.Type[];
/**
* Boolean indicating whether or not the action being run (generating CHANGELOG,
* recommendedBump, etc.) is being performed for a pre-major release (<1.0.0).
*
* This config setting will generally be set by tooling and not a user.
*
* @default
* false
*/
preMajor?: boolean;
/**
* A URL representing a specific commit at a hash.
*
* @default
* "{{host}}/{{owner}}/{{repository}}/commit/{{hash}}"
*/
commitUrlFormat?: string;
/**
* A URL representing the comparison between two git SHAs.
*
* @default
* "{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}"
*/
compareUrlFormat?: string;
/**
* A URL representing the issue format (allowing a different URL format to be
* swapped in for Gitlab, Bitbucket, etc).
*
* @default
* "{{host}}/{{owner}}/{{repository}}/issues/{{id}}"
*/
issueUrlFormat?: string;
/**
* A URL representing the a user's profile URL on GitHub, Gitlab, etc. This URL
* is used for substituting @bcoe with https://github.com/bcoe in commit
* messages.
*
* @default
* "{{host}}/{{user}}"
*/
userUrlFormat?: string;
/**
* A string to be used to format the auto-generated release commit message.
*
* @default
* "chore(release): {{currentTag}}"
*/
releaseCommitMessageFormat?: string;
}
namespace Config {
/**
* An object that describes a commit type's settings in the CHANGELOG.
*/
type Type = Type.WithSection | Type.WithHidden;
namespace Type {
/**
* An object that describes a commit type's settings in the CHANGELOG.
*/
interface Base {
/**
* A string used to match <type>s used in the Conventional Commits convention.
*/
type: string;
/**
* The section where the matched commit type will display in the CHANGELOG.
*/
section?: string;
/**
* Set to `true` to hide matched commit types in the CHANGELOG.
*/
hidden?: boolean;
}
/**
* An object that describes a commit type's settings in the CHANGELOG.
*/
interface WithSection extends Base {
/**
* The section where the matched commit type will display in the CHANGELOG.
*/
section: string;
}
/**
* An object that describes a commit type's settings in the CHANGELOG.
*/
interface WithHidden extends Base {
/**
* Set to `true` to hide matched commit types in the CHANGELOG.
*/
hidden: boolean;
}
}
}
}
export = ConventionalChangelogConfigSpec;