fix(release): ensure @org/package style names are wrapped in quotes in version plans (#27177)
This commit is contained in:
parent
f19354419b
commit
17c87a5df7
@ -15,6 +15,7 @@ import {
|
|||||||
} from './config/config';
|
} from './config/config';
|
||||||
import { filterReleaseGroups } from './config/filter-release-groups';
|
import { filterReleaseGroups } from './config/filter-release-groups';
|
||||||
import { getVersionPlansAbsolutePath } from './config/version-plans';
|
import { getVersionPlansAbsolutePath } from './config/version-plans';
|
||||||
|
import { generateVersionPlanContent } from './utils/generate-version-plan-content';
|
||||||
import { parseConventionalCommitsMessage } from './utils/git';
|
import { parseConventionalCommitsMessage } from './utils/git';
|
||||||
import { printDiff } from './utils/print-changes';
|
import { printDiff } from './utils/print-changes';
|
||||||
|
|
||||||
@ -136,7 +137,7 @@ export async function releasePlan(args: PlanOptions): Promise<string | number> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const versionPlanMessage = args.message || (await promptForMessage());
|
const versionPlanMessage = args.message || (await promptForMessage());
|
||||||
const versionPlanFileContent = getVersionPlanFileContent(
|
const versionPlanFileContent = generateVersionPlanContent(
|
||||||
versionPlanBumps,
|
versionPlanBumps,
|
||||||
versionPlanMessage
|
versionPlanMessage
|
||||||
);
|
);
|
||||||
@ -229,18 +230,3 @@ async function _promptForMessage(): Promise<string> {
|
|||||||
process.exit(0);
|
process.exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getVersionPlanFileContent(
|
|
||||||
bumps: Record<string, string>,
|
|
||||||
message: string
|
|
||||||
): string {
|
|
||||||
return `---
|
|
||||||
${Object.entries(bumps)
|
|
||||||
.filter(([_, version]) => version !== 'none')
|
|
||||||
.map(([projectOrGroup, version]) => `${projectOrGroup}: ${version}`)
|
|
||||||
.join('\n')}
|
|
||||||
---
|
|
||||||
|
|
||||||
${message}
|
|
||||||
`;
|
|
||||||
}
|
|
||||||
|
|||||||
@ -0,0 +1,32 @@
|
|||||||
|
import { generateVersionPlanContent } from './generate-version-plan-content';
|
||||||
|
|
||||||
|
describe('generateVersionPlanContent()', () => {
|
||||||
|
it('should generate the version plan content', () => {
|
||||||
|
expect(generateVersionPlanContent({ proj: '1.0.0' }, 'message'))
|
||||||
|
.toMatchInlineSnapshot(`
|
||||||
|
"---
|
||||||
|
proj: 1.0.0
|
||||||
|
---
|
||||||
|
|
||||||
|
message
|
||||||
|
"
|
||||||
|
`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should wrap project keys in quotes if they start with an @ symbol', () => {
|
||||||
|
expect(
|
||||||
|
generateVersionPlanContent(
|
||||||
|
{ '@proj/foo': '1.0.0', 'a-b-c': '2.3.4' },
|
||||||
|
'message'
|
||||||
|
)
|
||||||
|
).toMatchInlineSnapshot(`
|
||||||
|
"---
|
||||||
|
'@proj/foo': 1.0.0
|
||||||
|
a-b-c: 2.3.4
|
||||||
|
---
|
||||||
|
|
||||||
|
message
|
||||||
|
"
|
||||||
|
`);
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
export function generateVersionPlanContent(
|
||||||
|
bumps: Record<string, string>,
|
||||||
|
message: string
|
||||||
|
): string {
|
||||||
|
return `---
|
||||||
|
${Object.entries(bumps)
|
||||||
|
.filter(([_, version]) => version !== 'none')
|
||||||
|
.map(([projectOrGroup, version]) => {
|
||||||
|
let key = projectOrGroup;
|
||||||
|
// frontmatter parsing will blow up if we don't wrap @org/package style project names in quotes
|
||||||
|
if (key.startsWith('@')) {
|
||||||
|
key = `'${key}'`;
|
||||||
|
}
|
||||||
|
return `${key}: ${version}`;
|
||||||
|
})
|
||||||
|
.join('\n')}
|
||||||
|
---
|
||||||
|
|
||||||
|
${message}
|
||||||
|
`;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user