Skip to content

Latest commit

 

History

History
1464 lines (836 loc) · 37.6 KB

File metadata and controls

1464 lines (836 loc) · 37.6 KB

semantic-release-changelog-update

semantic-release-changelog-update

Index

Type aliases

Variables

Functions

Object literals

Type aliases

ArgAllowEmpty

Ƭ ArgAllowEmpty: object

Defined in src/lib/git.ts:19

Type declaration:

  • allowEmpty: boolean

ArgBranch

Ƭ ArgBranch: object

Defined in src/lib/git.ts:12

Type declaration:

  • branch: string

ArgCommit

Ƭ ArgCommit: object

Defined in src/lib/git.ts:15

Type declaration:

  • commit: string

ArgForce

Ƭ ArgForce: object

Defined in src/lib/git.ts:17

Type declaration:

  • force: boolean

ArgFrom

Ƭ ArgFrom: object

Defined in src/lib/git.ts:11

Type declaration:

  • from: string

ArgMsg

Ƭ ArgMsg: object

Defined in src/lib/git.ts:18

Type declaration:

  • message: string

ArgOnto

Ƭ ArgOnto: object

Defined in src/lib/git.ts:14

Type declaration:

  • onto: string

ArgParse

Ƭ ArgParse: object

Defined in src/lib/git.ts:20

Type declaration:

  • parse: boolean

ArgRemote

Ƭ ArgRemote: object

Defined in src/lib/git.ts:13

Type declaration:

  • remote: string

ArgStrict

Ƭ ArgStrict: object

Defined in src/lib/git.ts:16

Type declaration:

  • strict: boolean

ArgTo

Ƭ ArgTo: object

Defined in src/lib/git.ts:10

Type declaration:

  • to: string

Branch

Ƭ Branch: object

Defined in src/types/index.ts:13

Type declaration:

  • main? : undefined | false | true

  • name: string

  • prerelease? : undefined | false | true


BranchArg

Ƭ BranchArg: string | Branch

Defined in src/types/index.ts:11


BranchExistsOptions

Ƭ BranchExistsOptions: ArgBranch & ArgRemote

Defined in src/lib/git.ts:39


ChangelogConfig

Ƭ ChangelogConfig: object

Defined in src/types/plugins.ts:24

Options passed to @semantic-release/git

See @semantic-release/git

Generate from v5.0.1

Type declaration:

  • changelogFile: string

  • changelogTitle: string


ChangelogUpdateOptions

Ƭ ChangelogUpdateOptions: object

Defined in src/index.ts:7

Type declaration:

  • environment? : SRConfig

  • options? : Options

  • pluginOptions? : PluginConfig


ChangelogVersionOptions

Ƭ ChangelogVersionOptions: OptionsWithContent | OptionsWithPath

Defined in src/lib/changelog-version.ts:15


CheckoutOptions

Ƭ CheckoutOptions: ArgTo & Partial‹ArgFrom› & Partial‹ArgStrict› & object

Defined in src/lib/git.ts:22


CherryPickOptions

Ƭ CherryPickOptions: ArgCommit & Partial‹ArgAllowEmpty

Defined in src/lib/git.ts:25


Commit

Ƭ Commit: object

Defined in src/lib/git.ts:5

Type declaration:

  • hash: string

  • message: string


CommitAnalyzerConfig

Ƭ CommitAnalyzerConfig: object

Defined in src/types/plugins.ts:130

Options passed to @semantic-release/commit-analyzer

See @semantic-release/commit-analyzer

Generated from v8.0.1

Type declaration:

  • config: string

  • parserOpts: any

  • preset: string

  • presetConfig: any

  • writerOpts: any


CommitOptions

Ƭ CommitOptions: ArgMsg & Partial‹ArgAllowEmpty

Defined in src/lib/git.ts:26


Config

Ƭ Config: Partial‹GlobalConfig› & Partial‹ChangelogConfig› & Partial‹GenerateReleaseNotesConfig› & Partial‹GitConfig› & Partial‹CommitAnalyzerConfig› & Partial‹object›

Defined in src/types/index.ts:30


Context

Ƭ Context: SRConfig & object

Defined in src/types/index.ts:15


CopyLastCommitOptions

Ƭ CopyLastCommitOptions: Partial‹ArgTo› & ArgFrom

Defined in src/lib/git.ts:42


GenerateReleaseNotesConfig

Ƭ GenerateReleaseNotesConfig: object

Defined in src/types/plugins.ts:46

Options passed to @semantic-release/generate-release-notes

See @semantic-release/generate-release-notes

Generated from v9.0.1

