Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions scripts/linters/lint-changelog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,10 @@ const promoteBoldChangeTypeLabels = (lines: string[]): string[] =>

const normaliseReleaseHeaders = (lines: string[], errors: string[]): string[] =>
lines.map(line => {
const bracketed = /^## \[(?<ver>[^\]]+)\]\s*\((?<date>\d{4}-\d{2}-\d{2})\)/.exec(line)
const bracketed = /^## \[(?<ver>[^\]]+)\]\s*\((?<date>\d{4}-\d{2}-\d{2}|[A-Z][A-Z0-9-]*)\)/.exec(line)
if (bracketed?.groups) {return `## [${bracketed.groups.ver}] (${bracketed.groups.date})`}

const bracketedMissingClose = /^## \[(?<ver>[^\]]+)\]\s*\((?<date>\d{4}-\d{2}-\d{2})$/.exec(line)
const bracketedMissingClose = /^## \[(?<ver>[^\]]+)\]\s*\((?<date>\d{4}-\d{2}-\d{2}|[A-Z][A-Z0-9-]*)$/.exec(line)
if (bracketedMissingClose?.groups) {
return `## [${bracketedMissingClose.groups.ver}] (${bracketedMissingClose.groups.date})`
}
Expand All @@ -170,7 +170,7 @@ const normaliseReleaseHeaders = (lines: string[], errors: string[]): string[] =>
return line
}

const plain = /^## (?<ver>\d[^\s(]+)\s*(?:\((?<date>\d{4}-\d{2}-\d{2})\))?/.exec(line)
const plain = /^## (?<ver>\d[^\s(]+)\s*(?:\((?<date>\d{4}-\d{2}-\d{2}|[A-Z][A-Z0-9-]*)\))?/.exec(line)
if (!plain?.groups) {return line}
if (plain.groups.date) {return `## [${plain.groups.ver}] (${plain.groups.date})`}
errors.push(`CHANGELOG.md: Release header missing date: ${line}`)
Expand Down
4 changes: 2 additions & 2 deletions scripts/linters/lint-readme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
* Screenshots, Changelog, Upgrade Notice
*
* Changelog section (inside readme.txt)
* - Version sub-headers: = X.Y.Z (YYYY-MM-DD) =
* - Version sub-headers: = X.Y.Z (YYYY-MM-DD) = or an uppercase status token, e.g. = X.Y.Z (UPCOMING) =
* - Change-type labels: __Added__, __Changed__, __Fixed__, __Removed__,
* __Deprecated__, __Security__
* (### headings and **Bold** variants are demoted / normalised)
Expand Down Expand Up @@ -51,7 +51,7 @@ const CLI_ARGS_START_INDEX = 2
const SUBSECTION_TITLECASE_MAX_WORDS = 2
const LIST_MARKER_LENGTH = 2

const RE_DATE_SRC = '\\d{4}-\\d{2}-\\d{2}'
const RE_DATE_SRC = '(?:\\d{4}-\\d{2}-\\d{2}|[A-Z][A-Z0-9-]*)'
const RE_VERSION_SRC = '\\d+\\.\\d+(?:\\.\\d+)*(?:-[a-zA-Z0-9.]+)?'

/** Known == Section == names (canonical capitalisation). */
Expand Down
Loading