28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
|
/**
|
||
|
* @license
|
||
|
* Copyright Google LLC All Rights Reserved.
|
||
|
*
|
||
|
* Use of this source code is governed by an MIT-style license that can be
|
||
|
* found in the LICENSE file at https://angular.io/license
|
||
|
*/
|
||
|
|
||
|
import {join} from 'path';
|
||
|
import * as semver from 'semver';
|
||
|
import {changelogPath} from './constants';
|
||
|
|
||
|
/**
|
||
|
* Gets the default pattern for extracting release notes for the given version.
|
||
|
* This pattern matches for the conventional-changelog Angular preset.
|
||
|
*/
|
||
|
export function getDefaultExtractReleaseNotesPattern(version: semver.SemVer): RegExp {
|
||
|
const escapedVersion = version.format().replace('.', '\\.');
|
||
|
// TODO: Change this once we have a canonical changelog generation tool. Also update this
|
||
|
// based on the conventional-changelog version. They removed anchors in more recent versions.
|
||
|
return new RegExp(`(<a name="${escapedVersion}"></a>.*?)(?:<a name="|$)`, 's');
|
||
|
}
|
||
|
|
||
|
/** Gets the path for the changelog file in a given project. */
|
||
|
export function getLocalChangelogFilePath(projectDir: string): string {
|
||
|
return join(projectDir, changelogPath);
|
||
|
}
|