From 53028554ad09df0cc9d5ac6ae665171fb37f9575 Mon Sep 17 00:00:00 2001 From: yoshi-code-bot <70984784+yoshi-code-bot@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:49:19 -0700 Subject: [PATCH] chore: build dist --- dist/index.js | 216 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 165 insertions(+), 51 deletions(-) diff --git a/dist/index.js b/dist/index.js index cb0754a1..73177175 100644 --- a/dist/index.js +++ b/dist/index.js @@ -55871,7 +55871,7 @@ function replaceIssueLink(note, host, owner, repo) { return note; } function htmlEscape(message) { - return message.replace('<', '<').replace('>', '>'); + return message.replace(/``[^`].*[^`]``|`[^`]*`|<|>/g, match => match.length > 1 ? match : match === '<' ? '<' : '>'); } //# sourceMappingURL=default.js.map @@ -56046,6 +56046,17 @@ function toConventionalChangelogFormat(ast) { break; } }); + // Add additional breaking change detection from commit body + if (body) { + const bodyString = String(body); + const breakingChangeMatch = bodyString.match(/BREAKING-CHANGE:\s*(.*)/); + if (breakingChangeMatch && breakingChangeMatch[1]) { + if (breaking.text) { + breaking.text += '\n'; + } + breaking.text += breakingChangeMatch[1].trim(); + } + } if (breaking.text !== '') headerCommit.notes.push(breaking); // Populates references array from footers: @@ -56160,6 +56171,7 @@ function toConventionalChangelogFormat(ast) { // we should be able to move post processing into // to-conventional-changelog.ts. function postProcessCommits(commit) { + var _a; commit.notes.forEach(note => { let text = ''; let i = 0; @@ -56181,6 +56193,19 @@ function postProcessCommits(commit) { } note.text = text.trim(); }); + const breakingChangeMatch = (_a = commit.body) === null || _a === void 0 ? void 0 : _a.match(/BREAKING-CHANGE:\s*(.*)/); + if (breakingChangeMatch && breakingChangeMatch[1]) { + const existingNote = commit.notes.find(note => note.title === 'BREAKING CHANGE'); + if (existingNote) { + existingNote.text += `\n${breakingChangeMatch[1].trim()}`; + } + else { + commit.notes.push({ + title: 'BREAKING CHANGE', + text: breakingChangeMatch[1].trim(), + }); + } + } return commit; } // If someone wishes to include additional contextual information for a @@ -56202,20 +56227,29 @@ function hasExtendedContext(line) { function parseCommits(message) { return conventionalCommitsFilter(toConventionalChangelogFormat(parser.parser(message))).map(postProcessCommits); } -// If someone wishes to aggregate multiple, complex commit messages into a -// single commit, they can include one or more `BEGIN_NESTED_COMMIT`/`END_NESTED_COMMIT` -// blocks into the body of the commit +/** + * Splits a commit message into multiple messages based on conventional commit format and nested commit blocks. + * This function is capable of: + * 1. Separating conventional commits (feat, fix, docs, etc.) within the main message. + * 2. Extracting nested commits enclosed in BEGIN_NESTED_COMMIT/END_NESTED_COMMIT blocks. + * 3. Preserving the original message structure outside of nested commit blocks. + * 4. Handling multiple nested commits and conventional commits in a single message. + * + * @param message The input commit message string + * @returns An array of individual commit messages + */ function splitMessages(message) { const parts = message.split('BEGIN_NESTED_COMMIT'); const messages = [parts.shift()]; for (const part of parts) { const [newMessage, ...rest] = part.split('END_NESTED_COMMIT'); messages.push(newMessage); - // anthing outside of the BEGIN/END annotations are added to the original - // commit - messages[0] = messages[0] + rest.join(); + messages[0] = messages[0] + rest.join('END_NESTED_COMMIT'); } - return messages; + const conventionalCommits = messages[0] + .split(/\n(?=(?:feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.*?\))?: )/) + .filter(Boolean); + return [...conventionalCommits, ...messages.slice(1)]; } /** * Given a list of raw commits, parse and expand into conventional commits. @@ -56250,6 +56284,7 @@ function parseConventionalCommits(commits, logger = logger_1.logger) { } catch (_err) { logger.debug(`commit could not be parsed: ${commit.sha} ${commit.message.split('\n')[0]}`); + logger.debug(`error message: ${_err}`); } } } @@ -57220,8 +57255,8 @@ class GitHub { } } async mergeCommitsGraphQL(targetBranch, cursor, options = {}) { - var _a, _b, _c, _d, _e, _f, _g; - var _h; + var _a, _b, _c, _d, _e, _f, _g, _h; + var _j; this.logger.debug(`Fetching merge commits on branch ${targetBranch} with cursor: ${cursor}`); const query = `query pullRequestsSince($owner: String!, $repo: String!, $num: Int!, $maxFilesChanged: Int, $targetBranch: String!, $cursor: String) { repository(owner: $owner, name: $repo) { @@ -57299,7 +57334,7 @@ class GitHub { for (const commit of commits) { for (const pr of commit.associatedPullRequests.nodes) { if ((_b = pr.mergeCommit) === null || _b === void 0 ? void 0 : _b.oid) { - (_c = mergeCommitCount[_h = pr.mergeCommit.oid]) !== null && _c !== void 0 ? _c : (mergeCommitCount[_h] = 0); + (_c = mergeCommitCount[_j = pr.mergeCommit.oid]) !== null && _c !== void 0 ? _c : (mergeCommitCount[_j] = 0); mergeCommitCount[pr.mergeCommit.oid]++; } } @@ -57329,14 +57364,15 @@ class GitHub { number: pullRequest.number, baseBranchName: pullRequest.baseRefName, headBranchName: pullRequest.headRefName, + mergeCommitOid: (_d = pullRequest.mergeCommit) === null || _d === void 0 ? void 0 : _d.oid, title: pullRequest.title, body: pullRequest.body, labels: pullRequest.labels.nodes.map(node => node.name), - files: (((_d = pullRequest.files) === null || _d === void 0 ? void 0 : _d.nodes) || []).map(node => node.path), + files: (((_e = pullRequest.files) === null || _e === void 0 ? void 0 : _e.nodes) || []).map(node => node.path), }; } if (mergePullRequest) { - if (((_f = (_e = mergePullRequest.files) === null || _e === void 0 ? void 0 : _e.pageInfo) === null || _f === void 0 ? void 0 : _f.hasNextPage) && + if (((_g = (_f = mergePullRequest.files) === null || _f === void 0 ? void 0 : _f.pageInfo) === null || _g === void 0 ? void 0 : _g.hasNextPage) && options.backfillFiles) { this.logger.info(`PR #${mergePullRequest.number} has many files, backfilling`); commit.files = await this.getCommitFiles(graphCommit.sha); @@ -57344,7 +57380,7 @@ class GitHub { else { // We cannot directly fetch files on commits via graphql, only provide file // information for commits with associated pull requests - commit.files = (((_g = mergePullRequest.files) === null || _g === void 0 ? void 0 : _g.nodes) || []).map(node => node.path); + commit.files = (((_h = mergePullRequest.files) === null || _h === void 0 ? void 0 : _h.nodes) || []).map(node => node.path); } } else if (options.backfillFiles) { @@ -58014,7 +58050,7 @@ Object.defineProperty(exports, "GitHub", ({ enumerable: true, get: function () { exports.configSchema = __nccwpck_require__(38623); exports.manifestSchema = __nccwpck_require__(45314); // x-release-please-start-version -exports.VERSION = '16.12.0'; +exports.VERSION = '16.14.0'; // x-release-please-end //# sourceMappingURL=index.js.map @@ -58347,7 +58383,7 @@ class Manifest { const component = await strategy.getComponent(); this.logger.info(`No latest release found for path: ${path}, component: ${component}, but a previous version (${version.toString()}) was specified in the manifest.`); releasesByPath[path] = { - tag: new tag_name_1.TagName(version, component), + tag: new tag_name_1.TagName(version, component, this.repositoryConfig[path].tagSeparator, this.repositoryConfig[path].includeVInTag), sha: '', notes: '', }; @@ -58418,6 +58454,10 @@ class Manifest { !('pullRequestFooter' in mergeOptions)) { mergeOptions.pullRequestFooter = config.pullRequestFooter; } + if ('componentNoSpace' in config && + !('componentNoSpace' in mergeOptions)) { + mergeOptions.componentNoSpace = config.componentNoSpace; + } } this.plugins.push(new merge_1.Merge(this.github, this.targetBranch, this.repositoryConfig, mergeOptions)); } @@ -58736,7 +58776,7 @@ class Manifest { const releaseList = githubReleases .map(({ tagName, url }) => `- [${tagName}](${url})`) .join('\n'); - const comment = `:robot: Created releases:\n${releaseList}\n:sunflower:`; + const comment = `🤖 Created releases:\n\n${releaseList}\n\n:sunflower:`; await this.github.commentOnIssue(comment, pullRequest.number); } if (error) { @@ -58844,6 +58884,7 @@ function extractReleaserConfig(config) { pullRequestTitlePattern: config['pull-request-title-pattern'], pullRequestHeader: config['pull-request-header'], pullRequestFooter: config['pull-request-footer'], + componentNoSpace: config['component-no-space'], tagSeparator: config['tag-separator'], separatePullRequests: config['separate-pull-requests'], labels: (_a = config['label']) === null || _a === void 0 ? void 0 : _a.split(','), @@ -58852,7 +58893,6 @@ function extractReleaserConfig(config) { skipSnapshot: config['skip-snapshot'], initialVersion: config['initial-version'], excludePaths: config['exclude-paths'], - signoff: config['signoff'], }; } /** @@ -58888,6 +58928,7 @@ async function parseConfig(github, configFile, branch, onlyPath, releaseAs) { separatePullRequests: config['separate-pull-requests'], groupPullRequestTitlePattern: config['group-pull-request-title-pattern'], plugins: config['plugins'], + signoff: config['signoff'], labels: configLabel === null || configLabel === void 0 ? void 0 : configLabel.split(','), releaseLabels: configReleaseLabel === null || configReleaseLabel === void 0 ? void 0 : configReleaseLabel.split(','), snapshotLabels: configSnapshotLabel === null || configSnapshotLabel === void 0 ? void 0 : configSnapshotLabel.split(','), @@ -58972,7 +59013,6 @@ function isPublishedVersion(strategy, version) { * @param {string} targetBranch Name of the scanned branch. * @param releaseFilter Validator function for release version. Used to filter-out SNAPSHOT releases for Java strategy. * @param {string} prefix Limit the release to a specific component. - * @param pullRequestTitlePattern Configured PR title pattern. */ async function latestReleaseVersion(github, targetBranch, releaseFilter, config, prefix, logger = logger_1.logger) { const branchPrefix = prefix @@ -58994,7 +59034,7 @@ async function latestReleaseVersion(github, targetBranch, releaseFilter, config, for await (const commitWithPullRequest of generator) { commitShas.add(commitWithPullRequest.sha); const mergedPullRequest = commitWithPullRequest.pullRequest; - if (!mergedPullRequest) { + if (!(mergedPullRequest === null || mergedPullRequest === void 0 ? void 0 : mergedPullRequest.mergeCommitOid)) { logger.trace(`skipping commit: ${commitWithPullRequest.sha} missing merged pull request`); continue; } @@ -59009,7 +59049,7 @@ async function latestReleaseVersion(github, targetBranch, releaseFilter, config, logger.trace(`skipping commit: ${commitWithPullRequest.sha} branch component ${branchName.getComponent()} doesn't match expected prefix: ${branchPrefix}`); continue; } - const pullRequestTitle = pull_request_title_1.PullRequestTitle.parse(mergedPullRequest.title, config.pullRequestTitlePattern, logger); + const pullRequestTitle = pull_request_title_1.PullRequestTitle.parse(mergedPullRequest.title, config.pullRequestTitlePattern, config.componentNoSpace, logger); if (!pullRequestTitle) { logger.trace(`skipping commit: ${commitWithPullRequest.sha} couldn't parse pull request title: ${mergedPullRequest.title}`); continue; @@ -59065,7 +59105,7 @@ async function latestReleaseVersion(github, targetBranch, releaseFilter, config, return candidateTagVersion.sort((a, b) => b.compare(a))[0]; } function mergeReleaserConfig(defaultConfig, pathConfig) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5; + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6; return { releaseType: (_b = (_a = pathConfig.releaseType) !== null && _a !== void 0 ? _a : defaultConfig.releaseType) !== null && _b !== void 0 ? _b : 'node', bumpMinorPreMajor: (_c = pathConfig.bumpMinorPreMajor) !== null && _c !== void 0 ? _c : defaultConfig.bumpMinorPreMajor, @@ -59091,11 +59131,12 @@ function mergeReleaserConfig(defaultConfig, pathConfig) { pullRequestTitlePattern: (_y = pathConfig.pullRequestTitlePattern) !== null && _y !== void 0 ? _y : defaultConfig.pullRequestTitlePattern, pullRequestHeader: (_z = pathConfig.pullRequestHeader) !== null && _z !== void 0 ? _z : defaultConfig.pullRequestHeader, pullRequestFooter: (_0 = pathConfig.pullRequestFooter) !== null && _0 !== void 0 ? _0 : defaultConfig.pullRequestFooter, - separatePullRequests: (_1 = pathConfig.separatePullRequests) !== null && _1 !== void 0 ? _1 : defaultConfig.separatePullRequests, - skipSnapshot: (_2 = pathConfig.skipSnapshot) !== null && _2 !== void 0 ? _2 : defaultConfig.skipSnapshot, - initialVersion: (_3 = pathConfig.initialVersion) !== null && _3 !== void 0 ? _3 : defaultConfig.initialVersion, - extraLabels: (_4 = pathConfig.extraLabels) !== null && _4 !== void 0 ? _4 : defaultConfig.extraLabels, - excludePaths: (_5 = pathConfig.excludePaths) !== null && _5 !== void 0 ? _5 : defaultConfig.excludePaths, + componentNoSpace: (_1 = pathConfig.componentNoSpace) !== null && _1 !== void 0 ? _1 : defaultConfig.componentNoSpace, + separatePullRequests: (_2 = pathConfig.separatePullRequests) !== null && _2 !== void 0 ? _2 : defaultConfig.separatePullRequests, + skipSnapshot: (_3 = pathConfig.skipSnapshot) !== null && _3 !== void 0 ? _3 : defaultConfig.skipSnapshot, + initialVersion: (_4 = pathConfig.initialVersion) !== null && _4 !== void 0 ? _4 : defaultConfig.initialVersion, + extraLabels: (_5 = pathConfig.extraLabels) !== null && _5 !== void 0 ? _5 : defaultConfig.extraLabels, + excludePaths: (_6 = pathConfig.excludePaths) !== null && _6 !== void 0 ? _6 : defaultConfig.excludePaths, }; } /** @@ -59240,6 +59281,11 @@ const errors_1 = __nccwpck_require__(93637); * into a single rust package. */ class CargoWorkspace extends workspace_1.WorkspacePlugin { + constructor() { + super(...arguments); + this.strategiesByPath = {}; + this.releasesByPath = {}; + } async buildAllPackages(candidates) { var _a, _b, _c, _d; const cargoManifestContent = await this.github.getFileContentsOnBranch('Cargo.toml', this.targetBranch); @@ -59348,6 +59394,26 @@ class CargoWorkspace extends workspace_1.WorkspacePlugin { const originalManifest = (0, common_1.parseCargoManifest)(pkg.manifestContent); const updatedManifest = (0, common_1.parseCargoManifest)(updatedContent); const dependencyNotes = getChangelogDepsNotes(originalManifest, updatedManifest); + const updatedPackage = { + ...pkg, + version: version.toString(), + }; + const strategy = this.strategiesByPath[updatedPackage.path]; + const latestRelease = this.releasesByPath[updatedPackage.path]; + const basePullRequest = strategy + ? await strategy.buildReleasePullRequest([], latestRelease, false, [], { + newVersion: version, + }) + : undefined; + if (basePullRequest) { + return this.updateCandidate({ + path: pkg.path, + pullRequest: basePullRequest, + config: { + releaseType: 'rust', + }, + }, pkg, updatedVersions); + } const pullRequest = { title: pull_request_title_1.PullRequestTitle.ofTargetBranch(this.targetBranch), body: new pull_request_body_1.PullRequestBody([ @@ -59441,6 +59507,12 @@ class CargoWorkspace extends workspace_1.WorkspacePlugin { pathFromPackage(pkg) { return pkg.path; } + async preconfigure(strategiesByPath, _commitsByPath, _releasesByPath) { + // Using preconfigure to siphon releases and strategies. + this.strategiesByPath = strategiesByPath; + this.releasesByPath = _releasesByPath; + return strategiesByPath; + } } exports.CargoWorkspace = CargoWorkspace; function getChangelogDepsNotes(originalManifest, updatedManifest) { @@ -60225,6 +60297,7 @@ class Merge extends plugin_1.ManifestPlugin { (_a = options.pullRequestTitlePattern) !== null && _a !== void 0 ? _a : manifest_1.MANIFEST_PULL_REQUEST_TITLE_PATTERN; this.pullRequestHeader = options.pullRequestHeader; this.pullRequestFooter = options.pullRequestFooter; + this.componentNoSpace = options.componentNoSpace; this.headBranchName = options.headBranchName; this.forceMerge = (_b = options.forceMerge) !== null && _b !== void 0 ? _b : false; } @@ -60260,7 +60333,7 @@ class Merge extends plugin_1.ManifestPlugin { } const updates = (0, composite_1.mergeUpdates)(rawUpdates); const pullRequest = { - title: pull_request_title_1.PullRequestTitle.ofComponentTargetBranchVersion(rootRelease === null || rootRelease === void 0 ? void 0 : rootRelease.pullRequest.title.component, this.targetBranch, rootRelease === null || rootRelease === void 0 ? void 0 : rootRelease.pullRequest.title.version, this.pullRequestTitlePattern), + title: pull_request_title_1.PullRequestTitle.ofComponentTargetBranchVersion(rootRelease === null || rootRelease === void 0 ? void 0 : rootRelease.pullRequest.title.component, this.targetBranch, rootRelease === null || rootRelease === void 0 ? void 0 : rootRelease.pullRequest.title.version, this.pullRequestTitlePattern, this.componentNoSpace), body: new pull_request_body_1.PullRequestBody(releaseData, { useComponents: true, header: this.pullRequestHeader, @@ -60317,9 +60390,9 @@ const pull_request_body_1 = __nccwpck_require__(70774); const branch_name_1 = __nccwpck_require__(16344); const changelog_1 = __nccwpck_require__(3325); const workspace_1 = __nccwpck_require__(44226); -const versioning_strategy_1 = __nccwpck_require__(41941); const composite_1 = __nccwpck_require__(40911); const package_json_1 = __nccwpck_require__(26588); +const versioning_strategy_1 = __nccwpck_require__(41941); /** * The plugin analyzed a cargo workspace and will bump dependencies * of managed packages if those dependencies are being updated. @@ -60395,6 +60468,9 @@ class NodeWorkspace extends workspace_1.WorkspacePlugin { } bumpVersion(pkg) { const version = version_1.Version.parse(pkg.version); + const strategy = this.strategiesByPath[pkg.path]; + if (strategy) + return strategy.versioningStrategy.bump(version, []); return new versioning_strategy_1.PatchVersionUpdate().bump(version); } updateCandidate(existingCandidate, pkg, updatedVersions) { @@ -61116,6 +61192,7 @@ class BaseStrategy { this.pullRequestTitlePattern = options.pullRequestTitlePattern; this.pullRequestHeader = options.pullRequestHeader; this.pullRequestFooter = options.pullRequestFooter; + this.componentNoSpace = options.componentNoSpace; this.extraFiles = options.extraFiles || []; this.initialVersion = options.initialVersion; this.extraLabels = options.extraLabels || []; @@ -61210,7 +61287,8 @@ class BaseStrategy { this.logger.debug('component:', component); const newVersionTag = new tag_name_1.TagName(newVersion, this.includeComponentInTag ? component : undefined, this.tagSeparator, this.includeVInTag); this.logger.debug('pull request title pattern:', this.pullRequestTitlePattern); - const pullRequestTitle = pull_request_title_1.PullRequestTitle.ofComponentTargetBranchVersion(component || '', this.targetBranch, newVersion, this.pullRequestTitlePattern); + this.logger.debug('componentNoSpace:', this.componentNoSpace); + const pullRequestTitle = pull_request_title_1.PullRequestTitle.ofComponentTargetBranchVersion(component || '', this.targetBranch, newVersion, this.pullRequestTitlePattern, this.componentNoSpace); const branchComponent = await this.getBranchComponent(); const branchName = branchComponent ? branch_name_1.BranchName.ofComponentTargetBranch(branchComponent, this.targetBranch) @@ -61404,8 +61482,8 @@ class BaseStrategy { return; } const mergedTitlePattern = (_a = options === null || options === void 0 ? void 0 : options.groupPullRequestTitlePattern) !== null && _a !== void 0 ? _a : manifest_1.MANIFEST_PULL_REQUEST_TITLE_PATTERN; - const pullRequestTitle = pull_request_title_1.PullRequestTitle.parse(mergedPullRequest.title, this.pullRequestTitlePattern, this.logger) || - pull_request_title_1.PullRequestTitle.parse(mergedPullRequest.title, mergedTitlePattern, this.logger); + const pullRequestTitle = pull_request_title_1.PullRequestTitle.parse(mergedPullRequest.title, this.pullRequestTitlePattern, this.componentNoSpace, this.logger) || + pull_request_title_1.PullRequestTitle.parse(mergedPullRequest.title, mergedTitlePattern, this.componentNoSpace, this.logger); if (!pullRequestTitle) { this.logger.error(`Bad pull request title: '${mergedPullRequest.title}'`); return; @@ -62821,7 +62899,7 @@ class Java extends base_1.BaseStrategy { const pullRequests = commits .map(commit => { var _a; - return pull_request_title_1.PullRequestTitle.parse(((_a = commit.pullRequest) === null || _a === void 0 ? void 0 : _a.title) || commit.message, this.pullRequestTitlePattern, this.logger); + return pull_request_title_1.PullRequestTitle.parse(((_a = commit.pullRequest) === null || _a === void 0 ? void 0 : _a.title) || commit.message, this.pullRequestTitlePattern, this.componentNoSpace, this.logger); }) .filter(pullRequest => pullRequest); const snapshotCommits = pullRequests @@ -63283,7 +63361,7 @@ class PHPYoshi extends base_1.BaseStrategy { const versionsMap = new Map(); const directoryVersionContents = {}; const component = await this.getComponent(); - const newVersionTag = new tag_name_1.TagName(newVersion, component); + const newVersionTag = new tag_name_1.TagName(newVersion, component, this.tagSeparator, this.includeVInTag); let releaseNotesBody = `## ${newVersion.toString()}`; for (const directory of topLevelDirectories) { try { @@ -64919,6 +64997,7 @@ exports.GenericJson = void 0; const jp = __nccwpck_require__(74378); const json_stringify_1 = __nccwpck_require__(69227); const logger_1 = __nccwpck_require__(68809); +const VERSION_REGEX = /(?\d+)\.(?\d+)\.(?\d+)(-(?[\w.]+))?(\+(?[-\w.]+))?/; class GenericJson { constructor(jsonpath, version) { this.jsonpath = jsonpath; @@ -64931,8 +65010,16 @@ class GenericJson { */ updateContent(content, logger = logger_1.logger) { const data = JSON.parse(content); - const nodes = jp.apply(data, this.jsonpath, _val => { - return this.version.toString(); + const nodes = jp.apply(data, this.jsonpath, value => { + if (typeof value !== 'string') { + logger.warn(`No string in ${this.jsonpath}. Skipping.`); + return value; + } + if (!value.match(VERSION_REGEX)) { + logger.warn(`No version found in ${this.jsonpath}. Skipping.`); + return value; + } + return value.replace(VERSION_REGEX, this.version.toString()); }); if (!nodes) { logger.warn(`No entries modified in ${this.jsonpath}`); @@ -67965,7 +68052,8 @@ const version_1 = __nccwpck_require__(17348); // at the script level are undefined, they are only defined inside function // or instance methods/properties. const DEFAULT_PR_TITLE_PATTERN = 'chore${scope}: release${component} ${version}'; -function generateMatchPattern(pullRequestTitlePattern, logger = logger_1.logger) { +const COMPONENT_NO_SPACE = false; +function generateMatchPattern(pullRequestTitlePattern, componentNoSpace, logger = logger_1.logger) { if (pullRequestTitlePattern && pullRequestTitlePattern.search(/\$\{scope\}/) === -1) logger.warn("pullRequestTitlePattern miss the part of '${scope}'"); @@ -67981,7 +68069,9 @@ function generateMatchPattern(pullRequestTitlePattern, logger = logger_1.logger) .replace('(', '\\(') .replace(')', '\\)') .replace('${scope}', '(\\((?[\\w-./]+)\\))?') - .replace('${component}', ' ?(?@?[\\w-./]*)?') + .replace('${component}', componentNoSpace === true + ? '?(?@?[\\w-./]*)?' + : ' ?(?@?[\\w-./]*)?') .replace('${version}', 'v?(?[0-9].*)') .replace('${branch}', '(?[\\w-./]+)?')}$`); } @@ -67993,10 +68083,11 @@ class PullRequestTitle { this.targetBranch = opts.targetBranch; this.pullRequestTitlePattern = opts.pullRequestTitlePattern || DEFAULT_PR_TITLE_PATTERN; - this.matchPattern = generateMatchPattern(this.pullRequestTitlePattern, opts.logger); + this.componentNoSpace = opts.componentNoSpace || COMPONENT_NO_SPACE; + this.matchPattern = generateMatchPattern(this.pullRequestTitlePattern, this.componentNoSpace, opts.logger); } - static parse(title, pullRequestTitlePattern, logger = logger_1.logger) { - const matchPattern = generateMatchPattern(pullRequestTitlePattern, logger); + static parse(title, pullRequestTitlePattern, componentNoSpace, logger = logger_1.logger) { + const matchPattern = generateMatchPattern(pullRequestTitlePattern, componentNoSpace, logger); const match = title.match(matchPattern); if (match === null || match === void 0 ? void 0 : match.groups) { return new PullRequestTitle({ @@ -68006,36 +68097,49 @@ class PullRequestTitle { component: match.groups['component'], targetBranch: match.groups['branch'], pullRequestTitlePattern, + componentNoSpace, logger, }); } return undefined; } - static ofComponentVersion(component, version, pullRequestTitlePattern) { - return new PullRequestTitle({ version, component, pullRequestTitlePattern }); + static ofComponentVersion(component, version, pullRequestTitlePattern, componentNoSpace) { + return new PullRequestTitle({ + version, + component, + pullRequestTitlePattern, + componentNoSpace, + }); } - static ofVersion(version, pullRequestTitlePattern) { - return new PullRequestTitle({ version, pullRequestTitlePattern }); + static ofVersion(version, pullRequestTitlePattern, componentNoSpace) { + return new PullRequestTitle({ + version, + pullRequestTitlePattern, + componentNoSpace, + }); } - static ofTargetBranchVersion(targetBranch, version, pullRequestTitlePattern) { + static ofTargetBranchVersion(targetBranch, version, pullRequestTitlePattern, componentNoSpace) { return new PullRequestTitle({ version, targetBranch, pullRequestTitlePattern, + componentNoSpace, }); } - static ofComponentTargetBranchVersion(component, targetBranch, version, pullRequestTitlePattern) { + static ofComponentTargetBranchVersion(component, targetBranch, version, pullRequestTitlePattern, componentNoSpace) { return new PullRequestTitle({ version, component, targetBranch, pullRequestTitlePattern, + componentNoSpace, }); } - static ofTargetBranch(targetBranch, pullRequestTitlePattern) { + static ofTargetBranch(targetBranch, pullRequestTitlePattern, componentNoSpace) { return new PullRequestTitle({ targetBranch, pullRequestTitlePattern, + componentNoSpace, }); } getTargetBranch() { @@ -68050,8 +68154,18 @@ class PullRequestTitle { toString() { var _a; const scope = this.targetBranch ? `(${this.targetBranch})` : ''; - const component = this.component ? ` ${this.component}` : ''; + const component = this.componentNoSpace === true + ? this.component + ? `${this.component}` + : '' + : this.component + ? ` ${this.component}` + : ''; const version = (_a = this.version) !== null && _a !== void 0 ? _a : ''; + if (this.componentNoSpace === true && !component) { + console.log('`component` is empty. Removing component from title pattern..'); + this.pullRequestTitlePattern = this.pullRequestTitlePattern.replace('${component} ', ''); + } return this.pullRequestTitlePattern .replace('${scope}', scope) .replace('${component}', component) @@ -117330,7 +117444,7 @@ module.exports = {"i8":"4.3.0"}; /***/ ((module) => { "use strict"; -module.exports = {"i8":"16.12.0"}; +module.exports = {"i8":"16.14.0"}; /***/ }), @@ -117338,7 +117452,7 @@ module.exports = {"i8":"16.12.0"}; /***/ ((module) => { "use strict"; -module.exports = JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"release-please manifest config schema","description":"Schema for defining manifest config file","type":"object","additionalProperties":false,"definitions":{"ReleaserConfigOptions":{"type":"object","properties":{"release-type":{"description":"The strategy to use for this component.","type":"string"},"bump-minor-pre-major":{"description":"Breaking changes only bump semver minor if version < 1.0.0","type":"boolean"},"bump-patch-for-minor-pre-major":{"description":"Feature changes only bump semver patch if version < 1.0.0","type":"boolean"},"prerelease-type":{"description":"Configuration option for the prerelease versioning strategy. If prerelease strategy used and type set, will set the prerelease part of the version to the provided value in case prerelease part is not present.","type":"string"},"versioning":{"description":"Versioning strategy. Defaults to `default`","type":"string"},"changelog-sections":{"description":"Override the Changelog configuration sections","type":"array","items":{"type":"object","properties":{"type":{"description":"Semantic commit type (e.g. `feat`, `chore`)","type":"string"},"section":{"description":"Changelog section title","type":"string"},"hidden":{"description":"Skip displaying this type of commit. Defaults to `false`.","type":"boolean"}},"required":["type","section"]}},"release-as":{"description":"[DEPRECATED] Override the next version of this package. Consider using a `Release-As` commit instead.","type":"string"},"skip-github-release":{"description":"Skip tagging GitHub releases for this package. Release-Please still requires releases to be tagged, so this option should only be used if you have existing infrastructure to tag these releases.Defaults to `false`.","type":"boolean"},"draft":{"description":"Create the GitHub release in draft mode. Defaults to `false`.","type":"boolean"},"prerelease":{"description":"Create the GitHub release as prerelease. Defaults to `false`.","type":"boolean"},"draft-pull-request":{"description":"Open the release pull request in draft mode. Defaults to `false`.","type":"boolean"},"extra-label":{"description":"Comma-separated list of labels to add to a newly opened pull request","type":"string"},"include-component-in-tag":{"description":"When tagging a release, include the component name as part of the tag. Defaults to `true`.","type":"boolean"},"include-v-in-tag":{"description":"When tagging a release, include `v` in the tag. Defaults to `false`.","type":"boolean"},"changelog-type":{"description":"The type of changelog to use. Defaults to `default`.","type":"string","enum":["default","github"]},"changelog-host":{"description":"Generate changelog links to this GitHub host. Useful for running against GitHub Enterprise.","type":"string"},"changelog-path":{"description":"Path to the file that tracks release note changes. Defaults to `CHANGELOG.md`.","type":"string"},"pull-request-title-pattern":{"description":"Customize the release pull request title.","type":"string"},"pull-request-header":{"description":"Customize the release pull request header.","type":"string"},"pull-request-footer":{"description":"Customize the release pull request footer.","type":"string"},"separate-pull-requests":{"description":"Open a separate release pull request for each component. Defaults to `false`.","type":"boolean"},"tag-separator":{"description":"Customize the separator between the component and version in the GitHub tag.","type":"string"},"extra-files":{"description":"Specify extra generic files to replace versions.","type":"array","items":{"anyOf":[{"description":"The path to the file. The `Generic` updater uses annotations to replace versions.","type":"string"},{"description":"An extra JSON, YAML, or TOML file with a targeted update via jsonpath.","type":"object","properties":{"type":{"description":"The file format type.","enum":["json","toml","yaml"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"},"jsonpath":{"description":"The jsonpath to the version entry in the file.","type":"string"}},"required":["type","path","jsonpath"]},{"description":"An extra XML file with a targeted update via xpath.","type":"object","properties":{"type":{"description":"The file format type.","enum":["xml"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"},"xpath":{"description":"The xpath to the version entry in the file.","type":"string"}},"required":["type","path","xpath"]},{"description":"An extra pom.xml file.","type":"object","properties":{"type":{"description":"The file format type.","enum":["pom"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"}},"required":["type","path"]}]}},"exclude-paths":{"description":"Path of commits to be excluded from parsing. If all files from commit belong to one of the paths it will be skipped","type":"array","items":{"type":"string"}},"version-file":{"description":"Path to the specialize version file. Used by `ruby` and `simple` strategies.","type":"string"},"snapshot-label":{"description":"Label to add to snapshot pull request. Used by `java` strategies.","type":"string"},"skip-snapshot":{"description":"If set, do not propose snapshot pull requests. Used by `java` strategies.","type":"boolean"},"initial-version":{"description":"Releases the initial library with a specified version","type":"string"}}}},"allOf":[{"$ref":"#/definitions/ReleaserConfigOptions"},{"properties":{"$schema":{"description":"Path to the release-please manifest config schema","type":"string","format":"uri-reference"},"packages":{"description":"Per-path component configuration.","type":"object","additionalProperties":{"$ref":"#/definitions/ReleaserConfigOptions"}},"bootstrap-sha":{"description":"For the initial release of a library, only consider as far back as this commit SHA. This is an uncommon use case and should generally be avoided.","type":"string"},"last-release-sha":{"description":"For any release, only consider as far back as this commit SHA. This is an uncommon use case and should generally be avoided.","type":"string"},"always-link-local":{"description":"When using the `node-workspace` plugin, force all local dependencies to be linked.","type":"boolean"},"plugins":{"description":"Plugins to apply to pull requests. Plugins can be added to perform extra release processing that cannot be achieved by an individual release strategy.","type":"array","items":{"anyOf":[{"description":"The plugin name for plugins that do not require other options.","type":"string"},{"description":"Configuration for the `linked-versions` plugin.","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["linked-versions"]},"groupName":{"description":"The name of the group of components.","type":"string"},"components":{"description":"List of component names that are part of this group.","type":"array","items":{"type":"string"}},"merge":{"description":"Whether to merge in-scope pull requests into a combined release pull request. Defaults to `true`.","type":"boolean"},"specialWords":{"description":"Words that sentence casing logic will not be applied to","type":"array","items":{"type":"string"}}},"required":["type","groupName","components"]},{"description":"Configuration for various `workspace` plugins.","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["cargo-workspace","maven-workspace"]},"updateAllPackages":{"description":"Whether to force updating all packages regardless of the dependency tree. Defaults to `false`.","type":"boolean"},"merge":{"description":"Whether to merge in-scope pull requests into a combined release pull request. Defaults to `true`.","type":"boolean"},"considerAllArtifacts":{"description":"Whether to analyze all packages in the workspace for cross-component version bumping. This currently only works for the maven-workspace plugin. Defaults to `true`.","type":"boolean"}}},{"description":"Configuration for various `workspace` plugins.","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["node-workspace"]},"updateAllPackages":{"description":"Whether to force updating all packages regardless of the dependency tree. Defaults to `false`.","type":"boolean"},"merge":{"description":"Whether to merge in-scope pull requests into a combined release pull request. Defaults to `true`.","type":"boolean"},"considerAllArtifacts":{"description":"Whether to analyze all packages in the workspace for cross-component version bumping. This currently only works for the maven-workspace plugin. Defaults to `true`.","type":"boolean"},"updatePeerDependencies":{"description":"Also bump peer dependency versions if they are modified. Defaults to `false`.","type":"boolean"}}},{"description":"Configuration for various `group-priority` plugin","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["group-priority"]},"groups":{"description":"Group names ordered with highest priority first.","type":"array","items":{"type":"string"}}}},{"description":"Other plugins","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string"}}}]}},"group-pull-request-title-pattern":{"description":"When grouping multiple release pull requests use this pattern for the title.","type":"string"},"release-search-depth":{"description":"When considering previously releases, only look this deep.","type":"number"},"commit-search-depth":{"description":"When considering commit history, only look this many commits deep.","type":"number"},"sequential-calls":{"description":"Whether to open pull requests/releases sequentially rather than concurrently. If you have many components, you may want to set this to avoid secondary rate limits.","type":"boolean"},"label":{"description":"Comma-separated list of labels to add to newly opened pull request. These are used to identify release pull requests.","type":"string"},"release-label":{"description":"Comma-separated list of labels to add to a pull request that has been released/tagged","type":"string"}},"required":["packages"]}],"properties":{"$schema":true,"packages":true,"bootstrap-sha":true,"last-release-sha":true,"always-link-local":true,"plugins":true,"group-pull-request-title-pattern":true,"release-search-depth":true,"commit-search-depth":true,"sequential-calls":true,"release-type":true,"bump-minor-pre-major":true,"bump-patch-for-minor-pre-major":true,"versioning":true,"changelog-sections":true,"release-as":true,"skip-github-release":true,"draft":true,"prerelease":true,"draft-pull-request":true,"label":true,"release-label":true,"extra-label":true,"include-component-in-tag":true,"include-v-in-tag":true,"changelog-type":true,"changelog-host":true,"changelog-path":true,"pull-request-title-pattern":true,"pull-request-header":true,"pull-request-footer":true,"separate-pull-requests":true,"tag-separator":true,"extra-files":true,"version-file":true,"snapshot-label":true,"initial-version":true,"exclude-paths":true}}'); +module.exports = JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"release-please manifest config schema","description":"Schema for defining manifest config file","type":"object","additionalProperties":false,"definitions":{"ReleaserConfigOptions":{"type":"object","properties":{"release-type":{"description":"The strategy to use for this component.","type":"string"},"bump-minor-pre-major":{"description":"Breaking changes only bump semver minor if version < 1.0.0","type":"boolean"},"bump-patch-for-minor-pre-major":{"description":"Feature changes only bump semver patch if version < 1.0.0","type":"boolean"},"prerelease-type":{"description":"Configuration option for the prerelease versioning strategy. If prerelease strategy used and type set, will set the prerelease part of the version to the provided value in case prerelease part is not present.","type":"string"},"versioning":{"description":"Versioning strategy. Defaults to `default`","type":"string"},"changelog-sections":{"description":"Override the Changelog configuration sections","type":"array","items":{"type":"object","properties":{"type":{"description":"Semantic commit type (e.g. `feat`, `chore`)","type":"string"},"section":{"description":"Changelog section title","type":"string"},"hidden":{"description":"Skip displaying this type of commit. Defaults to `false`.","type":"boolean"}},"required":["type","section"]}},"release-as":{"description":"[DEPRECATED] Override the next version of this package. Consider using a `Release-As` commit instead.","type":"string"},"skip-github-release":{"description":"Skip tagging GitHub releases for this package. Release-Please still requires releases to be tagged, so this option should only be used if you have existing infrastructure to tag these releases.Defaults to `false`.","type":"boolean"},"draft":{"description":"Create the GitHub release in draft mode. Defaults to `false`.","type":"boolean"},"prerelease":{"description":"Create the GitHub release as prerelease. Defaults to `false`.","type":"boolean"},"draft-pull-request":{"description":"Open the release pull request in draft mode. Defaults to `false`.","type":"boolean"},"extra-label":{"description":"Comma-separated list of labels to add to a newly opened pull request","type":"string"},"include-component-in-tag":{"description":"When tagging a release, include the component name as part of the tag. Defaults to `true`.","type":"boolean"},"include-v-in-tag":{"description":"When tagging a release, include `v` in the tag. Defaults to `false`.","type":"boolean"},"changelog-type":{"description":"The type of changelog to use. Defaults to `default`.","type":"string","enum":["default","github"]},"changelog-host":{"description":"Generate changelog links to this GitHub host. Useful for running against GitHub Enterprise.","type":"string"},"changelog-path":{"description":"Path to the file that tracks release note changes. Defaults to `CHANGELOG.md`.","type":"string"},"pull-request-title-pattern":{"description":"Customize the release pull request title.","type":"string"},"pull-request-header":{"description":"Customize the release pull request header.","type":"string"},"pull-request-footer":{"description":"Customize the release pull request footer.","type":"string"},"separate-pull-requests":{"description":"Open a separate release pull request for each component. Defaults to `false`.","type":"boolean"},"tag-separator":{"description":"Customize the separator between the component and version in the GitHub tag.","type":"string"},"extra-files":{"description":"Specify extra generic files to replace versions.","type":"array","items":{"anyOf":[{"description":"The path to the file. The `Generic` updater uses annotations to replace versions.","type":"string"},{"description":"An extra JSON, YAML, or TOML file with a targeted update via jsonpath.","type":"object","properties":{"type":{"description":"The file format type.","enum":["json","toml","yaml"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"},"jsonpath":{"description":"The jsonpath to the version entry in the file.","type":"string"}},"required":["type","path","jsonpath"]},{"description":"An extra XML file with a targeted update via xpath.","type":"object","properties":{"type":{"description":"The file format type.","enum":["xml"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"},"xpath":{"description":"The xpath to the version entry in the file.","type":"string"}},"required":["type","path","xpath"]},{"description":"An extra pom.xml file.","type":"object","properties":{"type":{"description":"The file format type.","enum":["pom"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"}},"required":["type","path"]},{"description":"An extra arbitrary file that includes release-please generic updater\'s annotation.","type":"object","properties":{"type":{"description":"The file format type.","enum":["generic"]},"path":{"description":"The path to the file.","type":"string"},"glob":{"description":"Whether to treat the path as a glob. Defaults to `false`.","type":"boolean"}},"required":["type","path"]}]}},"exclude-paths":{"description":"Path of commits to be excluded from parsing. If all files from commit belong to one of the paths it will be skipped","type":"array","items":{"type":"string"}},"version-file":{"description":"Path to the specialize version file. Used by `ruby` and `simple` strategies.","type":"string"},"snapshot-label":{"description":"Label to add to snapshot pull request. Used by `java` strategies.","type":"string"},"skip-snapshot":{"description":"If set, do not propose snapshot pull requests. Used by `java` strategies.","type":"boolean"},"initial-version":{"description":"Releases the initial library with a specified version","type":"string"},"component-no-space":{"description":"release-please automatically adds ` ` (space) in front of parsed ${component}. This option indicates whether that behaviour should be disabled. Defaults to `false`","type":"boolean"}}}},"allOf":[{"$ref":"#/definitions/ReleaserConfigOptions"},{"properties":{"$schema":{"description":"Path to the release-please manifest config schema","type":"string","format":"uri-reference"},"packages":{"description":"Per-path component configuration.","type":"object","additionalProperties":{"$ref":"#/definitions/ReleaserConfigOptions"}},"bootstrap-sha":{"description":"For the initial release of a library, only consider as far back as this commit SHA. This is an uncommon use case and should generally be avoided.","type":"string"},"last-release-sha":{"description":"For any release, only consider as far back as this commit SHA. This is an uncommon use case and should generally be avoided.","type":"string"},"always-link-local":{"description":"When using the `node-workspace` plugin, force all local dependencies to be linked.","type":"boolean"},"plugins":{"description":"Plugins to apply to pull requests. Plugins can be added to perform extra release processing that cannot be achieved by an individual release strategy.","type":"array","items":{"anyOf":[{"description":"The plugin name for plugins that do not require other options.","type":"string"},{"description":"Configuration for the `linked-versions` plugin.","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["linked-versions"]},"groupName":{"description":"The name of the group of components.","type":"string"},"components":{"description":"List of component names that are part of this group.","type":"array","items":{"type":"string"}},"merge":{"description":"Whether to merge in-scope pull requests into a combined release pull request. Defaults to `true`.","type":"boolean"},"specialWords":{"description":"Words that sentence casing logic will not be applied to","type":"array","items":{"type":"string"}}},"required":["type","groupName","components"]},{"description":"Configuration for various `workspace` plugins.","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["cargo-workspace","maven-workspace"]},"updateAllPackages":{"description":"Whether to force updating all packages regardless of the dependency tree. Defaults to `false`.","type":"boolean"},"merge":{"description":"Whether to merge in-scope pull requests into a combined release pull request. Defaults to `true`.","type":"boolean"},"considerAllArtifacts":{"description":"Whether to analyze all packages in the workspace for cross-component version bumping. This currently only works for the maven-workspace plugin. Defaults to `true`.","type":"boolean"}}},{"description":"Configuration for various `workspace` plugins.","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["node-workspace"]},"updateAllPackages":{"description":"Whether to force updating all packages regardless of the dependency tree. Defaults to `false`.","type":"boolean"},"merge":{"description":"Whether to merge in-scope pull requests into a combined release pull request. Defaults to `true`.","type":"boolean"},"considerAllArtifacts":{"description":"Whether to analyze all packages in the workspace for cross-component version bumping. This currently only works for the maven-workspace plugin. Defaults to `true`.","type":"boolean"},"updatePeerDependencies":{"description":"Also bump peer dependency versions if they are modified. Defaults to `false`.","type":"boolean"}}},{"description":"Configuration for various `group-priority` plugin","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string","enum":["group-priority"]},"groups":{"description":"Group names ordered with highest priority first.","type":"array","items":{"type":"string"}}}},{"description":"Other plugins","type":"object","properties":{"type":{"description":"The name of the plugin.","type":"string"}}}]}},"signoff":{"description":"Text to be used as Signed-off-by in the commit.","type":"string"},"group-pull-request-title-pattern":{"description":"When grouping multiple release pull requests use this pattern for the title.","type":"string"},"release-search-depth":{"description":"When considering previously releases, only look this deep.","type":"number"},"commit-search-depth":{"description":"When considering commit history, only look this many commits deep.","type":"number"},"sequential-calls":{"description":"Whether to open pull requests/releases sequentially rather than concurrently. If you have many components, you may want to set this to avoid secondary rate limits.","type":"boolean"},"label":{"description":"Comma-separated list of labels to add to newly opened pull request. These are used to identify release pull requests.","type":"string"},"release-label":{"description":"Comma-separated list of labels to add to a pull request that has been released/tagged","type":"string"},"component-no-space":{"description":"release-please automatically adds ` ` (space) in front of parsed ${component}. This option indicates whether that behaviour should be disabled. Defaults to `false`","type":"boolean"}},"required":["packages"]}],"properties":{"$schema":true,"packages":true,"bootstrap-sha":true,"last-release-sha":true,"always-link-local":true,"plugins":true,"signoff":true,"group-pull-request-title-pattern":true,"release-search-depth":true,"commit-search-depth":true,"sequential-calls":true,"release-type":true,"bump-minor-pre-major":true,"bump-patch-for-minor-pre-major":true,"versioning":true,"changelog-sections":true,"release-as":true,"skip-github-release":true,"draft":true,"prerelease":true,"draft-pull-request":true,"label":true,"release-label":true,"extra-label":true,"include-component-in-tag":true,"include-v-in-tag":true,"changelog-type":true,"changelog-host":true,"changelog-path":true,"pull-request-title-pattern":true,"pull-request-header":true,"pull-request-footer":true,"separate-pull-requests":true,"tag-separator":true,"extra-files":true,"version-file":true,"snapshot-label":true,"initial-version":true,"exclude-paths":true,"component-no-space":false}}'); /***/ }),