diff --git a/lib/datasource/packagist/index.js b/lib/datasource/packagist/index.js index 2eff397eea2b9ab54ce1454c477bbd33f5c335af..6ee2be8783302d6cd563d46c2ff5b16212dceb3f 100644 --- a/lib/datasource/packagist/index.js +++ b/lib/datasource/packagist/index.js @@ -253,36 +253,17 @@ async function packageLookup(regUrl, name) { async function getPkgReleases({ lookupName, registryUrls }) { logger.trace(`getPkgReleases(${lookupName})`); - const regUrls = []; - if (registryUrls) { - for (const regUrl of registryUrls) { - if (regUrl.type === 'composer') { - regUrls.push(regUrl.url); - } else if (regUrl.type === 'package') { - logger.info({ regUrl }, 'Skipping package repository entry'); - } else if (regUrl['packagist.org'] !== false) { - logger.info({ regUrl }, 'Unsupported Packagist registry URL'); - } - } - } - if (regUrls.length > 0) { - logger.debug({ regUrls }, 'Packagist custom registry URLs'); - } - if ( - !is.nonEmptyArray(registryUrls) || - registryUrls[registryUrls.length - 1]['packagist.org'] !== false - ) { - regUrls.push('https://packagist.org'); - } else { - logger.debug('Disabling packagist.org'); - } let res; - for (const regUrl of regUrls) { - res = await packageLookup(regUrl, lookupName); - if (res) { - break; + if (is.nonEmptyArray(registryUrls)) { + for (const regUrl of registryUrls) { + res = await packageLookup(regUrl, lookupName); + if (res) { + break; + } } + } /* istanbul ignore next */ else { + logger.debug({ lookupName }, 'No registryUrls defined'); } return res; } diff --git a/lib/manager/common.ts b/lib/manager/common.ts index 588773bd97144941fb3894c9a3e6f92e2870c802..9ed94d1035a809ff9c9a14be3ff28f40ae116a6c 100644 --- a/lib/manager/common.ts +++ b/lib/manager/common.ts @@ -6,7 +6,7 @@ export type Result<T> = T | Promise<T>; export interface ManagerConfig { binarySource?: string; localDir?: string; - registryUrls?: (string | Registry)[]; + registryUrls?: string[]; } export interface ManagerData<T> { @@ -53,11 +53,6 @@ export interface RangeConfig<T = Record<string, any>> extends ManagerData<T> { rangeStrategy: RangeStrategy; } -export interface Registry { - type?: string; - url: string; -} - export interface NpmLockFiles { yarnIntegrity?: boolean; yarnLock?: string; @@ -75,7 +70,7 @@ export interface PackageFile<T = Record<string, any>> internalPackages?: string[]; compatibility?: Record<string, string>; datasource?: string; - registryUrls?: (string | Registry)[]; + registryUrls?: string[]; deps: PackageDependency[]; ignoreNpmrcFile?: boolean; lernaClient?: string; diff --git a/lib/manager/composer/artifacts.ts b/lib/manager/composer/artifacts.ts index 8ce8a4bcfc4e19382e9b5a53057f78dc60304985..87655c6a1901e59ab643212480dac20090e2028c 100644 --- a/lib/manager/composer/artifacts.ts +++ b/lib/manager/composer/artifacts.ts @@ -3,7 +3,7 @@ import URL from 'url'; import fs from 'fs-extra'; import upath from 'upath'; import { exec } from '../../util/exec'; -import { UpdateArtifactsConfig, Registry } from '../common'; +import { UpdateArtifactsConfig } from '../common'; import { logger } from '../../logger'; import * as hostRules from '../../util/host-rules'; import { getChildProcessEnv } from '../../util/env'; @@ -61,12 +61,12 @@ export async function updateArtifacts( try { // istanbul ignore else if (is.array(config.registryUrls)) { - for (const regUrl of config.registryUrls as Registry[]) { - if (regUrl.url) { - const { host } = URL.parse(regUrl.url); + for (const regUrl of config.registryUrls as string[]) { + if (regUrl) { + const { host } = URL.parse(regUrl); const hostRule = hostRules.find({ hostType: 'packagist', - url: regUrl.url, + url: regUrl, }); // istanbul ignore else if (hostRule.username && hostRule.password) { @@ -77,7 +77,7 @@ export async function updateArtifacts( password: hostRule.password, }; } else { - logger.debug('No packagist auth found for ' + regUrl.url); + logger.debug('No packagist auth found for ' + regUrl); } } } diff --git a/lib/manager/composer/extract.ts b/lib/manager/composer/extract.ts index fe985b006400e9f5b0ceb5c733a06e8a753cd845..f115a4356e30e004fb6cf8f86e1a4c634dbbeb79 100644 --- a/lib/manager/composer/extract.ts +++ b/lib/manager/composer/extract.ts @@ -1,18 +1,25 @@ import is from '@sindresorhus/is'; import { logger } from '../../logger'; import { api as semverComposer } from '../../versioning/composer'; -import { PackageFile, PackageDependency, Registry } from '../common'; +import { PackageFile, PackageDependency } from '../common'; interface Repo { name?: string; type: 'composer' | 'git' | 'package' | 'vcs'; - + packagist?: boolean; + 'packagist.org'?: boolean; url: string; } interface ComposerConfig { type?: string; - repositories: Record<string, Repo>; + /** + * A repositories field can be an array of Repo objects or an object of repoName: Repo + * Also it can be a boolean (usually false) to disable packagist. + * (Yes this can be confusing, as it is also not properly documented in the composer docs) + * See https://getcomposer.org/doc/05-repositories.md#disabling-packagist-org + */ + repositories: Record<string, Repo | boolean> | Repo[]; require: Record<string, string>; 'require-dev': Record<string, string>; @@ -29,25 +36,43 @@ interface ComposerConfig { * @param registryUrls */ function parseRepositories( - repoJson: Record<string, Repo>, + repoJson: ComposerConfig['repositories'], repositories: Record<string, Repo>, - registryUrls: Registry[] + registryUrls: string[] ) { try { + let packagist = true; Object.entries(repoJson).forEach(([key, repo]) => { - const name = is.array(repoJson) ? repo.name : key; - switch (repo.type) { - case 'vcs': - case 'git': - // eslint-disable-next-line no-param-reassign - repositories[name] = repo; - break; - default: - // TODO: only add required props - registryUrls.push(repo); - break; + if (is.object(repo)) { + const name = is.array(repoJson) ? repo.name : key; + // eslint-disable-next-line default-case + switch (repo.type) { + case 'vcs': + case 'git': + // eslint-disable-next-line no-param-reassign + repositories[name] = repo; + break; + case 'composer': + registryUrls.push(repo.url); + break; + case 'package': + logger.info({ url: repo.url }, 'type package is not supported yet'); + } + if (repo.packagist === false || repo['packagist.org'] === false) { + packagist = false; + } + } else if ( + ['packagist', 'packagist.org'].includes(key) && + repo === false + ) { + packagist = false; } }); + if (packagist) { + registryUrls.push('https://packagist.org'); + } else { + logger.debug('Disabling packagist.org'); + } } catch (e) /* istanbul ignore next */ { logger.info( { repositories: repoJson }, @@ -66,7 +91,7 @@ export async function extractPackageFile(content: string, fileName: string) { return null; } const repositories: Record<string, Repo> = {}; - const registryUrls: Registry[] = []; + const registryUrls: string[] = []; const res: PackageFile = { deps: [] }; // handle lockfile @@ -88,6 +113,8 @@ export async function extractPackageFile(content: string, fileName: string) { } if (registryUrls.length !== 0) { res.registryUrls = registryUrls; + } else { + logger.warn({ fileName }, 'No registryUrls defined (packagist disabled)'); } const deps = []; const depTypes = ['require', 'require-dev']; diff --git a/lib/manager/pip_requirements/extract.ts b/lib/manager/pip_requirements/extract.ts index fde9321fbea43874eff9a9aa842528906f6f6214..37efc021630ae3234bb941dd88e37d92b71de4bf 100644 --- a/lib/manager/pip_requirements/extract.ts +++ b/lib/manager/pip_requirements/extract.ts @@ -3,12 +3,7 @@ import { RANGE_PATTERN as rangePattern } from '@renovate/pep440/lib/specifier'; import { logger } from '../../logger'; import { isSkipComment } from '../../util/ignore'; import { isValid, isSingleVersion } from '../../versioning/pep440'; -import { - ExtractConfig, - Registry, - PackageDependency, - PackageFile, -} from '../common'; +import { ExtractConfig, PackageDependency, PackageFile } from '../common'; export const packagePattern = '[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]'; @@ -38,7 +33,7 @@ export function extractPackageFile( extraUrls.push(extraUrl); } }); - let registryUrls: (string | Registry)[] = []; + let registryUrls: string[] = []; if (indexUrl) { // index url in file takes precedence registryUrls.push(indexUrl); diff --git a/test/datasource/packagist.spec.js b/test/datasource/packagist.spec.js index 8fc2922b6be142166f7d8488aa556438e287e60f..8046ab8a1a6abd1d0f1926d88441d9854813b4db 100644 --- a/test/datasource/packagist.spec.js +++ b/test/datasource/packagist.spec.js @@ -30,10 +30,8 @@ describe('datasource/packagist', () => { datasource: 'packagist', versionScheme: 'composer', registryUrls: [ - { - type: 'composer', - url: 'https://composer.renovatebot.com', - }, + 'https://composer.renovatebot.com', + 'https://packagist.org', ], }; return global.renovateCache.rmAll(); @@ -41,30 +39,7 @@ describe('datasource/packagist', () => { it('supports custom registries', async () => { config = { datasource: 'packagist', - registryUrls: [ - { - type: 'composer', - url: 'https://composer.renovatebot.com', - }, - { - type: 'unknown', - }, - { - type: 'package', - package: { - name: 'abc/def', - type: 'wordpress-theme', - version: '1.2.6', - dist: { - type: 'zip', - url: 'https://github.com/abc/def/archive/v1.2.6.zip', - }, - }, - }, - { - 'packagist.org': false, - }, - ], + registryUrls: ['https://composer.renovatebot.com'], }; const res = await datasource.getPkgReleases({ ...config, @@ -236,7 +211,7 @@ describe('datasource/packagist', () => { got.mockReturnValueOnce({ body: JSON.parse(mailchimpJson), }); - delete config.registryUrls; + config.registryUrls = ['https://packagist.org']; expect( await datasource.getPkgReleases({ ...config, diff --git a/test/manager/composer/__snapshots__/extract.spec.ts.snap b/test/manager/composer/__snapshots__/extract.spec.ts.snap index 3b42ee38d9273f4d88771f06f144b390e3ab5b90..a67ddb617b3a644409bab762f98b3765641ae9ad 100644 --- a/test/manager/composer/__snapshots__/extract.spec.ts.snap +++ b/test/manager/composer/__snapshots__/extract.spec.ts.snap @@ -532,34 +532,7 @@ Object { "composerJsonType": "project", }, "registryUrls": Array [ - Object { - "type": "composer", - "url": "https://wpackagist.org", - }, - Object { - "package": Object { - "dist": Object { - "type": "zip", - "url": "https://github.com/asha23/wp-seed-timber/archive/v1.2.6.zip", - }, - "name": "asha23/wp-seed-timber", - "type": "wordpress-theme", - "version": "1.2.6", - }, - "type": "package", - }, - Object { - "package": Object { - "dist": Object { - "type": "zip", - "url": "https://github.com/corysimmons/wp-sync-db/archive/1.6.zip", - }, - "name": "wp-sync-db/wp-sync-db", - "type": "wordpress-plugin", - "version": "1.5", - }, - "type": "package", - }, + "https://wpackagist.org", ], } `; @@ -593,10 +566,8 @@ Object { }, ], "registryUrls": Array [ - Object { - "type": "composer", - "url": "https://wpackagist.org", - }, + "https://wpackagist.org", + "https://packagist.org", ], } `; @@ -633,10 +604,7 @@ Object { }, ], "registryUrls": Array [ - Object { - "type": "composer", - "url": "https://wpackagist.org", - }, + "https://wpackagist.org", ], } `; @@ -668,10 +636,8 @@ Object { }, ], "registryUrls": Array [ - Object { - "type": "composer", - "url": "https://wpackagist.org", - }, + "https://wpackagist.org", + "https://packagist.org", ], } `; diff --git a/test/manager/composer/_fixtures/composer1.json b/test/manager/composer/_fixtures/composer1.json index 84c31421b7735b1c0eeb0d0688e5e74ac8757bd8..1ff679dc98d2629e3673ae77e9a15bedcbc911f1 100644 --- a/test/manager/composer/_fixtures/composer1.json +++ b/test/manager/composer/_fixtures/composer1.json @@ -1,74 +1,61 @@ { "autoload": { - "psr-0": { - "": "src/" - } + "psr-0": { + "": "src/" + } }, "require": { - "php": ">=5.3.2", - - "symfony/assetic-bundle": "dev-master", - "symfony/monolog-bundle": "dev-master", - "symfony/swiftmailer-bundle": "dev-master", - "symfony/symfony": "2.1.*", - - "doctrine/common": "2.2.2", - "doctrine/doctrine-bundle": "dev-master", - "doctrine/doctrine-fixtures-bundle": "dev-master", - "doctrine/orm": "2.2.x-dev", - - "exercise/elastica-bundle": "dev-master", - - "friendsofsymfony/rest-bundle": "dev-master", - "friendsofsymfony/user-bundle": "*", - - "fzaninotto/faker": "*", - - "jms/di-extra-bundle": "1.0.1", - "jms/payment-core-bundle": "*", - "jms/security-extra-bundle": "1.1.0", - - "knplabs/knp-menu-bundle": "dev-master", - "knplabs/knp-paginator-bundle": "dev-master", - - "liip/imagine-bundle": "dev-master", - - "merk/dough-bundle": "dev-master", - - "sensio/distribution-bundle": "dev-master", - "sensio/framework-extra-bundle": "dev-master", - "sensio/generator-bundle": "dev-master", - - "simplethings/entity-audit-bundle": "dev-master", - - "stof/doctrine-extensions-bundle": "dev-master", - - "twig/extensions": "dev-master" + "php": ">=5.3.2", + "symfony/assetic-bundle": "dev-master", + "symfony/monolog-bundle": "dev-master", + "symfony/swiftmailer-bundle": "dev-master", + "symfony/symfony": "2.1.*", + "doctrine/common": "2.2.2", + "doctrine/doctrine-bundle": "dev-master", + "doctrine/doctrine-fixtures-bundle": "dev-master", + "doctrine/orm": "2.2.x-dev", + "exercise/elastica-bundle": "dev-master", + "friendsofsymfony/rest-bundle": "dev-master", + "friendsofsymfony/user-bundle": "*", + "fzaninotto/faker": "*", + "jms/di-extra-bundle": "1.0.1", + "jms/payment-core-bundle": "*", + "jms/security-extra-bundle": "1.1.0", + "knplabs/knp-menu-bundle": "dev-master", + "knplabs/knp-paginator-bundle": "dev-master", + "liip/imagine-bundle": "dev-master", + "merk/dough-bundle": "dev-master", + "sensio/distribution-bundle": "dev-master", + "sensio/framework-extra-bundle": "dev-master", + "sensio/generator-bundle": "dev-master", + "simplethings/entity-audit-bundle": "dev-master", + "stof/doctrine-extensions-bundle": "dev-master", + "twig/extensions": "dev-master" }, "require-dev": { - "behat/behat": "2.3.*", - "behat/behat-bundle": "*", - "behat/mink-bundle": "*", - "behat/sahi-client": "*", - "behat/common-contexts": "*" + "behat/behat": "2.3.*", + "behat/behat-bundle": "*", + "behat/mink-bundle": "*", + "behat/sahi-client": "*", + "behat/common-contexts": "*" }, "scripts": { - "post-install-cmd": [ - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets" - ], - "post-update-cmd": [ - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets" - ] + "post-install-cmd": [ + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets" + ], + "post-update-cmd": [ + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets" + ] }, "config": { - "bin-dir": "bin" + "bin-dir": "bin" }, "extra": { - "symfony-app-dir": "app", - "symfony-web-dir": "web" + "symfony-app-dir": "app", + "symfony-web-dir": "web" } } diff --git a/test/manager/composer/_fixtures/composer2.json b/test/manager/composer/_fixtures/composer2.json index 15c540845190dc8e532abacff074b6ec1f0f6987..751e39007c9d36fbee30cd0d47836a3b3550a960 100644 --- a/test/manager/composer/_fixtures/composer2.json +++ b/test/manager/composer/_fixtures/composer2.json @@ -1,21 +1,24 @@ { "name": "acme/brilliant-wordpress-site", "description": "My brilliant WordPress site", - "repositories":[ - { - "type":"composer", - "url":"https://wpackagist.org" - } + "repositories": [ + { + "type": "composer", + "url": "https://wpackagist.org" + }, + { + "packagist": false + } ], "require": { - "aws/aws-sdk-php":"*", - "wpackagist-plugin/akismet":"dev-trunk", - "wpackagist-plugin/wordpress-seo":">=7.0.2", - "wpackagist-theme/hueman":"*" + "aws/aws-sdk-php": "*", + "wpackagist-plugin/akismet": "dev-trunk", + "wpackagist-plugin/wordpress-seo": ">=7.0.2", + "wpackagist-theme/hueman": "*" }, "autoload": { - "psr-0": { - "Acme": "src/" - } + "psr-0": { + "Acme": "src/" + } } } diff --git a/test/manager/composer/_fixtures/composer3.json b/test/manager/composer/_fixtures/composer3.json index 3afd092fb99034925b5114619c96f29ec566b64f..5cbe38786403bc12149125ef36efb0def8df0d85 100644 --- a/test/manager/composer/_fixtures/composer3.json +++ b/test/manager/composer/_fixtures/composer3.json @@ -1,66 +1,79 @@ { - "name": "asha23/arlo-timber-framework", - "type": "project", - "license": "MIT", - "description": "A Composer Framework to help you get WordPress with Timber up and running in around a minute", - "authors": [{ - "name": "Ash Whiting", - "email": "ash_whiting@hotmail.com" - }], - "keywords": [ - "Arlo", "wordpress framework", "base theme", "wordpress", "composer", "vagrant", "wp" - ], - "repositories": { - "wp-packagist": { - "type": "composer", - "url": "https://wpackagist.org" - }, - "theme": { - "type": "package", - "package": { - "name": "asha23/wp-seed-timber", - "type": "wordpress-theme", - "version": "1.2.6", - "dist": { - "type": "zip", - "url": "https://github.com/asha23/wp-seed-timber/archive/v1.2.6.zip" - } - } - }, - "wp-sync-db": { - "type": "package", - "package": { - "name": "wp-sync-db/wp-sync-db", - "type": "wordpress-plugin", - "version": "1.5", - "dist": { - "type": "zip", - "url": "https://github.com/corysimmons/wp-sync-db/archive/1.6.zip" - } - } - } + "name": "asha23/arlo-timber-framework", + "type": "project", + "license": "MIT", + "description": "A Composer Framework to help you get WordPress with Timber up and running in around a minute", + "authors": [ + { + "name": "Ash Whiting", + "email": "ash_whiting@hotmail.com" + } + ], + "keywords": [ + "Arlo", + "wordpress framework", + "base theme", + "wordpress", + "composer", + "vagrant", + "wp" + ], + "repositories": { + "packagist.org": false, + "wp-packagist": { + "type": "composer", + "url": "https://wpackagist.org" }, - "require": { - "php": ">=5.5", - "composer/installers": "~1.0.12", - "johnpbloch/wordpress": "*", - "vlucas/phpdotenv": "^2.0.1", - "oscarotero/env": "^1.0", - "wpackagist-plugin/tinymce-advanced": "*", - "wpackagist-plugin/acf-content-analysis-for-yoast-seo": "*", - "wpackagist-plugin/duplicate-post": "*", - "wpackagist-plugin/simple-image-sizes": "*", - "wpackagist-plugin/wordpress-seo": "*", - "wpackagist-plugin/timber-library": "*", - "wp-sync-db/wp-sync-db": "*", - "asha23/wp-seed-timber": "*" + "theme": { + "type": "package", + "package": { + "name": "asha23/wp-seed-timber", + "type": "wordpress-theme", + "version": "1.2.6", + "dist": { + "type": "zip", + "url": "https://github.com/asha23/wp-seed-timber/archive/v1.2.6.zip" + } + } }, - "extra": { - "installer-paths": { - "web/content/plugins/{$name}/": ["type:wordpress-plugin"], - "web/content/themes/{$name}/": ["type:wordpress-theme"] - }, - "wordpress-install-dir": "web/wp", - "content-install-dir": "web/content" + "wp-sync-db": { + "type": "package", + "package": { + "name": "wp-sync-db/wp-sync-db", + "type": "wordpress-plugin", + "version": "1.5", + "dist": { + "type": "zip", + "url": "https://github.com/corysimmons/wp-sync-db/archive/1.6.zip" + } + } } + }, + "require": { + "php": ">=5.5", + "composer/installers": "~1.0.12", + "johnpbloch/wordpress": "*", + "vlucas/phpdotenv": "^2.0.1", + "oscarotero/env": "^1.0", + "wpackagist-plugin/tinymce-advanced": "*", + "wpackagist-plugin/acf-content-analysis-for-yoast-seo": "*", + "wpackagist-plugin/duplicate-post": "*", + "wpackagist-plugin/simple-image-sizes": "*", + "wpackagist-plugin/wordpress-seo": "*", + "wpackagist-plugin/timber-library": "*", + "wp-sync-db/wp-sync-db": "*", + "asha23/wp-seed-timber": "*" + }, + "extra": { + "installer-paths": { + "web/content/plugins/{$name}/": [ + "type:wordpress-plugin" + ], + "web/content/themes/{$name}/": [ + "type:wordpress-theme" + ] + }, + "wordpress-install-dir": "web/wp", + "content-install-dir": "web/content" + } } diff --git a/test/manager/composer/_fixtures/composer4.json b/test/manager/composer/_fixtures/composer4.json index 2b9e63280c77a14fdd4b9e1fe07fb509d9bfeb03..89e3d1dd42d7b84129aff0ebbe459ccd728049f6 100644 --- a/test/manager/composer/_fixtures/composer4.json +++ b/test/manager/composer/_fixtures/composer4.json @@ -1,30 +1,30 @@ { "name": "acme/git-sources", "description": "Fetch Packages via git", - "repositories":[ - { - "name": "awesome/vcs", - "type":"vcs", - "url":"https://my-vcs.example/my-vcs-repo" - }, - { - "name": "awesome/git", - "type":"git", - "url":"https://my-git.example/my-git-repo" - }, - { - "type": "composer", - "url": "https://wpackagist.org" - } + "repositories": [ + { + "name": "awesome/vcs", + "type": "vcs", + "url": "https://my-vcs.example/my-vcs-repo" + }, + { + "name": "awesome/git", + "type": "git", + "url": "https://my-git.example/my-git-repo" + }, + { + "type": "composer", + "url": "https://wpackagist.org" + } ], "require": { - "aws/aws-sdk-php":"*", - "awesome/vcs":"dev-trunk", - "awesome/git":">=7.0.2" + "aws/aws-sdk-php": "*", + "awesome/vcs": "dev-trunk", + "awesome/git": ">=7.0.2" }, "autoload": { - "psr-0": { - "Acme": "src/" - } + "psr-0": { + "Acme": "src/" + } } } diff --git a/test/manager/composer/_fixtures/composer5.json b/test/manager/composer/_fixtures/composer5.json index 17238d84a8bb0d4aec0e0c15993777f8bb647a78..f8772b459f96780fc255cc4d5ff224cf5b2dda40 100644 --- a/test/manager/composer/_fixtures/composer5.json +++ b/test/manager/composer/_fixtures/composer5.json @@ -1,28 +1,28 @@ { "name": "acme/git-sources", "description": "Fetch Packages via git", - "repositories":{ + "repositories": { "awesome/vcs": { - "type":"vcs", - "url":"https://my-vcs.example/my-vcs-repo" - }, + "type": "vcs", + "url": "https://my-vcs.example/my-vcs-repo" + }, "awesome/git": { - "type":"git", - "url":"git@my-git.example:my-git-repo" - }, - "wpackagist": { - "type": "composer", - "url": "https://wpackagist.org" - } + "type": "git", + "url": "git@my-git.example:my-git-repo" + }, + "wpackagist": { + "type": "composer", + "url": "https://wpackagist.org" + } }, "require": { - "aws/aws-sdk-php":"*", - "awesome/vcs":"dev-trunk", - "awesome/git":">=7.0.2" + "aws/aws-sdk-php": "*", + "awesome/vcs": "dev-trunk", + "awesome/git": ">=7.0.2" }, "autoload": { - "psr-0": { - "Acme": "src/" - } + "psr-0": { + "Acme": "src/" + } } } diff --git a/test/manager/composer/artifacts.spec.ts b/test/manager/composer/artifacts.spec.ts index 215b9a5a6176f7da1677e83f1ac73a3dfdd320aa..f6fa92a47f33ce807e70b41b6d5ae7358f5eb6ff 100644 --- a/test/manager/composer/artifacts.spec.ts +++ b/test/manager/composer/artifacts.spec.ts @@ -49,11 +49,7 @@ describe('.updateArtifacts()', () => { fs.readFile = jest.fn(() => 'Current composer.lock'); const authConfig = { localDir: '/tmp/github/some/repo', - registryUrls: [ - { - url: 'https://packagist.renovatebot.com', - }, - ], + registryUrls: ['https://packagist.renovatebot.com'], }; hostRules.find.mockReturnValue({ username: 'some-username', diff --git a/test/manager/composer/extract.spec.ts b/test/manager/composer/extract.spec.ts index 380bfb27908e720e33eab97fe8f1f5ec43c7a0a3..1421a7dde49b1a3df93a1f2ef1a4d1f9000619e0 100644 --- a/test/manager/composer/extract.spec.ts +++ b/test/manager/composer/extract.spec.ts @@ -52,18 +52,18 @@ describe('lib/manager/composer/extract', () => { it('extracts object registryUrls', async () => { const res = await extractPackageFile(requirements3, packageFile); expect(res).toMatchSnapshot(); - expect(res.registryUrls).toHaveLength(3); + expect(res.registryUrls).toHaveLength(1); }); it('extracts repositories and registryUrls', async () => { const res = await extractPackageFile(requirements4, packageFile); expect(res).toMatchSnapshot(); - expect(res.registryUrls).toHaveLength(1); + expect(res.registryUrls).toHaveLength(2); }); it('extracts object repositories and registryUrls with lock file', async () => { platform.getFile.mockResolvedValue(requirements5Lock); const res = await extractPackageFile(requirements5, packageFile); expect(res).toMatchSnapshot(); - expect(res.registryUrls).toHaveLength(1); + expect(res.registryUrls).toHaveLength(2); }); it('extracts dependencies with lock file', async () => { platform.getFile.mockResolvedValue('some content'); diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js index c53805d3dd1a7ffc0e6d6505944ed4ad5ac07771..b64facd1ef9470a2750bbe5009966a3c12fcb231 100644 --- a/test/workers/repository/process/lookup/index.spec.js +++ b/test/workers/repository/process/lookup/index.spec.js @@ -981,6 +981,7 @@ describe('workers/repository/process/lookup', () => { config.datasource = 'packagist'; config.packageFile = 'composer.json'; config.currentValue = '1.0.0'; + config.registryUrls = ['https://packagist.org']; nock('https://packagist.org') .get('/packages/foo/bar.json') .reply(404);