Skip to content
Snippets Groups Projects
Select Git revision
21 results Searching

generate.ts

Blame
  • 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}`);