Use RegExp instead of string as the pattern in calls to replace

This commit is contained in:
Juan José González-Abril
2021-03-15 22:22:31 +01:00
parent 5ded7cddd1
commit 9410d84efb
+26 -20
View File
@@ -143,29 +143,29 @@ export function buildChangelog(
// fill template // fill template
let transformedChangelog = config.template || DefaultConfiguration.template let transformedChangelog = config.template || DefaultConfiguration.template
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{CHANGELOG}}', /\${{CHANGELOG}}/g,
changelog changelog
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{UNCATEGORIZED}}', /\${{UNCATEGORIZED}}/g,
changelogUncategorized changelogUncategorized
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{IGNORED}}', /\${{IGNORED}}/g,
changelogIgnored changelogIgnored
) )
// fill other placeholders // fill other placeholders
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{CATEGORIZED_COUNT}}', /\${{CATEGORIZED_COUNT}}/g,
categorizedPrs.length.toString() categorizedPrs.length.toString()
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{UNCATEGORIZED_COUNT}}', /\${{UNCATEGORIZED_COUNT}}/g,
uncategorizedPrs.length.toString() uncategorizedPrs.length.toString()
) )
transformedChangelog = transformedChangelog.replace( transformedChangelog = transformedChangelog.replace(
'${{IGNORED_COUNT}}', /\${{IGNORED_COUNT}}/g,
ignoredPrs.length.toString() ignoredPrs.length.toString()
) )
transformedChangelog = fillAdditionalPlaceholders( transformedChangelog = fillAdditionalPlaceholders(
@@ -182,10 +182,10 @@ export function fillAdditionalPlaceholders(
options: ReleaseNotesOptions options: ReleaseNotesOptions
): string { ): string {
let transformed = text let transformed = text
transformed = transformed.replace('${{OWNER}}', options.owner) transformed = transformed.replace(/\${{OWNER}}/g, options.owner)
transformed = transformed.replace('${{REPO}}', options.repo) transformed = transformed.replace(/\${{REPO}}/g, options.repo)
transformed = transformed.replace('${{FROM_TAG}}', options.fromTag) transformed = transformed.replace(/\${{FROM_TAG}}/g, options.fromTag)
transformed = transformed.replace('${{TO_TAG}}', options.toTag) transformed = transformed.replace(/\${{TO_TAG}}/g, options.toTag)
return transformed return transformed
} }
@@ -195,20 +195,26 @@ function haveCommonElements(arr1: string[], arr2: string[]): Boolean {
function fillTemplate(pr: PullRequestInfo, template: string): string { function fillTemplate(pr: PullRequestInfo, template: string): string {
let transformed = template let transformed = template
transformed = transformed.replace('${{NUMBER}}', pr.number.toString()) transformed = transformed.replace(/\${{NUMBER}}/g, pr.number.toString())
transformed = transformed.replace('${{TITLE}}', pr.title) transformed = transformed.replace(/\${{TITLE}}/g, pr.title)
transformed = transformed.replace('${{URL}}', pr.htmlURL) transformed = transformed.replace(/\${{URL}}/g, pr.htmlURL)
transformed = transformed.replace('${{MERGED_AT}}', pr.mergedAt.toISOString())
transformed = transformed.replace('${{AUTHOR}}', pr.author)
transformed = transformed.replace('${{LABELS}}', pr.labels?.join(', ') || '')
transformed = transformed.replace('${{MILESTONE}}', pr.milestone || '')
transformed = transformed.replace('${{BODY}}', pr.body)
transformed = transformed.replace( transformed = transformed.replace(
'${{ASSIGNEES}}', /\${{MERGED_AT}}/g,
pr.mergedAt.toISOString()
)
transformed = transformed.replace(/\${{AUTHOR}}/g, pr.author)
transformed = transformed.replace(
/\${{LABELS}}/g,
pr.labels?.join(', ') || ''
)
transformed = transformed.replace(/\${{MILESTONE}}/g, pr.milestone || '')
transformed = transformed.replace(/\${{BODY}}/g, pr.body)
transformed = transformed.replace(
/\${{ASSIGNEES}}/g,
pr.assignees?.join(', ') || '' pr.assignees?.join(', ') || ''
) )
transformed = transformed.replace( transformed = transformed.replace(
'${{REVIEWERS}}', /\${{REVIEWERS}}/g,
pr.requestedReviewers?.join(', ') || '' pr.requestedReviewers?.join(', ') || ''
) )
return transformed return transformed