feat(changelog): add npm helper text to changelog

This commit is contained in:
Sebastian Beisch
2021-02-24 22:41:47 +01:00
committed by Felix Wiedmann
parent c7d6c7cc7b
commit 3bc68d9794
3 changed files with 147 additions and 28 deletions

View File

@@ -32,9 +32,9 @@ introduced by commit:
{{ end -}}
{{ end -}}
{{ end -}}`
const defaultCommitListSubTemplate string = `{{ define "commitList" }}` + defaultCommitList + "{{ end }}"
const defaultChangelogTitle string = `v{{.Version}} ({{.Now.Format "2006-01-02"}})`
const defaultChangelog string = `# v{{$.Version}} ({{.Now.Format "2006-01-02"}})
const defaultCommitListSubTemplate = `{{ define "commitList" }}` + defaultCommitList + "{{ end }}"
const defaultChangelogTitle = `v{{.Version}} ({{.Now.Format "2006-01-02"}})`
const defaultChangelog = `# v{{$.Version}} ({{.Now.Format "2006-01-02"}})
{{ template "commitList" .CommitsContent -}}
{{ if .HasDocker}}
@@ -50,11 +50,26 @@ or
{{$.Backtick}}docker run {{.DockerRepository}}:latest{{$.Backtick}}
{{ end -}}
{{ end -}}
{{ if .HasNPM}}
## NodeJS Package
New NodeJS package is released under [{{.NPMPackageName}}]({{.NPMRepository}})
### Usage
{{$.Backtick}}yarn add {{.NPMPackageName}}@{{.Version}}{{$.Backtick}}
or
{{$.Backtick}}npm install -save {{.NPMPackageName}}@{{.Version}}{{$.Backtick}}
{{ end -}}
`
type changelogContent struct {
Commits string
Commits string
CommitsContent commitsContent
Version string
Now time.Time
@@ -62,6 +77,10 @@ type changelogContent struct {
HasDocker bool
HasDockerLatest bool
DockerRepository string
HasNPM bool
IsYarn bool
NPMRepository string
NPMPackageName string
}
type commitsContent struct {
@@ -130,13 +149,16 @@ func (c *Changelog) GenerateChangelog(templateConfig shared.ChangelogTemplateCon
}
changelogContent := changelogContent{
CommitsContent: commitsContent,
CommitsContent: commitsContent,
Version: templateConfig.Version,
Now: c.releaseTime,
Backtick: "`",
HasDocker: c.config.Changelog.Docker.Repository != "",
HasDockerLatest: c.config.Changelog.Docker.Latest,
DockerRepository: c.config.Changelog.Docker.Repository,
HasNPM: c.config.Changelog.NPM.PackageName != "",
NPMPackageName: c.config.Changelog.NPM.PackageName,
NPMRepository: c.config.Changelog.NPM.Repository,
}
chglogTemplate := defaultCommitListSubTemplate + defaultChangelog
@@ -168,8 +190,8 @@ func (c *Changelog) GenerateChangelog(templateConfig shared.ChangelogTemplateCon
log.Tracef("Commits %s", renderedCommitList)
changelogContent.Commits = renderedCommitList
extraFuncMap := template.FuncMap {
"commitUrl": func() string {return templateConfig.CommitURL},
extraFuncMap := template.FuncMap{
"commitUrl": func() string { return templateConfig.CommitURL },
}
log.Debugf("Render changelog")
renderedContent, err := generateTemplate(chglogTemplate, changelogContent, extraFuncMap)
@@ -180,10 +202,10 @@ func (c *Changelog) GenerateChangelog(templateConfig shared.ChangelogTemplateCon
func generateTemplate(text string, values interface{}, extraFuncMap template.FuncMap) (string, error) {
funcMap := template.FuncMap{
"replace": replace,
"lower": lower,
"upper": upper,
"capitalize": capitalize,
"replace": replace,
"lower": lower,
"upper": upper,
"capitalize": capitalize,
"addPrefixToLines": addPrefixToLines,
}