From 76cb6cf40d2e80f422dc80a8840122e0b78f1319 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Thu, 27 Feb 2020 14:54:45 +0100 Subject: [PATCH] refactor: remove DATASOURCE_ constants from presets --- .../presets/__snapshots__/index.spec.ts.snap | 32 +++++++++---------- lib/config/presets/github.ts | 3 +- lib/config/presets/index.ts | 28 ++++++---------- 3 files changed, 27 insertions(+), 36 deletions(-) diff --git a/lib/config/presets/__snapshots__/index.spec.ts.snap b/lib/config/presets/__snapshots__/index.spec.ts.snap index 47698dfb1c..3a7041cf74 100644 --- a/lib/config/presets/__snapshots__/index.spec.ts.snap +++ b/lib/config/presets/__snapshots__/index.spec.ts.snap @@ -82,93 +82,92 @@ Object { exports[`config/presets parsePreset parses github 1`] = ` Object { - "datasource": "github", "packageName": "some/repo", "params": undefined, "presetName": "default", + "presetSource": "github", } `; exports[`config/presets parsePreset parses gitlab 1`] = ` Object { - "datasource": "gitlab", "packageName": "some/repo", "params": undefined, "presetName": "default", + "presetSource": "gitlab", } `; exports[`config/presets parsePreset returns default package name 1`] = ` Object { - "datasource": "npm", "packageName": "renovate-config-default", "params": undefined, "presetName": "base", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns default package name with params 1`] = ` Object { - "datasource": "npm", "packageName": "renovate-config-default", "params": Array [ "packages/eslint", "eslint", ], "presetName": "group", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns non-scoped default 1`] = ` Object { - "datasource": "npm", "packageName": "renovate-config-somepackage", "params": undefined, "presetName": "default", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns non-scoped package name 1`] = ` Object { - "datasource": "npm", "packageName": "renovate-config-somepackage", "params": undefined, "presetName": "webapp", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns non-scoped package name full 1`] = ` Object { - "datasource": "npm", "packageName": "renovate-config-somepackage", "params": undefined, "presetName": "webapp", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns non-scoped package name with params 1`] = ` Object { - "datasource": "npm", "packageName": "renovate-config-somepackage", "params": Array [ "param1", ], "presetName": "webapp", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns scope with packageName and default 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/somepackagename", "params": undefined, "presetName": "default", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns scope with packageName and params and default 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/somepackagename", "params": Array [ "param1", @@ -176,67 +175,68 @@ Object { "param3", ], "presetName": "default", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns scope with packageName and presetName 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/somepackagename", "params": undefined, "presetName": "somePresetName", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns scope with packageName and presetName and params 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/somepackagename", "params": Array [ "param1", "param2", ], "presetName": "somePresetName", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns scope with presetName 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/renovate-config", "params": undefined, "presetName": "somePresetName", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns scope with presetName and params 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/renovate-config", "params": Array [ "param1", ], "presetName": "somePresetName", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns simple scope 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/renovate-config", "params": undefined, "presetName": "default", + "presetSource": "npm", } `; exports[`config/presets parsePreset returns simple scope and params 1`] = ` Object { - "datasource": "npm", "packageName": "@somescope/renovate-config", "params": Array [ "param1", ], "presetName": "default", + "presetSource": "npm", } `; diff --git a/lib/config/presets/github.ts b/lib/config/presets/github.ts index 34f82642a7..175c7dbb82 100644 --- a/lib/config/presets/github.ts +++ b/lib/config/presets/github.ts @@ -2,7 +2,6 @@ import { logger } from '../../logger'; import { Preset } from './common'; import got, { GotJSONOptions } from '../../util/got'; import { PLATFORM_FAILURE } from '../../constants/error-messages'; -import { DATASOURCE_GITHUB } from '../../constants/data-binary-source'; async function fetchJSONFile(repo: string, fileName: string): Promise<Preset> { const url = `https://api.github.com/repos/${repo}/contents/${fileName}`; @@ -13,7 +12,7 @@ async function fetchJSONFile(repo: string, fileName: string): Promise<Preset> { : 'application/vnd.github.v3+json', }, json: true, - hostType: DATASOURCE_GITHUB, + hostType: 'github', }; let res: { body: { content: string } }; try { diff --git a/lib/config/presets/index.ts b/lib/config/presets/index.ts index 2092f55c8e..ae21cfda83 100644 --- a/lib/config/presets/index.ts +++ b/lib/config/presets/index.ts @@ -13,13 +13,8 @@ import { DATASOURCE_FAILURE, PLATFORM_FAILURE, } from '../../constants/error-messages'; -import { - DATASOURCE_GITHUB, - DATASOURCE_GITLAB, - DATASOURCE_NPM, -} from '../../constants/data-binary-source'; -const datasources = { +const presetSources = { github, npm, gitlab, @@ -56,19 +51,19 @@ export function replaceArgs( export function parsePreset(input: string): ParsedPreset { let str = input; - let datasource: string; + let presetSource: string; let packageName: string; let presetName: string; let params: string[]; if (str.startsWith('github>')) { - datasource = DATASOURCE_GITHUB; + presetSource = 'github'; str = str.substring('github>'.length); } else if (str.startsWith('gitlab>')) { - datasource = DATASOURCE_GITLAB; + presetSource = 'gitlab'; str = str.substring('gitlab>'.length); } str = str.replace(/^npm>/, ''); - datasource = datasource || DATASOURCE_NPM; + presetSource = presetSource || 'npm'; if (str.includes('(')) { params = str .slice(str.indexOf('(') + 1, -1) @@ -96,23 +91,20 @@ export function parsePreset(input: string): ParsedPreset { // non-scoped namespace [, packageName] = /(.*?)(:|$)/.exec(str); presetName = str.slice(packageName.length + 1); - if ( - datasource === DATASOURCE_NPM && - !packageName.startsWith('renovate-config-') - ) { + if (presetSource === 'npm' && !packageName.startsWith('renovate-config-')) { packageName = `renovate-config-${packageName}`; } if (presetName === '') { presetName = 'default'; } } - return { datasource, packageName, presetName, params }; + return { presetSource, packageName, presetName, params }; } export async function getPreset(preset: string): Promise<RenovateConfig> { logger.trace(`getPreset(${preset})`); - const { datasource, packageName, presetName, params } = parsePreset(preset); - let presetConfig = await datasources[datasource].getPreset( + const { presetSource, packageName, presetName, params } = parsePreset(preset); + let presetConfig = await presetSources[presetSource].getPreset( packageName, presetName ); @@ -254,7 +246,7 @@ export async function resolveConfigPresets( } export interface ParsedPreset { - datasource: string; + presetSource: string; packageName: string; presetName: string; params?: string[]; -- GitLab