diff --git a/lib/constants/languages.ts b/lib/constants/languages.ts new file mode 100644 index 0000000000000000000000000000000000000000..88999d4554690b81d29575bedc19196d6b58161b --- /dev/null +++ b/lib/constants/languages.ts @@ -0,0 +1,12 @@ +export const LANGUAGE_DART = 'dart'; +export const LANGUAGE_DOCKER = 'docker'; +export const LANGUAGE_DOT_NET = 'dotnet'; +export const LANGUAGE_ELIXIR = 'elixir'; +export const LANGUAGE_GOLANG = 'golang'; +export const LANGUAGE_JAVA = 'java'; +export const LANGUAGE_JAVASCRIPT = 'js'; +export const LANGUAGE_NODE = 'node'; +export const LANGUAGE_PHP = 'php'; +export const LANGUAGE_PYTHON = 'python'; +export const LANGUAGE_RUBY = 'ruby'; +export const LANGUAGE_RUST = 'rust'; diff --git a/lib/manager/ansible/index.ts b/lib/manager/ansible/index.ts index 595304a1ea0e7202069fc15d7fd2df5b8b514944..f7021b8eda1b2b4aa301c7404b4adcad1ecf21b6 100644 --- a/lib/manager/ansible/index.ts +++ b/lib/manager/ansible/index.ts @@ -1,6 +1,7 @@ import extractPackageFile from './extract'; import updateDependency from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/bundler/index.ts b/lib/manager/bundler/index.ts index 3cff436f7497d7c28ffbfe9526f3835cb8e08be0..626d12621a2e2446e95a0e20be4f40518f24b9de 100644 --- a/lib/manager/bundler/index.ts +++ b/lib/manager/bundler/index.ts @@ -2,8 +2,9 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; import { updateArtifacts } from './artifacts'; import { getRangeStrategy } from './range'; +import { LANGUAGE_RUBY } from '../../constants/languages'; -const language = 'ruby'; +const language = LANGUAGE_RUBY; /* * Each of the below functions contain some explanations within their own files. diff --git a/lib/manager/cargo/index.ts b/lib/manager/cargo/index.ts index b3e0f380d2758dde45c19da861444f00747516f0..0fed878b98baf6b36ea814381298465848be41d9 100644 --- a/lib/manager/cargo/index.ts +++ b/lib/manager/cargo/index.ts @@ -1,8 +1,9 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; import { updateArtifacts } from './artifacts'; +import { LANGUAGE_RUST } from '../../constants/languages'; -const language = 'rust'; +const language = LANGUAGE_RUST; // TODO: Support this export const supportsLockFileMaintenance = false; diff --git a/lib/manager/circleci/index.ts b/lib/manager/circleci/index.ts index 5705105fe4b3fc5c6ffd85e4a307850d0b81f0a3..fd8a85a4bc28316924dbfb1eca8b3fdc35d2b4c9 100644 --- a/lib/manager/circleci/index.ts +++ b/lib/manager/circleci/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/composer/index.ts b/lib/manager/composer/index.ts index 7bd3bf71b41d702d18951972dbf7da86ec85ab69..4da24f5413f7dab04bcd7f7235f3559811e22e75 100644 --- a/lib/manager/composer/index.ts +++ b/lib/manager/composer/index.ts @@ -2,8 +2,9 @@ import { extractPackageFile } from './extract'; import { updateDependency } from '../npm/update'; import { updateArtifacts } from './artifacts'; import { getRangeStrategy } from './range'; +import { LANGUAGE_PHP } from '../../constants/languages'; -const language = 'php'; +const language = LANGUAGE_PHP; export const supportsLockFileMaintenance = true; export { diff --git a/lib/manager/docker-compose/index.ts b/lib/manager/docker-compose/index.ts index 5705105fe4b3fc5c6ffd85e4a307850d0b81f0a3..fd8a85a4bc28316924dbfb1eca8b3fdc35d2b4c9 100644 --- a/lib/manager/docker-compose/index.ts +++ b/lib/manager/docker-compose/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/dockerfile/index.ts b/lib/manager/dockerfile/index.ts index 5705105fe4b3fc5c6ffd85e4a307850d0b81f0a3..fd8a85a4bc28316924dbfb1eca8b3fdc35d2b4c9 100644 --- a/lib/manager/dockerfile/index.ts +++ b/lib/manager/dockerfile/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/droneci/index.ts b/lib/manager/droneci/index.ts index 5705105fe4b3fc5c6ffd85e4a307850d0b81f0a3..fd8a85a4bc28316924dbfb1eca8b3fdc35d2b4c9 100644 --- a/lib/manager/droneci/index.ts +++ b/lib/manager/droneci/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/github-actions/index.ts b/lib/manager/github-actions/index.ts index 5705105fe4b3fc5c6ffd85e4a307850d0b81f0a3..fd8a85a4bc28316924dbfb1eca8b3fdc35d2b4c9 100644 --- a/lib/manager/github-actions/index.ts +++ b/lib/manager/github-actions/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/gitlabci/index.ts b/lib/manager/gitlabci/index.ts index 5705105fe4b3fc5c6ffd85e4a307850d0b81f0a3..fd8a85a4bc28316924dbfb1eca8b3fdc35d2b4c9 100644 --- a/lib/manager/gitlabci/index.ts +++ b/lib/manager/gitlabci/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; +import { LANGUAGE_DOCKER } from '../../constants/languages'; -const language = 'docker'; +const language = LANGUAGE_DOCKER; export { extractPackageFile, language, updateDependency }; diff --git a/lib/manager/gomod/index.ts b/lib/manager/gomod/index.ts index 6636c89068c943da7b01953eb77b21dfa2695df4..0c057325c25f8140c3645935015c8cc2f97d998d 100644 --- a/lib/manager/gomod/index.ts +++ b/lib/manager/gomod/index.ts @@ -1,6 +1,7 @@ import { extractPackageFile } from './extract'; import { updateDependency } from './update'; import { updateArtifacts } from './artifacts'; +import { LANGUAGE_GOLANG } from '../../constants/languages'; -export const language = 'golang'; +export const language = LANGUAGE_GOLANG; export { extractPackageFile, updateDependency, updateArtifacts }; diff --git a/lib/manager/gradle/index.ts b/lib/manager/gradle/index.ts index e9a4d3ea269dfed9a66da9100ce8a811822b9bbe..b6acbf586291544bd7d97d0f416318042daf230f 100644 --- a/lib/manager/gradle/index.ts +++ b/lib/manager/gradle/index.ts @@ -17,6 +17,7 @@ import { } from './gradle-updates-report'; import { PackageFile, ExtractConfig, Upgrade } from '../common'; import { platform } from '../../platform'; +import { LANGUAGE_JAVA } from '../../constants/languages'; import { MANAGER_GRADLE } from '../../constants/managers'; import { BINARY_SOURCE_DOCKER, @@ -178,4 +179,4 @@ export function updateDependency( ); } -export const language = 'java'; +export const language = LANGUAGE_JAVA; diff --git a/lib/manager/index.ts b/lib/manager/index.ts index f32ed44a281b5a0badfe07b319b89dee06c0766e..a1d874a7753fabb4c3944b357550c47d3b52b1a2 100644 --- a/lib/manager/index.ts +++ b/lib/manager/index.ts @@ -8,6 +8,19 @@ import { PackageUpdateResult, } from './common'; import { RangeStrategy } from '../versioning'; +import { + LANGUAGE_DART, + LANGUAGE_DOCKER, + LANGUAGE_DOT_NET, + LANGUAGE_ELIXIR, + LANGUAGE_GOLANG, + LANGUAGE_JAVASCRIPT, + LANGUAGE_NODE, + LANGUAGE_PHP, + LANGUAGE_PYTHON, + LANGUAGE_RUBY, + LANGUAGE_RUST, +} from '../constants/languages'; import { MANAGER_ANSIBLE, MANAGER_BAZEL, @@ -96,17 +109,17 @@ for (const manager of managerList) { } const languageList = [ - 'dart', - 'docker', - 'dotnet', - 'elixir', - 'golang', - 'js', - 'node', - 'php', - 'python', - 'ruby', - 'rust', + LANGUAGE_DART, + LANGUAGE_DOCKER, + LANGUAGE_DOT_NET, + LANGUAGE_ELIXIR, + LANGUAGE_GOLANG, + LANGUAGE_JAVASCRIPT, + LANGUAGE_NODE, + LANGUAGE_PHP, + LANGUAGE_PYTHON, + LANGUAGE_RUBY, + LANGUAGE_RUST, ]; export const get = <T extends keyof ManagerApi>( diff --git a/lib/manager/kubernetes/index.ts b/lib/manager/kubernetes/index.ts index c356e13fd898b905f8f07f0aa9cd9362dd6be94d..2fa3dba3b3a9af38b5dd6ebec777db8a459532ac 100644 --- a/lib/manager/kubernetes/index.ts +++ b/lib/manager/kubernetes/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_DOCKER } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; -export const language = 'docker'; +export const language = LANGUAGE_DOCKER; diff --git a/lib/manager/maven/index.ts b/lib/manager/maven/index.ts index 683d30f630ee84659c533e4f1acbb006f17133e1..f66ffe8b6f16f8a3b08970641d97243c69f74761 100644 --- a/lib/manager/maven/index.ts +++ b/lib/manager/maven/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_JAVA } from '../../constants/languages'; + export { extractAllPackageFiles } from './extract'; export { updateDependency } from './update'; -export const language = 'java'; +export const language = LANGUAGE_JAVA; diff --git a/lib/manager/meteor/index.ts b/lib/manager/meteor/index.ts index 8704d70aec4af354e7d4b8836b7c099379c77257..d98321add2e30d28e41a7907ac89c2beff055d0b 100644 --- a/lib/manager/meteor/index.ts +++ b/lib/manager/meteor/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_JAVASCRIPT } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; -export const language = 'js'; +export const language = LANGUAGE_JAVASCRIPT; diff --git a/lib/manager/mix/index.ts b/lib/manager/mix/index.ts index ed11a06c48731efd6b8dbdcc360e6f9d8bb108fe..74daad63071b37144eeb70439c09b287779f5143 100644 --- a/lib/manager/mix/index.ts +++ b/lib/manager/mix/index.ts @@ -1,5 +1,7 @@ +import { LANGUAGE_ELIXIR } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; export { updateArtifacts } from './artifacts'; -export const language = 'elixir'; +export const language = LANGUAGE_ELIXIR; diff --git a/lib/manager/npm/index.ts b/lib/manager/npm/index.ts index 77f6c1cec305cacf25d2c1863a582cea9f663c9e..4a720f6ace6403907d02ba6812fe605507de0606 100644 --- a/lib/manager/npm/index.ts +++ b/lib/manager/npm/index.ts @@ -1,6 +1,8 @@ +import { LANGUAGE_JAVASCRIPT } from '../../constants/languages'; + export { extractAllPackageFiles } from './extract'; export { updateDependency } from './update'; export { getRangeStrategy } from './range'; -export const language = 'js'; +export const language = LANGUAGE_JAVASCRIPT; export const supportsLockFileMaintenance = true; diff --git a/lib/manager/nuget/index.ts b/lib/manager/nuget/index.ts index 721267a6f9cae10881109d471363f1aefc1ec3fa..2247443f31cfec6f9d035fb429621a72dd9b1a54 100644 --- a/lib/manager/nuget/index.ts +++ b/lib/manager/nuget/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_DOT_NET } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; -export const language = 'dotnet'; +export const language = LANGUAGE_DOT_NET; diff --git a/lib/manager/nvm/index.ts b/lib/manager/nvm/index.ts index e5ce4fd8d10ac0455b7de9dff4a1e96fb624fb5f..5a1a44228c0ef3cbd2a264e8927428ed88953c8b 100644 --- a/lib/manager/nvm/index.ts +++ b/lib/manager/nvm/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_NODE } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; -export const language = 'node'; +export const language = LANGUAGE_NODE; diff --git a/lib/manager/pip_requirements/index.ts b/lib/manager/pip_requirements/index.ts index 4737e5fb3745bb06a14167c5aec73a45e3ce0444..e4f823e0cb9f61b548d94c3ef7362e953d3646b2 100644 --- a/lib/manager/pip_requirements/index.ts +++ b/lib/manager/pip_requirements/index.ts @@ -1,5 +1,7 @@ +import { LANGUAGE_PYTHON } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; export { getRangeStrategy } from './range'; -export const language = 'python'; +export const language = LANGUAGE_PYTHON; diff --git a/lib/manager/pip_setup/index.ts b/lib/manager/pip_setup/index.ts index 816d4c0336b38314f237d5f222b339fc27b8eb05..c7d178c520ba034681f0bbff255fa15c5aee598b 100644 --- a/lib/manager/pip_setup/index.ts +++ b/lib/manager/pip_setup/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_PYTHON } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from '../pip_requirements/update'; -export const language = 'python'; +export const language = LANGUAGE_PYTHON; diff --git a/lib/manager/pipenv/index.ts b/lib/manager/pipenv/index.ts index 29e3d697e21f093db11a549556a2c568b1ad1d9c..0141fb6fcc4dad021e7927a3274031de845137e1 100644 --- a/lib/manager/pipenv/index.ts +++ b/lib/manager/pipenv/index.ts @@ -1,5 +1,7 @@ +import { LANGUAGE_PYTHON } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; export { updateArtifacts } from './artifacts'; -export const language = 'python'; +export const language = LANGUAGE_PYTHON; diff --git a/lib/manager/poetry/index.ts b/lib/manager/poetry/index.ts index 62e8aafece55f975fffabd4264350ffbaabcee61..d5d3b9c9a8c6ff020de4d6ace8cc5c5593ff3e6c 100644 --- a/lib/manager/poetry/index.ts +++ b/lib/manager/poetry/index.ts @@ -1,6 +1,8 @@ +import { LANGUAGE_PYTHON } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; export { updateArtifacts } from './artifacts'; -export const language = 'python'; +export const language = LANGUAGE_PYTHON; export const supportsLockFileMaintenance = false; diff --git a/lib/manager/ruby-version/index.ts b/lib/manager/ruby-version/index.ts index 3c09a2db01cf681112a02f94a94bf95c5f17b0c7..8903806a3864f7c422b04cd08357f70141cefc0c 100644 --- a/lib/manager/ruby-version/index.ts +++ b/lib/manager/ruby-version/index.ts @@ -1,4 +1,6 @@ +import { LANGUAGE_RUBY } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { updateDependency } from './update'; -export const language = 'ruby'; +export const language = LANGUAGE_RUBY; diff --git a/lib/manager/travis/index.ts b/lib/manager/travis/index.ts index 91796056c605fd2c5cb365f4c2b6986bec1c04c5..1dd505999ca63cf474924f9665fd24bbc5856bcd 100644 --- a/lib/manager/travis/index.ts +++ b/lib/manager/travis/index.ts @@ -1,5 +1,7 @@ +import { LANGUAGE_NODE } from '../../constants/languages'; + export { extractPackageFile } from './extract'; export { getPackageUpdates } from './package'; export { updateDependency } from './update'; -export const language = 'node'; +export const language = LANGUAGE_NODE; diff --git a/lib/workers/repository/updates/flatten.ts b/lib/workers/repository/updates/flatten.ts index 83d12cbacf0011dfe88268c2eb12bc4c16e535e1..10b96e11219577b46996e4835c6bd6dbe28fe73a 100644 --- a/lib/workers/repository/updates/flatten.ts +++ b/lib/workers/repository/updates/flatten.ts @@ -8,6 +8,7 @@ import { } from '../../../config'; import { applyPackageRules } from '../../../util/package-rules'; import { get } from '../../../manager'; +import { LANGUAGE_DOCKER } from '../../../constants/languages'; // Return only rules that contain an updateType function getUpdateTypeRules(packageRules: PackageRule[]): PackageRule[] { @@ -63,7 +64,7 @@ export function flattenUpdates( .toLowerCase() : undefined; if ( - updateConfig.language === 'docker' && + updateConfig.language === LANGUAGE_DOCKER && updateConfig.depName.match(/(^|\/)node$/) && updateConfig.depName !== 'calico/node' ) { diff --git a/test/util/package-rules.spec.ts b/test/util/package-rules.spec.ts index 7dfea634b15ad330b9993832c1e16c92c26aae59..e12a562f281d6a1dc7ccf9cd65abf64c2a8e479f 100644 --- a/test/util/package-rules.spec.ts +++ b/test/util/package-rules.spec.ts @@ -1,5 +1,11 @@ import { applyPackageRules, Config } from '../../lib/util/package-rules'; import { UpdateType } from '../../lib/config'; +import { + LANGUAGE_DOCKER, + LANGUAGE_JAVASCRIPT, + LANGUAGE_NODE, + LANGUAGE_PYTHON, +} from '../../lib/constants/languages'; import { MANAGER_DOCKERFILE, MANAGER_METEOR, @@ -195,7 +201,7 @@ describe('applyPackageRules()', () => { }; const dep = { depType: 'dependencies', - language: 'js', + language: LANGUAGE_JAVASCRIPT, manager: MANAGER_METEOR, depName: 'node', }; @@ -214,7 +220,7 @@ describe('applyPackageRules()', () => { }; const dep = { depType: 'dependencies', - language: 'python', + language: LANGUAGE_PYTHON, manager: MANAGER_PIPENV, depName: 'node', }; @@ -225,7 +231,7 @@ describe('applyPackageRules()', () => { const config: TestConfig = { packageRules: [ { - languages: ['js', 'node'], + languages: [LANGUAGE_JAVASCRIPT, LANGUAGE_NODE], packageNames: ['node'], x: 1, }, @@ -233,7 +239,7 @@ describe('applyPackageRules()', () => { }; const dep = { depType: 'dependencies', - language: 'js', + language: LANGUAGE_JAVASCRIPT, manager: MANAGER_METEOR, depName: 'node', }; @@ -244,7 +250,7 @@ describe('applyPackageRules()', () => { const config: TestConfig = { packageRules: [ { - languages: ['docker'], + languages: [LANGUAGE_DOCKER], packageNames: ['node'], x: 1, }, @@ -252,7 +258,7 @@ describe('applyPackageRules()', () => { }; const dep = { depType: 'dependencies', - language: 'python', + language: LANGUAGE_PYTHON, manager: MANAGER_PIPENV, depName: 'node', }; diff --git a/test/workers/repository/updates/flatten.spec.ts b/test/workers/repository/updates/flatten.spec.ts index 8d8a66346e4352a8553796d1615da45ad3e455b3..e799e68564522427cc52ede1b1b0e35a2856316c 100644 --- a/test/workers/repository/updates/flatten.spec.ts +++ b/test/workers/repository/updates/flatten.spec.ts @@ -1,6 +1,7 @@ import { RenovateConfig, getConfig } from '../../../util'; import { flattenUpdates } from '../../../../lib/workers/repository/updates/flatten'; +import { LANGUAGE_DOCKER } from '../../../../lib/constants/languages'; let config: RenovateConfig; beforeEach(() => { @@ -54,7 +55,7 @@ describe('workers/repository/updates/flatten', () => { deps: [ { depName: 'amd64/node', - language: 'docker', + language: LANGUAGE_DOCKER, updates: [{ newValue: '10.0.1' }], }, ], @@ -64,7 +65,7 @@ describe('workers/repository/updates/flatten', () => { deps: [ { depName: 'calico/node', - language: 'docker', + language: LANGUAGE_DOCKER, updates: [{ newValue: '3.2.0' }], }, ],