Skip to content

Commit

Permalink
refactor: centralize lookup types
Browse files Browse the repository at this point in the history
  • Loading branch information
rarkins committed Feb 18, 2021
1 parent 71e26d8 commit e7f2bee
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 60 deletions.
3 changes: 2 additions & 1 deletion lib/workers/repository/process/fetch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ import { PackageDependency, PackageFile } from '../../../manager/common';
import { SkipReason } from '../../../types';
import { clone } from '../../../util/clone';
import { applyPackageRules } from '../../../util/package-rules';
import { LookupUpdateConfig, lookupUpdates } from './lookup';
import { lookupUpdates } from './lookup';
import { LookupUpdateConfig } from './lookup/common';

async function fetchDepUpdates(
packageFileConfig: ManagerConfig & PackageFile,
Expand Down
53 changes: 53 additions & 0 deletions lib/workers/repository/process/lookup/common.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { RenovateConfig, ValidationMessage } from '../../../../config/common';
import { Release } from '../../../../datasource';
import { LookupUpdate, RangeConfig } from '../../../../manager/common';
import { SkipReason } from '../../../../types';

export interface FilterConfig {
allowedVersions?: string;
depName?: string;
followTag?: string;
ignoreDeprecated?: boolean;
ignoreUnstable?: boolean;
respectLatest?: boolean;
versioning: string;
}

export interface RollbackConfig {
currentValue?: string;
depName?: string;
packageFile?: string;
versioning: string;
}

export interface LookupUpdateConfig
extends RollbackConfig,
FilterConfig,
RangeConfig,
RenovateConfig {
separateMinorPatch?: boolean;
digestOneAndOnly?: boolean;
pinDigests?: boolean;
rollbackPrs?: boolean;
currentDigest?: string;
lockedVersion?: string;
vulnerabilityAlert?: boolean;
separateMajorMinor?: boolean;
separateMultipleMajor?: boolean;
datasource: string;
depName: string;
}

export interface UpdateResult {
sourceDirectory?: string;
changelogUrl?: string;
dependencyUrl?: string;
homepage?: string;
deprecationMessage?: string;
sourceUrl?: string;
skipReason: SkipReason;
releases: Release[];
fixedVersion?: string;
updates: LookupUpdate[];
warnings: ValidationMessage[];
}
11 changes: 1 addition & 10 deletions lib/workers/repository/process/lookup/filter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,7 @@ import * as allVersioning from '../../../../versioning';
import * as npmVersioning from '../../../../versioning/npm';
import * as pep440 from '../../../../versioning/pep440';
import * as poetryVersioning from '../../../../versioning/poetry';

export interface FilterConfig {
allowedVersions?: string;
depName?: string;
followTag?: string;
ignoreDeprecated?: boolean;
ignoreUnstable?: boolean;
respectLatest?: boolean;
versioning: string;
}
import { FilterConfig } from './common';

export function filterVersions(
config: FilterConfig,
Expand Down
5 changes: 3 additions & 2 deletions lib/workers/repository/process/lookup/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { id as gitVersioningId } from '../../../../versioning/git';
import { id as npmVersioningId } from '../../../../versioning/npm';
import { id as pep440VersioningId } from '../../../../versioning/pep440';
import { id as poetryVersioningId } from '../../../../versioning/poetry';
import { LookupUpdateConfig } from './common';
import * as lookup from '.';

jest.mock('../../../../datasource/docker');
Expand All @@ -37,12 +38,12 @@ const githubReleases = mocked(datasourceGithubReleases);

Object.assign(githubReleases, { defaultRegistryUrls: ['https://github.com'] });

let config: lookup.LookupUpdateConfig;
let config: LookupUpdateConfig;

describe('workers/repository/process/lookup', () => {
beforeEach(() => {
// TODO: fix types
config = partial<lookup.LookupUpdateConfig>(getConfig());
config = partial<LookupUpdateConfig>(getConfig());
config.manager = 'npm';
config.versioning = npmVersioningId;
config.rangeStrategy = 'replace';
Expand Down
45 changes: 5 additions & 40 deletions lib/workers/repository/process/lookup/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
import {
RenovateConfig,
UpdateType,
ValidationMessage,
} from '../../../../config';
import { UpdateType, ValidationMessage } from '../../../../config';
import {
Release,
getDefaultVersioning,
Expand All @@ -14,45 +10,14 @@ import {
import * as datasourceGitSubmodules from '../../../../datasource/git-submodules';
import { logger } from '../../../../logger';
import { getRangeStrategy } from '../../../../manager';
import { LookupUpdate, RangeConfig } from '../../../../manager/common';
import { LookupUpdate } from '../../../../manager/common';
import { SkipReason } from '../../../../types';
import { clone } from '../../../../util/clone';
import { applyPackageRules } from '../../../../util/package-rules';
import * as allVersioning from '../../../../versioning';
import { FilterConfig, filterVersions } from './filter';
import { RollbackConfig, getRollbackUpdate } from './rollback';

export interface UpdateResult {
sourceDirectory?: string;
changelogUrl?: string;
dependencyUrl?: string;
homepage?: string;
deprecationMessage?: string;
sourceUrl?: string;
skipReason: SkipReason;
releases: Release[];
fixedVersion?: string;
updates: LookupUpdate[];
warnings: ValidationMessage[];
}

export interface LookupUpdateConfig
extends RollbackConfig,
FilterConfig,
RangeConfig,
RenovateConfig {
separateMinorPatch?: boolean;
digestOneAndOnly?: boolean;
pinDigests?: boolean;
rollbackPrs?: boolean;
currentDigest?: string;
lockedVersion?: string;
vulnerabilityAlert?: boolean;
separateMajorMinor?: boolean;
separateMultipleMajor?: boolean;
datasource: string;
depName: string;
}
import { LookupUpdateConfig, UpdateResult } from './common';
import { filterVersions } from './filter';
import { getRollbackUpdate } from './rollback';

function getUpdateType(
config: LookupUpdateConfig,
Expand Down
8 changes: 1 addition & 7 deletions lib/workers/repository/process/lookup/rollback.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,7 @@ import { Release } from '../../../../datasource/common';
import { logger } from '../../../../logger';
import { LookupUpdate } from '../../../../manager/common';
import * as allVersioning from '../../../../versioning';

export interface RollbackConfig {
currentValue?: string;
depName?: string;
packageFile?: string;
versioning: string;
}
import { RollbackConfig } from './common';

export function getRollbackUpdate(
config: RollbackConfig,
Expand Down

0 comments on commit e7f2bee

Please sign in to comment.