diff --git a/lib/modules/datasource/github-releases/cache/cache-base.spec.ts b/lib/modules/datasource/github-releases/cache/cache-base.spec.ts index b08d2002633008537900a70667bd27cb2ff5c2d9..20166e40a844f20d3e7ad561745c0d5edf5353b2 100644 --- a/lib/modules/datasource/github-releases/cache/cache-base.spec.ts +++ b/lib/modules/datasource/github-releases/cache/cache-base.spec.ts @@ -1,12 +1,15 @@ import { DateTime } from 'luxon'; import { mocked } from '../../../../../test/util'; import * as _packageCache from '../../../../util/cache/package'; +import type { + QueryResponse, + StoredItemBase, +} from '../../../../util/github/types'; import { GithubGraphqlResponse, GithubHttp, } from '../../../../util/http/github'; import { AbstractGithubDatasourceCache } from './cache-base'; -import type { QueryResponse, StoredItemBase } from './types'; jest.mock('../../../../util/cache/package'); const packageCache = mocked(_packageCache); diff --git a/lib/modules/datasource/github-releases/cache/cache-base.ts b/lib/modules/datasource/github-releases/cache/cache-base.ts index 447ec37156f710c4b9671bdc4f58af2612117cb0..ec2db09f54bdb92ec6d21f76cc5f069d72f290f8 100644 --- a/lib/modules/datasource/github-releases/cache/cache-base.ts +++ b/lib/modules/datasource/github-releases/cache/cache-base.ts @@ -3,13 +3,6 @@ import { DateTime, DurationLikeObject } from 'luxon'; import { logger } from '../../../../logger'; import * as memCache from '../../../../util/cache/memory'; import * as packageCache from '../../../../util/cache/package'; -import type { - GithubGraphqlResponse, - GithubHttp, - GithubHttpOptions, -} from '../../../../util/http/github'; -import type { GetReleasesConfig } from '../../types'; -import { getApiBaseUrl } from '../common'; import type { CacheOptions, ChangelogRelease, @@ -17,7 +10,14 @@ import type { GithubQueryParams, QueryResponse, StoredItemBase, -} from './types'; +} from '../../../../util/github/types'; +import { getApiBaseUrl } from '../../../../util/github/url'; +import type { + GithubGraphqlResponse, + GithubHttp, + GithubHttpOptions, +} from '../../../../util/http/github'; +import type { GetReleasesConfig } from '../../types'; /** * The options that are meant to be used in production. diff --git a/lib/modules/datasource/github-releases/cache/index.ts b/lib/modules/datasource/github-releases/cache/index.ts index 5f7d35cfb6f8e9a001f4e730dffd6c65166ecd6b..01da1bc6bbd1c00df6dd6fd514ba6d93c9ec4cb4 100644 --- a/lib/modules/datasource/github-releases/cache/index.ts +++ b/lib/modules/datasource/github-releases/cache/index.ts @@ -1,6 +1,9 @@ +import type { + CacheOptions, + StoredItemBase, +} from '../../../../util/github/types'; import type { GithubHttp } from '../../../../util/http/github'; import { AbstractGithubDatasourceCache } from './cache-base'; -import type { CacheOptions, StoredItemBase } from './types'; export const query = ` query ($owner: String!, $name: String!, $cursor: String, $count: Int!) { diff --git a/lib/modules/datasource/github-releases/digest.spec.ts b/lib/modules/datasource/github-releases/digest.spec.ts index d370acc027dd3c8a97e5d7583cad995098b4134e..3a14f7a218a754489545024e672e0f9feefe68c5 100644 --- a/lib/modules/datasource/github-releases/digest.spec.ts +++ b/lib/modules/datasource/github-releases/digest.spec.ts @@ -1,7 +1,7 @@ import hasha from 'hasha'; import * as httpMock from '../../../../test/http-mock'; +import type { DigestAsset } from '../../../util/github/types'; import { GitHubReleaseMocker } from './test'; -import type { DigestAsset } from './types'; import { GithubReleasesDatasource } from '.'; diff --git a/lib/modules/datasource/github-releases/index.ts b/lib/modules/datasource/github-releases/index.ts index ded3879a9ac5b97b07df9a1447c56ee3feb6affa..aff1caabd70b8e0c71a07d7ccfe71b836eafc136 100644 --- a/lib/modules/datasource/github-releases/index.ts +++ b/lib/modules/datasource/github-releases/index.ts @@ -1,12 +1,16 @@ // TODO: types (#7154) import hasha from 'hasha'; import { logger } from '../../../logger'; +import type { + DigestAsset, + GithubRelease, + GithubReleaseAsset, +} from '../../../util/github/types'; +import { getApiBaseUrl, getSourceUrl } from '../../../util/github/url'; import { GithubHttp } from '../../../util/http/github'; import { newlineRegex, regEx } from '../../../util/regex'; import { Datasource } from '../datasource'; import type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types'; -import { getApiBaseUrl, getSourceUrl } from './common'; -import type { DigestAsset, GithubRelease, GithubReleaseAsset } from './types'; export const cacheNamespace = 'datasource-github-releases'; diff --git a/lib/modules/datasource/github-releases/test/index.ts b/lib/modules/datasource/github-releases/test/index.ts index 5c9a8a988ad764034a80bab34c41dfa2f098e523..4343fff599b16621988343ee2cb7aa18f8aaecc9 100644 --- a/lib/modules/datasource/github-releases/test/index.ts +++ b/lib/modules/datasource/github-releases/test/index.ts @@ -1,6 +1,6 @@ import * as httpMock from '../../../../../test/http-mock'; import { partial } from '../../../../../test/util'; -import type { GithubRelease } from '../types'; +import type { GithubRelease } from '../../../../util/github/types'; export class GitHubReleaseMocker { constructor( diff --git a/lib/modules/datasource/github-releases/types.ts b/lib/modules/datasource/github-releases/types.ts deleted file mode 100644 index ebdd2f55b72fbf21fc7676bd846f00fea5bc7a9e..0000000000000000000000000000000000000000 --- a/lib/modules/datasource/github-releases/types.ts +++ /dev/null @@ -1,26 +0,0 @@ -export interface GithubRelease { - id: number; - tag_name: string; - published_at: string; - prerelease: boolean; - draft?: boolean; - assets: GithubReleaseAsset[]; - - html_url: string; - name: string; - body: string; -} - -export interface GithubReleaseAsset { - name: string; - url: string; - browser_download_url: string; - size: number; -} - -export interface DigestAsset { - assetName: string; - currentVersion: string; - currentDigest: string; - digestedFileName?: string; -} diff --git a/lib/modules/datasource/github-tags/cache.ts b/lib/modules/datasource/github-tags/cache.ts index c234cdc67bddc4d18248d9f7eff1d195b7279dfb..00d271354792a1caa57769ff69813e3fa9846823 100644 --- a/lib/modules/datasource/github-tags/cache.ts +++ b/lib/modules/datasource/github-tags/cache.ts @@ -1,9 +1,6 @@ +import type { CacheOptions, StoredItemBase } from '../../../util/github/types'; import type { GithubHttp } from '../../../util/http/github'; import { AbstractGithubDatasourceCache } from '../github-releases/cache/cache-base'; -import type { - CacheOptions, - StoredItemBase, -} from '../github-releases/cache/types'; const query = ` query ($owner: String!, $name: String!, $cursor: String, $count: Int!) { diff --git a/lib/modules/datasource/github-tags/index.ts b/lib/modules/datasource/github-tags/index.ts index 41f43aa4df696ba465987ad77b5da9a5f48056fd..65b057dc1ea7aa212eddd8d65ed342355c5bcedf 100644 --- a/lib/modules/datasource/github-tags/index.ts +++ b/lib/modules/datasource/github-tags/index.ts @@ -1,9 +1,9 @@ import { logger } from '../../../logger'; +import type { GitHubTag, TagResponse } from '../../../util/github/types'; +import { getApiBaseUrl, getSourceUrl } from '../../../util/github/url'; import { GithubHttp } from '../../../util/http/github'; import { Datasource } from '../datasource'; -import { getApiBaseUrl, getSourceUrl } from '../github-releases/common'; import type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types'; -import type { GitHubTag, TagResponse } from './types'; export class GithubTagsDatasource extends Datasource { static readonly id = 'github-tags'; diff --git a/lib/modules/datasource/github-tags/types.ts b/lib/modules/datasource/github-tags/types.ts deleted file mode 100644 index e8b5888166c0b2c60fce1723ae13e1fac1ae9766..0000000000000000000000000000000000000000 --- a/lib/modules/datasource/github-tags/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface TagResponse { - object: { - type: string; - url: string; - sha: string; - }; -} - -export interface GitHubTag { - name: string; -} diff --git a/lib/modules/datasource/go/common.ts b/lib/modules/datasource/go/common.ts index ed876086eb5066d7df6b9e117d5f4d9755b565bd..97f4bc3c38bb83ce883e970a4ea65af88fc03db9 100644 --- a/lib/modules/datasource/go/common.ts +++ b/lib/modules/datasource/go/common.ts @@ -1,5 +1,5 @@ +import { getSourceUrl as githubSourceUrl } from '../../../util/github/url'; import { BitBucketTagsDatasource } from '../bitbucket-tags'; -import { getSourceUrl as githubSourceUrl } from '../github-releases/common'; import { GithubTagsDatasource } from '../github-tags'; import { GitlabTagsDatasource } from '../gitlab-tags'; import { getSourceUrl as gitlabSourceUrl } from '../gitlab-tags/util'; diff --git a/lib/modules/datasource/hermit/index.ts b/lib/modules/datasource/hermit/index.ts index 4a81651a42fca530dadc0be576294e13d55ffcf9..3ea3f975b711a49569e4787c82dddd164be65eb3 100644 --- a/lib/modules/datasource/hermit/index.ts +++ b/lib/modules/datasource/hermit/index.ts @@ -1,13 +1,13 @@ import { logger } from '../../../logger'; import { cache } from '../../../util/cache/package/decorator'; +import type { GithubRelease } from '../../../util/github/types'; +import { getApiBaseUrl } from '../../../util/github/url'; import { GithubHttp } from '../../../util/http/github'; import { regEx } from '../../../util/regex'; import { streamToString } from '../../../util/streams'; import { parseUrl } from '../../../util/url'; import { id } from '../../versioning/hermit'; import { Datasource } from '../datasource'; -import { getApiBaseUrl } from '../github-releases/common'; -import type { GithubRelease } from '../github-releases/types'; import type { GetReleasesConfig, ReleaseResult } from '../types'; import type { HermitSearchResult } from './types'; diff --git a/lib/modules/datasource/github-releases/cache/types.ts b/lib/util/github/types.ts similarity index 83% rename from lib/modules/datasource/github-releases/cache/types.ts rename to lib/util/github/types.ts index 0c6b2321ff85e3af67e0fe715bade5c38f6905c5..b58fe4572bc37989b6c4d482747b014cb28cc6c9 100644 --- a/lib/modules/datasource/github-releases/cache/types.ts +++ b/lib/util/github/types.ts @@ -1,3 +1,42 @@ +export interface GithubRelease { + id: number; + tag_name: string; + published_at: string; + prerelease: boolean; + draft?: boolean; + assets: GithubReleaseAsset[]; + + html_url: string; + name: string; + body: string; +} + +export interface GithubReleaseAsset { + name: string; + url: string; + browser_download_url: string; + size: number; +} + +export interface DigestAsset { + assetName: string; + currentVersion: string; + currentDigest: string; + digestedFileName?: string; +} + +export interface TagResponse { + object: { + type: string; + url: string; + sha: string; + }; +} + +export interface GitHubTag { + name: string; +} + /** * Every `AbstractGithubDatasourceCache` implementation * should have `graphqlQuery` that uses parameters diff --git a/lib/modules/datasource/github-releases/common.spec.ts b/lib/util/github/url.spec.ts similarity index 88% rename from lib/modules/datasource/github-releases/common.spec.ts rename to lib/util/github/url.spec.ts index a75e527a803b3276a5957df2869451db2edc7510..01059d664bcf0943beb7beed3359ed0ff7cb7a40 100644 --- a/lib/modules/datasource/github-releases/common.spec.ts +++ b/lib/util/github/url.spec.ts @@ -1,6 +1,6 @@ -import { getApiBaseUrl, getSourceUrlBase } from './common'; +import { getApiBaseUrl, getSourceUrlBase } from './url'; -describe('modules/datasource/github-releases/common', () => { +describe('util/github/url', () => { describe('getSourceUrlBase', () => { it('ensures trailing slash', () => { const sourceUrl = getSourceUrlBase('https://gh.my-company.com'); diff --git a/lib/modules/datasource/github-releases/common.ts b/lib/util/github/url.ts similarity index 93% rename from lib/modules/datasource/github-releases/common.ts rename to lib/util/github/url.ts index 58969644bda5ef648c86f5f0800d2e31a7b9f81b..9b0062a251c385de2cd1107c97fecba8b1b181ff 100644 --- a/lib/modules/datasource/github-releases/common.ts +++ b/lib/util/github/url.ts @@ -1,4 +1,4 @@ -import { ensureTrailingSlash } from '../../../util/url'; +import { ensureTrailingSlash } from '../url'; const defaultSourceUrlBase = 'https://github.com/'; const defaultApiBaseUrl = 'https://api.github.com/'; diff --git a/lib/workers/repository/update/pr/changelog/github/index.ts b/lib/workers/repository/update/pr/changelog/github/index.ts index 94230966ceaab961aeae391003c5e50767bae053..cd4706b6ed60410883b9f92f64581079f78c9316 100644 --- a/lib/workers/repository/update/pr/changelog/github/index.ts +++ b/lib/workers/repository/update/pr/changelog/github/index.ts @@ -1,12 +1,14 @@ import changelogFilenameRegex from 'changelog-filename-regex'; import { logger } from '../../../../../../logger'; -import type { GithubRelease } from '../../../../../../modules/datasource/github-releases/types'; -import type { GitHubTag } from '../../../../../../modules/datasource/github-tags/types'; import type { GithubGitBlob, GithubGitTree, GithubGitTreeNode, } from '../../../../../../types/platform/github'; +import type { + GitHubTag, + GithubRelease, +} from '../../../../../../util/github/types'; import { GithubHttp } from '../../../../../../util/http/github'; import { fromBase64 } from '../../../../../../util/string'; import { ensureTrailingSlash } from '../../../../../../util/url';