Type declaration:

  • commit: string

  • config: string

  • host: string

  • issue: string

  • linkCompare: boolean

  • linkReferences: boolean

  • parserOpts: any

  • preset: string

  • presetConfig: any

  • writerOpts: any


GitConfig

Ƭ GitConfig: object

Defined in src/types/plugins.ts:8

Options passed to @semantic-release/git

See @semantic-release/git

Generated from v9.0.0

Type declaration:

  • message: string

LastCommitHashOptions

Ƭ LastCommitHashOptions: Partial‹ArgBranch

Defined in src/lib/git.ts:40


LastCommitMsgOptions

Ƭ LastCommitMsgOptions: Partial‹ArgBranch

Defined in src/lib/git.ts:41


ListBranchOptions

Ƭ ListBranchOptions: Partial‹ArgParse

Defined in src/lib/git.ts:49


LogOptions

Ƭ LogOptions: Partial‹ArgBranch› & object

Defined in src/lib/git.ts:27


Meta

Ƭ Meta: object

Defined in src/types/index.ts:44

Type declaration:

  • baseBranch? : undefined | string

  • branch? : Branch

  • branches? : Branch[]

  • changelogFile? : undefined | string

  • defaultBranches? : BranchArg[]

  • dummyBranch? : undefined | string

  • headBranch? : undefined | string

  • initHead? : undefined | string

  • verified? : undefined | false | true


OptionsWithContent

Ƭ OptionsWithContent: object

Defined in src/lib/changelog-version.ts:9

Type declaration:

  • content: string

  • path? : undefined

  • pattern? : string | RegExp


OptionsWithPath

Ƭ OptionsWithPath: object

Defined in src/lib/changelog-version.ts:3

Type declaration:

  • content? : undefined

  • path: string

  • pattern? : string | RegExp


PrepareChangelogFn

Ƭ PrepareChangelogFn: function

Defined in src/types/index.ts:24

Type declaration:

▸ (content: string | null, config: Config, context: Context): string

Parameters:

Name Type
content string | null
config Config
context Context

PullOptions

Ƭ PullOptions: ArgTo & Partial‹ArgFrom› & Partial‹ArgRemote

Defined in src/lib/git.ts:36


PushOptions

Ƭ PushOptions: Partial‹ArgTo› & Partial‹ArgFrom› & Partial‹ArgRemote› & Partial‹ArgForce› & object

Defined in src/lib/git.ts:32


RebaseOptions

Ƭ RebaseOptions: ArgOnto

Defined in src/lib/git.ts:37


RemoveBranchOptions

Ƭ RemoveBranchOptions: ArgBranch & Partial‹ArgRemote› & Partial‹ArgStrict› & object

Defined in src/lib/git.ts:43


ResetOptions

Ƭ ResetOptions: ArgTo & object

Defined in src/lib/git.ts:38


StashPushOptions

Ƭ StashPushOptions: Partial‹ArgMsg› & object

Defined in src/lib/git.ts:50

Variables

Const fsp

fsp: promises = fs.promises

Defined in src/lib/safe-read-file.ts:5

Defined in src/lib/verify.ts:13


Const mainDebug

mainDebug: log = getDebugLogger()

Defined in src/lib/debug.ts:15


Const meta

meta: object

Defined in src/plugin.ts:9

Type declaration:


Const plugin

plugin: string = require.resolve('./plugin')

Defined in src/index.ts:5

Functions

analyzeCommits

analyzeCommits(pluginConfig: Config, context: Context, meta: Meta): Promise‹null | string›

Defined in src/steps/analyze-commits.ts:13

Wrapper around @semantic-release/commit-analyzer so we can remove the temporary branches if no releaseType is determined (because then the pipeline ends with the analyze commits step)

Parameters:

Name Type Default
pluginConfig Config -
context Context -
meta Meta {}

Returns: Promise‹null | string›


branchExists

