@halospv3/hce.shared-config
Version:
Automate commit message quality, changelogs, and CI/CD releases. Exports a semantic-release shareable configuration deserialized from this package's '.releaserc.yml'. Shared resources for .NET projects are also distributed with this package.
146 lines (139 loc) • 5.66 kB
TypeScript
declare module '@semantic-release/github' {
/**
* @see https://github.com/semantic-release/github#configuration
*/
export interface Env extends NodeJS.ProcessEnv {
/**
* __Required__. The token used to authenticate with GitHub.
*/
GITHUB_TOKEN?: string;
/**
* {@inheritDoc GitHubEnv.GITHUB_TOKEN}
*/
GH_TOKEN?: string;
/**
* The GitHub server endpoint.
*/
GITHUB_URL?: string;
/**
* {@inheritDoc GitHubEnv.GITHUB_URL}
*/
GH_URL?: string;
/**
* The GitHub API prefix, relative to {@link Env.GITHUB_URL GITHUB_URL}.
*/
GITHUB_PREFIX?: string;
/** {@inheritDoc GitHubEnv.GITHUB_PREFIX} */
GH_PREFIX?: string;
/**
* The GitHub API endpoint. Note that this overwrites {@link Env.GITHUB_PREFIX GITHUB_PREFIX}.
*/
GITHUB_API_URL?: string;
}
/** https://github.com/isaacs/node-glob#glob-primer */
type Glob = string;
/** @see https://github.com/semantic-release/github#assets */
interface Asset {
/** __Required__. A {@link https://github.com/isaacs/node-glob#glob-primer glob} to identify the files to upload. */
path: Glob;
/**
* The name of the downloadable file on the GitHub release.
* Defaults to the file name extracted from the {@link Asset.path}.
*/
name?: string;
/** Short description of the file displayed on the GitHub release. */
label?: string;
}
/** @see https://github.com/semantic-release/github#configuration */
export interface Options {
/**
* The GitHub server endpoint.
* Defaults to the values of the {@link Env.GH_URL GH_URL} or {@link Env.GITHUB_URL GITHUB_URL} environment variables.
*/
githubUrl?: string;
/**
* The GitHub API prefix, relative to `githubUrl`.
* Defaults to the values of the {@link Env.GH_PREFIX GH_PREFIX} or {@link Env.GITHUB_PREFIX GITHUB_PREFIX} environment variables
*/
githubApiPathPrefix?: string;
/**
* The GitHub API endpoint.
* Note that this overwrites {@link Options.githubApiPathPrefix githubApiPathPrefix}.
*/
githubApiUrl?: string;
/**
* The proxy to use to access the GitHub API.
* Set to `false` to disable usage of proxy.
* See {@link https://github.com/semantic-release/github#proxy proxy}.
*/
proxy?: string | false;
/**
* An array of files to upload to the release.
* See {@link https://github.com/semantic-release/github#assets assets}.
*/
assets?: Glob | (Asset | Glob)[];
/**
* The comment to add to each issue and pull request resolved by the release.
* Set to `false` to disable commenting on issues and pull requests.
* See {@link https://github.com/semantic-release/github?tab=readme-ov-file#successcomment successComment}.
* Defaults to `:tada: This issue has been resolved in version ${nextRelease.version} :tada:\n\nThe release is available on [GitHub release](<github_release_url>)`
*/
successComment?: string | false;
/**
* The content of the issue created when a release fails.
* Set to `false` to disable opening an issue when a release fails.
* See {@link https://github.com/semantic-release/github?tab=readme-ov-file#failcomment failComment}.
* Defaults to a friendly message with links to semantic-release documentation and support, with the list of errors that caused the release to fail.
*/
failComment?: string | false;
/**
* The title of the issue created when a release fails.
* Set to `false` to disable opening an issue when a release fails.
* Defaults to `The automated release is failing 🚨`
*/
failTitle?: string | false;
/**
* The {@link https://help.github.com/articles/about-labels labels} to add to the issue created when a release fails.
* Set to `false` to not add any label.
* @default ['semantic-release']
*/
labels?: string[] | false;
/**
* The {@link https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users assignees} to add to the issue created when a release fails.
*/
assignees?: unknown;
/**
* The {@link https://help.github.com/articles/about-labels labels} to add to each issue and pull request resolved by the release.
* Set to `false` to not add any label.
* See {@link https://github.com/semantic-release/github#releasedlabels releasedLabels}.
* @default [ 'released<%= nextRelease.channel ? \` on @\${nextRelease.channel}\` : "" %>' ]
*/
releasedLabels?: string[];
/**
* Will add release links to the GitHub Release. Can be `false`, `"bottom"` or `"top"`. See {@link https://github.com/semantic-release/github#addReleases addReleases}.
* @default false
*/
addReleases?: false | 'bottom' | 'top';
/**
* A boolean indicating if a GitHub Draft Release should be created instead of publishing an actual GitHub Release.
* @default false
*/
draftRelease?: boolean;
/**
* A {@link https://lodash.com/docs#template Lodash template} to customize the github release's name
* @default '<%= nextRelease.name %>'
*/
releaseNameTemplate?: string;
/**
* A {@link https://lodash.com/docs#template Lodash template} to customize the github release's body
* @default '<%= nextRelease.notes %>'
*/
releaseBodyTemplate?: string;
/**
* The category name in which to create a linked discussion to the release.
* Set to `false` to disable creating discussion for a release.
* @default false
*/
discussionCategoryName?: string | false;
}
}