Select Git revision
generate.ts
generate.ts 10.72 KiB
import { DateTime } from 'luxon';
import semver from 'semver';
import mdTable from 'markdown-table';
import { logger } from '../../../logger';
import { mergeChildConfig } from '../../../config';
import { BranchConfig, BranchUpgradeConfig } from '../../common';
import * as template from '../../../util/template';
function ifTypesGroup(
depNames: string[],
hasGroupName: boolean,
branchUpgrades: any[]
): boolean {
return (
depNames.length === 2 &&
!hasGroupName &&
((branchUpgrades[0].depName &&
branchUpgrades[0].depName.startsWith('@types/') &&
branchUpgrades[0].depName.endsWith(branchUpgrades[1].depName)) ||
(branchUpgrades[1].depName &&
branchUpgrades[1].depName.startsWith('@types/') &&
branchUpgrades[1].depName.endsWith(branchUpgrades[0].depName)))
);
}
function getTableValues(
upgrade: BranchUpgradeConfig
): [string, string, string, string] | null {
if (!upgrade.commitBodyTable) {
return null;
}
const {
datasource,
lookupName,
depName,
fromVersion,
toVersion,
displayFrom,
displayTo,
} = upgrade;
const name = lookupName || depName;
const from = fromVersion || displayFrom;
const to = toVersion || displayTo;
if (datasource && name && from && to) {
return [datasource, name, from, to];
}
logger.debug(
{
datasource,
lookupName,
depName,
fromVersion,
toVersion,
displayFrom,
displayTo,
},
'Cannot determine table values'
);
return null;
}
export function generateBranchConfig(
branchUpgrades: BranchUpgradeConfig[]
): BranchConfig {
logger.trace({ config: branchUpgrades }, 'generateBranchConfig');
let config: BranchConfig = {
upgrades: [],
} as any;
const hasGroupName = branchUpgrades[0].groupName !== null;
logger.trace(`hasGroupName: ${hasGroupName}`);