branchExists(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹boolean›

Defined in src/lib/git.ts:236

Parameters:

__namedParameters: object

Name Type
branchName string
remote string

Optional execaOptions: ExecaOptions

Returns: Promise‹boolean›


changelogUpdate

changelogUpdate(__namedParameters: object): Promise‹false | object›

Defined in src/index.ts:13

Parameters:

Default value __namedParameters: object= {}

Name Type
environment Config
options Options
pluginOptions object & object & object & object & object & object

Returns: Promise‹false | object›


changelogVersion

changelogVersion(__namedParameters: object): Promise‹null | string›

Defined in src/lib/changelog-version.ts:17

Parameters:

__namedParameters: object

Name Type Default
content undefined | string -
path undefined | string -
pattern string | RegExp‹› /^#{1,2}\s*(?:[)?(.+?)(?:]

Returns: Promise‹null | string›


checkout

checkout(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹void›

Defined in src/lib/git.ts:59

Parameters:

__namedParameters: object

Name Type Default
create boolean false
existOk boolean false
from undefined | string -
strict boolean true
to string -

Optional execaOptions: ExecaOptions

Returns: Promise‹void›


cherryPick

cherryPick(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:96

Parameters:

__namedParameters: object

Name Type Default
allowEmpty boolean false
commitObj string -

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


cherrypickLastCommit

cherrypickLastCommit(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹void›

Defined in src/lib/git.ts:365

Parameters:

__namedParameters: object

Name Type
from string
to undefined | string

Optional execaOptions: ExecaOptions

Returns: Promise‹void›


clean

clean(meta: Meta): object

Defined in src/lib/meta.ts:25

Parameters:

Name Type
meta Meta

Returns: object

  • baseBranch? : undefined | string

  • branch? : Branch

  • branches? : Branch[]

  • changelogFile? : undefined | string

  • defaultBranches? : BranchArg[]

  • dummyBranch? : undefined | string

  • headBranch? : undefined | string

  • initHead? : undefined | string

  • verified? : undefined | false | true


cleanup

cleanup(pluginConfig: Config, context: Context, meta: Meta): Promise‹void›

Defined in src/lib/cleanup.ts:6

Parameters:

Name Type Default
pluginConfig Config -
context Context -
meta Meta {}

Returns: Promise‹void›


commit

commit(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:108

Parameters:

__namedParameters: object

Name Type Default
allowEmpty boolean true
message string -

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


currentBranch

currentBranch<T>(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹T extends true ? string : undefined | string›

Defined in src/lib/git.ts:306

Type parameters:

T: boolean

Parameters:

Default value __namedParameters: object= {}

Name Type Default
strict T true as T

Optional execaOptions: ExecaOptions

Returns: Promise‹T extends true ? string : undefined | string›


currentHead

currentHead(options: object, execaOptions?: ExecaOptions): Promise‹string›

Defined in src/lib/git.ts:298

Parameters:

Name Type Default
options object {}
execaOptions? ExecaOptions -

Returns: Promise‹string›


generateNotes

generateNotes(pluginConfig: Config, context: Context, meta: Meta): Promise‹undefined | string›

Defined in src/steps/generate-notes.ts:13

Parameters:

Name Type
pluginConfig Config
context Context
meta Meta

Returns: Promise‹undefined | string›


getAnalyzeCommits

getAnalyzeCommits(meta: Meta): analyzeCommitsWrapper

Defined in src/steps/analyze-commits.ts:28

Parameters:

Name Type Default
meta Meta {}

Returns: analyzeCommitsWrapper


getDebugLogger

getDebugLogger(): log

Defined in src/lib/debug.ts:4

Returns: log


getGenerateNotes

getGenerateNotes(meta: Meta): generateNotesWrapper

Defined in src/steps/generate-notes.ts:98

Parameters:

Name Type Default
meta Meta {}

Returns: generateNotesWrapper


getVerifyConditions

getVerifyConditions(meta: Meta): verifyWrapper

Defined in src/steps/verify-conditions.ts:17

Parameters:

Name Type Default
meta Meta {}

Returns: verifyWrapper


gitCommand

gitCommand(commandArgs: string[], execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:54

Parameters:

Name Type
commandArgs string[]
execaOptions? ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


init

init<T>(options: T): object & T

Defined in src/lib/meta.ts:5

Type parameters:

T: object

Parameters:

Name Type Default
options T {} as T

Returns: object & T


isOnBranchHead

isOnBranchHead(options: object, execaOptions?: ExecaOptions): Promise‹boolean›

Defined in src/lib/git.ts:358

Parameters:

Name Type Default
options object {}
execaOptions? ExecaOptions -

Returns: Promise‹boolean›


lastCommit

lastCommit(options: LastCommitMsgOptions & LastCommitHashOptions): Promise‹object›

Defined in src/lib/git.ts:348

Parameters:

Name Type Default
options LastCommitMsgOptions & LastCommitHashOptions {}

Returns: Promise‹object›


lastCommitHash

lastCommitHash(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹string›

Defined in src/lib/git.ts:327

Parameters:

Default value __namedParameters: object= {}

Name Type Default
branchName string "HEAD"

Optional execaOptions: ExecaOptions

Returns: Promise‹string›


lastCommitMessage

lastCommitMessage(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹string›

Defined in src/lib/git.ts:338

Parameters:

Default value __namedParameters: object= {}

Name Type
branchName undefined | string

Optional execaOptions: ExecaOptions

Returns: Promise‹string›


listBranches

listBranches(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹string | string[]›

Defined in src/lib/git.ts:277

Parameters:

Default value __namedParameters: object= {}

Name Type Default
parse boolean false

Optional execaOptions: ExecaOptions

Returns: Promise‹string | string[]›


log

log(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹string›

Defined in src/lib/git.ts:120

Parameters:

__namedParameters: object

Name Type Default
branchName undefined | string -
count undefined | number -
format undefined | string -
oneline boolean false

Optional execaOptions: ExecaOptions

Returns: Promise‹string›


prepare

prepare<T>(meta: Meta, options?: T): object

Defined in src/lib/meta.ts:33

Type parameters:

T: object

Parameters:

Name Type
meta Meta
options? T

Returns: object

  • baseBranch? : undefined | string

  • branch? : Branch

  • branches? : Branch[]

  • changelogFile? : undefined | string

  • defaultBranches? : BranchArg[]

  • dummyBranch? : undefined | string

  • headBranch? : undefined | string

  • initHead? : undefined | string

  • verified? : undefined | false | true


prepareBranch

prepareBranch(pluginConfig: Config, context: Context, meta: Meta): Promise‹void›

Defined in src/lib/prepare-branch.ts:8

Prepare creates and checks out to dummyBranch. and adds data to meta

Parameters:

Name Type Default
pluginConfig Config -
context Context -
meta Meta {}

Returns: Promise‹void›


pull

pull(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:172

Parameters:

__namedParameters: object

Name Type Default
from undefined | string -
remote string "origin"
to string -

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


push

push(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:141

Parameters:

Default value __namedParameters: object= {}

Name Type Default
deleteCmd undefined | string -
force boolean false
from undefined | string -
remote string "origin"
setUpstream boolean false
to undefined | string -

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


rebase

rebase(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:180

Parameters:

__namedParameters: object

Name Type
onto string

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


removeBranch

removeBranch(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹void›

Defined in src/lib/git.ts:251

Parameters:

__namedParameters: object

Name Type Default
branchName string -
fromLocal boolean true
fromRemote boolean false
remote string "origin"
strict boolean true

Optional execaOptions: ExecaOptions

Returns: Promise‹void›


reset

reset(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:187

Parameters:

__namedParameters: object

Name Type Default
hard boolean false
to string -

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


safeReadFile

safeReadFile(path: string): Promise‹string | null›

Defined in src/lib/safe-read-file.ts:7

Parameters:

Name Type
path string

Returns: Promise‹string | null›


stashPop

stashPop(options: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:226

Parameters:

Name Type Default
options object {}
execaOptions? ExecaOptions -

Returns: Promise‹ExecaReturnValue‹string››


stashPush

stashPush(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹ExecaReturnValue‹string››

Defined in src/lib/git.ts:212

Parameters:

Default value __namedParameters: object= {}

Name Type Default
includeUntracked boolean true
message undefined | string -

Optional execaOptions: ExecaOptions

Returns: Promise‹ExecaReturnValue‹string››


status

status<T>(__namedParameters: object, execaOptions?: ExecaOptions): Promise‹never[] | T extends true ? string[] : string›

Defined in src/lib/git.ts:199

Type parameters:

T: boolean

Parameters:

Default value __namedParameters: object= {}

Name Type Default
parse T false as T

Optional execaOptions: ExecaOptions

Returns: Promise‹never[] | T extends true ? string[] : string›


verifyConditions

verifyConditions(pluginConfig: Config, context: Context, meta: Meta): Promise‹void›

Defined in src/lib/verify.ts:27

We want to run this script only in CI when triggered by a pull request to one of the release branches (release branches defined in a semantic-release config that's used on releases).

Since any branch could be making a PR to a release branch, the branches option for PR semantic-release config permits all branches.

But we don't want to trigger the CHANGELOG update when we are making a PR to another non-release branch. So we need to verify here instead that the target branch is one of release branches.

Parameters:

Name Type Default
pluginConfig Config -
context Context -
meta Meta {}

Returns: Promise‹void›

Object literals

Const branch

branch: object

Defined in src/lib/git.ts:292

exists

exists: branchExists = branchExists

Defined in src/lib/git.ts:293

list

list: listBranches = listBranches

Defined in src/lib/git.ts:295

remove

remove: removeBranch = removeBranch

Defined in src/lib/git.ts:294


Const stash

stash: object

Defined in src/lib/git.ts:231

pop

pop: stashPop = stashPop

Defined in src/lib/git.ts:233

push

push: stashPush = stashPush

Defined in src/lib/git.ts:232