diff --git a/.changeset/nervous-kings-change.md b/.changeset/nervous-kings-change.md index 99a3547574..9d61d2ea81 100644 --- a/.changeset/nervous-kings-change.md +++ b/.changeset/nervous-kings-change.md @@ -4,12 +4,12 @@ Deprecated all of the `UrlReader` related type names and replaced them with prefixed versions. Please update your imports. -- `ReadTreeOptions` was renamed to `UrlReaderReadTreeOptions` -- `ReadTreeResponse` was renamed to `UrlReaderReadTreeResponse` -- `ReadTreeResponseDirOptions` was renamed to `UrlReaderReadTreeResponseDirOptions` -- `ReadTreeResponseFile` was renamed to `UrlReaderReadTreeResponseFile` -- `ReadUrlResponse` was renamed to `UrlReaderReadUrlResponse` -- `ReadUrlOptions` was renamed to `UrlReaderReadUrlOptions` -- `SearchOptions` was renamed to `UrlReaderSearchOptions` -- `SearchResponse` was renamed to `UrlReaderSearchResponse` -- `SearchResponseFile` was renamed to `UrlReaderSearchResponseFile` +- `ReadTreeOptions` was renamed to `UrlReaderServiceReadTreeOptions` +- `ReadTreeResponse` was renamed to `UrlReaderServiceReadTreeResponse` +- `ReadTreeResponseDirOptions` was renamed to `UrlReaderServiceReadTreeResponseDirOptions` +- `ReadTreeResponseFile` was renamed to `UrlReaderServiceReadTreeResponseFile` +- `ReadUrlResponse` was renamed to `UrlReaderServiceReadUrlResponse` +- `ReadUrlOptions` was renamed to `UrlReaderServiceReadUrlOptions` +- `SearchOptions` was renamed to `UrlReaderServiceSearchOptions` +- `SearchResponse` was renamed to `UrlReaderServiceSearchResponse` +- `SearchResponseFile` was renamed to `UrlReaderServiceSearchResponseFile` diff --git a/docs/releases/v1.28.0-next.3-changelog.md b/docs/releases/v1.28.0-next.3-changelog.md index ead042fc6c..ac8bbca60c 100644 --- a/docs/releases/v1.28.0-next.3-changelog.md +++ b/docs/releases/v1.28.0-next.3-changelog.md @@ -226,15 +226,15 @@ Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.28.0-next.3](h - b2ee7f3: Deprecated all of the `UrlReader` related type names and replaced them with prefixed versions. Please update your imports. - - `ReadTreeOptions` was renamed to `UrlReaderReadTreeOptions` - - `ReadTreeResponse` was renamed to `UrlReaderReadTreeResponse` - - `ReadTreeResponseDirOptions` was renamed to `UrlReaderReadTreeResponseDirOptions` - - `ReadTreeResponseFile` was renamed to `UrlReaderReadTreeResponseFile` - - `ReadUrlResponse` was renamed to `UrlReaderReadUrlResponse` - - `ReadUrlOptions` was renamed to `UrlReaderReadUrlOptions` - - `SearchOptions` was renamed to `UrlReaderSearchOptions` - - `SearchResponse` was renamed to `UrlReaderSearchResponse` - - `SearchResponseFile` was renamed to `UrlReaderSearchResponseFile` + - `ReadTreeOptions` was renamed to `UrlReaderServiceReadTreeOptions` + - `ReadTreeResponse` was renamed to `UrlReaderServiceReadTreeResponse` + - `ReadTreeResponseDirOptions` was renamed to `UrlReaderServiceReadTreeResponseDirOptions` + - `ReadTreeResponseFile` was renamed to `UrlReaderServiceReadTreeResponseFile` + - `ReadUrlResponse` was renamed to `UrlReaderServiceReadUrlResponse` + - `ReadUrlOptions` was renamed to `UrlReaderServiceReadUrlOptions` + - `SearchOptions` was renamed to `UrlReaderServiceSearchOptions` + - `SearchResponse` was renamed to `UrlReaderServiceSearchResponse` + - `SearchResponseFile` was renamed to `UrlReaderServiceSearchResponseFile` - Updated dependencies - @backstage/plugin-auth-node@0.4.14-next.3 diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index c8673da9d2..5d48c8ecd7 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -67,13 +67,13 @@ import { Server } from 'http'; import { ServiceRef } from '@backstage/backend-plugin-api'; import { TokenManagerService as TokenManager } from '@backstage/backend-plugin-api'; import { TransportStreamOptions } from 'winston-transport'; -import { UrlReaderReadTreeOptions } from '@backstage/backend-plugin-api'; -import { UrlReaderReadTreeResponse } from '@backstage/backend-plugin-api'; -import { UrlReaderReadUrlOptions } from '@backstage/backend-plugin-api'; -import { UrlReaderReadUrlResponse } from '@backstage/backend-plugin-api'; -import { UrlReaderSearchOptions } from '@backstage/backend-plugin-api'; -import { UrlReaderSearchResponse } from '@backstage/backend-plugin-api'; import { UrlReaderService } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadTreeOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadTreeResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadUrlOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadUrlResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceSearchOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceSearchResponse } from '@backstage/backend-plugin-api'; import { UserInfoService } from '@backstage/backend-plugin-api'; import { V1PodTemplateSpec } from '@kubernetes/client-node'; import * as winston from 'winston'; diff --git a/packages/backend-common/src/reading/index.ts b/packages/backend-common/src/reading/index.ts index 18e3473273..14863d2044 100644 --- a/packages/backend-common/src/reading/index.ts +++ b/packages/backend-common/src/reading/index.ts @@ -170,47 +170,47 @@ export type UrlReaderPredicateTuple = _UrlReaderPredicateTuple; /** * @public - * @deprecated Use `UrlReaderReadTreeOptions` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceReadTreeOptions` from `@backstage/backend-plugin-api` instead */ export type ReadTreeOptions = _ReadTreeOptions; /** * @public - * @deprecated Use `UrlReaderReadTreeResponse` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceReadTreeResponse` from `@backstage/backend-plugin-api` instead */ export type ReadTreeResponse = _ReadTreeResponse; /** * @public - * @deprecated Use `UrlReaderReadTreeResponseFile` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceReadTreeResponseFile` from `@backstage/backend-plugin-api` instead */ export type ReadTreeResponseFile = _ReadTreeResponseFile; /** * @public - * @deprecated Use `UrlReaderReadTreeResponseDirOptions` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceReadTreeResponseDirOptions` from `@backstage/backend-plugin-api` instead */ export type ReadTreeResponseDirOptions = _ReadTreeResponseDirOptions; /** * @public - * @deprecated Use `UrlReaderReadUrlOptions` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceReadUrlOptions` from `@backstage/backend-plugin-api` instead */ export type ReadUrlOptions = _ReadUrlOptions; /** * @public - * @deprecated Use `UrlReaderReadUrlResponse` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceReadUrlResponse` from `@backstage/backend-plugin-api` instead */ export type ReadUrlResponse = _ReadUrlResponse; /** * @public - * @deprecated Use `UrlReaderSearchOptions` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceSearchOptions` from `@backstage/backend-plugin-api` instead */ export type SearchOptions = _SearchOptions; /** * @public - * @deprecated Use `UrlReaderSearchResponse` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceSearchResponse` from `@backstage/backend-plugin-api` instead */ export type SearchResponse = _SearchResponse; /** * @public - * @deprecated Use `UrlReaderSearchResponseFile` from `@backstage/backend-plugin-api` instead + * @deprecated Use `UrlReaderServiceSearchResponseFile` from `@backstage/backend-plugin-api` instead */ export type SearchResponseFile = _SearchResponseFile; /** diff --git a/packages/backend-defaults/api-report-urlReader.md b/packages/backend-defaults/api-report-urlReader.md index b2ea2c6d20..a1976f5a1c 100644 --- a/packages/backend-defaults/api-report-urlReader.md +++ b/packages/backend-defaults/api-report-urlReader.md @@ -22,13 +22,13 @@ import { HarnessIntegration } from '@backstage/integration'; import { LoggerService } from '@backstage/backend-plugin-api'; import { Readable } from 'stream'; import { ServiceFactory } from '@backstage/backend-plugin-api'; -import { UrlReaderReadTreeOptions } from '@backstage/backend-plugin-api'; -import { UrlReaderReadTreeResponse } from '@backstage/backend-plugin-api'; -import { UrlReaderReadUrlOptions } from '@backstage/backend-plugin-api'; -import { UrlReaderReadUrlResponse } from '@backstage/backend-plugin-api'; -import { UrlReaderSearchOptions } from '@backstage/backend-plugin-api'; -import { UrlReaderSearchResponse } from '@backstage/backend-plugin-api'; import { UrlReaderService } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadTreeOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadTreeResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadUrlOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadUrlResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceSearchOptions } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceSearchResponse } from '@backstage/backend-plugin-api'; // @public export class AwsS3UrlReader implements UrlReaderService { @@ -46,15 +46,15 @@ export class AwsS3UrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) - search(): Promise; + search(): Promise; // (undocumented) toString(): string; } @@ -75,18 +75,18 @@ export class AzureUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; // (undocumented) toString(): string; } @@ -106,18 +106,18 @@ export class BitbucketCloudUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; // (undocumented) toString(): string; } @@ -137,18 +137,18 @@ export class BitbucketServerUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; // (undocumented) toString(): string; } @@ -169,18 +169,18 @@ export class BitbucketUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; // (undocumented) toString(): string; } @@ -191,14 +191,14 @@ export class FetchUrlReader implements UrlReaderService { // (undocumented) read(url: string): Promise; // (undocumented) - readTree(): Promise; + readTree(): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) - search(): Promise; + search(): Promise; // (undocumented) toString(): string; } @@ -225,15 +225,15 @@ export class GerritUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) - search(): Promise; + search(): Promise; // (undocumented) toString(): string; } @@ -253,15 +253,15 @@ export class GiteaUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) - search(): Promise; + search(): Promise; // (undocumented) toString(): string; } @@ -282,18 +282,18 @@ export class GithubUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; // (undocumented) toString(): string; } @@ -313,18 +313,18 @@ export class GitlabUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; // (undocumented) toString(): string; } @@ -344,15 +344,15 @@ export class HarnessUrlReader implements UrlReaderService { // (undocumented) readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; // (undocumented) readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; // (undocumented) - search(): Promise; + search(): Promise; // (undocumented) toString(): string; } @@ -369,17 +369,17 @@ export interface ReadTreeResponseFactory { // (undocumented) fromReadableArray( options: FromReadableArrayOptions, - ): Promise; + ): Promise; // (undocumented) fromTarArchive( options: ReadTreeResponseFactoryOptions & { stripFirstDirectory?: boolean; }, - ): Promise; + ): Promise; // (undocumented) fromZipArchive( options: ReadTreeResponseFactoryOptions, - ): Promise; + ): Promise; } // @public @@ -400,11 +400,11 @@ export class ReadUrlResponseFactory { static fromNodeJSReadable( oldStyleStream: NodeJS.ReadableStream, options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise; + ): Promise; static fromReadable( stream: Readable, options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise; + ): Promise; } // @public diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts index f204d1390d..7f02f1468f 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsCodeCommitUrlReader.ts @@ -17,11 +17,11 @@ import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { AwsCredentialsManager, @@ -221,8 +221,8 @@ export class AwsCodeCommitUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { // etag and lastModifiedAfter are not supported by the CodeCommit API try { const { path, repositoryName, region, commitSpecifier } = parseUrl( @@ -325,8 +325,8 @@ export class AwsCodeCommitUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { // url: https://eu-west-1.console.aws.amazon.com/codesuite/codecommit/repositories/test-stijn-delete-techdocs/browse?region=eu-west-1 try { const { path, repositoryName, region, commitSpecifier } = parseUrl(url); @@ -379,7 +379,7 @@ export class AwsCodeCommitUrlReader implements UrlReaderService { } } - async search(): Promise { + async search(): Promise { throw new Error('AwsCodeCommitReader does not implement search'); } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts index b98b285f99..27f60f5b77 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader.ts @@ -16,11 +16,11 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { ReaderFactory, ReadTreeResponseFactory } from './types'; import { @@ -252,8 +252,8 @@ export class AwsS3UrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter } = options ?? {}; try { @@ -299,8 +299,8 @@ export class AwsS3UrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { try { const { path, bucket, region } = parseUrl(url, this.integration.config); const s3Client = await this.buildS3Client( @@ -356,7 +356,7 @@ export class AwsS3UrlReader implements UrlReaderService { } } - async search(): Promise { + async search(): Promise { throw new Error('AwsS3Reader does not implement search'); } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts index b6945f11ea..50513fcdcc 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader.ts @@ -16,12 +16,12 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { getAzureCommitsUrl, @@ -74,8 +74,8 @@ export class AzureUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { // TODO: etag is not implemented yet. const { signal } = options ?? {}; @@ -113,8 +113,8 @@ export class AzureUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const { etag, filter, signal } = options ?? {}; // TODO: Support filepath based reading tree feature like other providers @@ -181,8 +181,8 @@ export class AzureUrlReader implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const treeUrl = new URL(url); const path = treeUrl.searchParams.get('path'); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts index 5235215758..b7b733867e 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader.ts @@ -16,12 +16,12 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { @@ -78,8 +78,8 @@ export class BitbucketCloudUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const bitbucketUrl = getBitbucketCloudFileFetchUrl( url, @@ -133,8 +133,8 @@ export class BitbucketCloudUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const { filepath } = parseGitUrl(url); const lastCommitShortHash = await this.getLastCommitShortHash(url); @@ -168,8 +168,8 @@ export class BitbucketCloudUrlReader implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const matcher = new Minimatch(filepath); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts index d539b006ed..332e300cb8 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader.ts @@ -16,12 +16,12 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { @@ -69,8 +69,8 @@ export class BitbucketServerUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const bitbucketUrl = getBitbucketServerFileFetchUrl( url, @@ -124,8 +124,8 @@ export class BitbucketServerUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const { filepath } = parseGitUrl(url); const lastCommitShortHash = await this.getLastCommitShortHash(url); @@ -159,8 +159,8 @@ export class BitbucketServerUrlReader implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const matcher = new Minimatch(filepath); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts index 7f831800d3..55d676ed91 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader.ts @@ -16,12 +16,12 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { @@ -94,8 +94,8 @@ export class BitbucketUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const bitbucketUrl = getBitbucketFileFetchUrl(url, this.integration.config); const requestOptions = getBitbucketRequestOptions(this.integration.config); @@ -144,8 +144,8 @@ export class BitbucketUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const { filepath } = parseGitUrl(url); const lastCommitShortHash = await this.getLastCommitShortHash(url); @@ -179,8 +179,8 @@ export class BitbucketUrlReader implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const matcher = new Minimatch(filepath); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts index d62eaedc1a..55041cf036 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader.ts @@ -16,10 +16,10 @@ import { UrlReaderService, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; import fetch, { Response } from 'node-fetch'; @@ -121,8 +121,8 @@ export class FetchUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { let response: Response; try { response = await fetch(url, { @@ -165,11 +165,11 @@ export class FetchUrlReader implements UrlReaderService { throw new Error(message); } - async readTree(): Promise { + async readTree(): Promise { throw new Error('FetchUrlReader does not implement readTree'); } - async search(): Promise { + async search(): Promise { throw new Error('FetchUrlReader does not implement search'); } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts index 8307d4c389..2ef9116208 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader.ts @@ -16,11 +16,11 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { Base64Decode } from 'base64-stream'; import fetch, { Response } from 'node-fetch'; @@ -88,8 +88,8 @@ export class GerritUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const apiUrl = getGerritFileContentsApiUrl(this.integration.config, url); let response: Response; try { @@ -133,8 +133,8 @@ export class GerritUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const apiUrl = getGerritBranchApiUrl(this.integration.config, url); let response: Response; try { @@ -165,7 +165,7 @@ export class GerritUrlReader implements UrlReaderService { return this.readTreeFromGitiles(url, branchInfo.revision, options); } - async search(): Promise { + async search(): Promise { throw new Error('GerritReader does not implement search'); } @@ -177,7 +177,7 @@ export class GerritUrlReader implements UrlReaderService { private async readTreeFromGitiles( url: string, revision: string, - options?: UrlReaderReadTreeOptions, + options?: UrlReaderServiceReadTreeOptions, ) { const { branch, filePath, project } = parseGerritGitilesUrl( this.integration.config, diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts index da1b30ab6b..d8471c43f3 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader.ts @@ -16,11 +16,11 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { getGiteaFileContentsUrl, @@ -74,8 +74,8 @@ export class GiteaUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { let response: Response; const blobUrl = getGiteaFileContentsUrl(this.integration.config, url); @@ -126,8 +126,8 @@ export class GiteaUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const lastCommitHash = await this.getLastCommitHash(url); if (options?.etag && options.etag === lastCommitHash) { throw new NotModifiedError(); @@ -156,7 +156,7 @@ export class GiteaUrlReader implements UrlReaderService { }); } - search(): Promise { + search(): Promise { throw new Error('GiteaUrlReader search not implemented.'); } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts index 60e9b210cd..913e382f92 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader.ts @@ -16,13 +16,13 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, - UrlReaderSearchResponseFile, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, + UrlReaderServiceSearchResponseFile, } from '@backstage/backend-plugin-api'; import { getGithubFileFetchUrl, @@ -112,8 +112,8 @@ export class GithubUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const credentials = await this.getCredentials(url, options); const ghUrl = getGithubFileFetchUrl( @@ -148,8 +148,8 @@ export class GithubUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const repoDetails = await this.getRepoDetails(url); const commitSha = repoDetails.commitSha; @@ -177,8 +177,8 @@ export class GithubUrlReader implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const repoDetails = await this.getRepoDetails(url); const commitSha = repoDetails.commitSha; @@ -211,8 +211,8 @@ export class GithubUrlReader implements UrlReaderService { sha: string, subpath: string, init: RequestInit, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { // archive_url looks like "https://api.github.com/repos/owner/repo/{archive_format}{/ref}" const archive = await this.fetchResponse( archiveUrl @@ -238,7 +238,7 @@ export class GithubUrlReader implements UrlReaderService { sha: string, query: string, init: RequestInit, - ): Promise { + ): Promise { function pathToUrl(path: string): string { // TODO(freben): Use the integration package facility for this instead // pathname starts as /backstage/backstage/blob/master/ diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts index b45a61a40e..615eeb20a2 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts @@ -16,12 +16,12 @@ import { UrlReaderService, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { getGitLabFileFetchUrl, @@ -69,8 +69,8 @@ export class GitlabUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const { etag, lastModifiedAfter, signal } = options ?? {}; const builtUrl = await this.getGitlabFetchUrl(url); @@ -118,8 +118,8 @@ export class GitlabUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const { etag, signal } = options ?? {}; const { ref, full_name, filepath } = parseGitUrl(url); @@ -237,8 +237,8 @@ export class GitlabUrlReader implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const { filepath } = parseGitUrl(url); const staticPart = this.getStaticPart(filepath); const matcher = new Minimatch(filepath); diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts index 843eee9c21..10440dba20 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GoogleGcsUrlReader.ts @@ -17,10 +17,10 @@ import * as GoogleCloud from '@google-cloud/storage'; import { UrlReaderService, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, } from '@backstage/backend-plugin-api'; import { ReaderFactory } from './types'; import getRawBody from 'raw-body'; @@ -106,18 +106,18 @@ export class GoogleGcsUrlReader implements UrlReaderService { async readUrl( url: string, - _options?: UrlReaderReadUrlOptions, - ): Promise { + _options?: UrlReaderServiceReadUrlOptions, + ): Promise { // TODO etag is not implemented yet. const stream = this.readStreamFromUrl(url); return ReadUrlResponseFactory.fromReadable(stream); } - async readTree(): Promise { + async readTree(): Promise { throw new Error('GcsUrlReader does not implement readTree'); } - async search(url: string): Promise { + async search(url: string): Promise { const { bucket, key: pattern } = parseURL(url); if (!pattern.endsWith('*') || pattern.indexOf('*') !== pattern.length - 1) { diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts index 23b5284b43..622d7f3379 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader.ts @@ -16,11 +16,11 @@ import { UrlReaderService, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchResponse, - UrlReaderReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchResponse, + UrlReaderServiceReadTreeOptions, } from '@backstage/backend-plugin-api'; import { getHarnessRequestOptions, @@ -75,8 +75,8 @@ export class HarnessUrlReader implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { let response: Response; const blobUrl = getHarnessFileContentsUrl(this.integration.config, url); @@ -123,8 +123,8 @@ export class HarnessUrlReader implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const lastCommitHash = await this.getLastCommitHash(url); if (options?.etag && options.etag === lastCommitHash) { @@ -154,7 +154,7 @@ export class HarnessUrlReader implements UrlReaderService { }); } - search(): Promise { + search(): Promise { throw new Error('HarnessUrlReader search not implemented.'); } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts index 805008c34e..ecc1bd6101 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory.ts @@ -15,7 +15,7 @@ */ import { ConflictError } from '@backstage/errors'; -import { UrlReaderReadUrlResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadUrlResponse } from '@backstage/backend-plugin-api'; import getRawBody from 'raw-body'; import { Readable } from 'stream'; import { ReadUrlResponseFactoryFromStreamOptions } from './types'; @@ -33,7 +33,7 @@ export class ReadUrlResponseFactory { static async fromReadable( stream: Readable, options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise { + ): Promise { // Reference to eventual buffer enables callers to call buffer() multiple // times without consequence. let buffer: Promise; @@ -69,7 +69,7 @@ export class ReadUrlResponseFactory { static async fromNodeJSReadable( oldStyleStream: NodeJS.ReadableStream, options?: ReadUrlResponseFactoryFromStreamOptions, - ): Promise { + ): Promise { const readable = Readable.from(oldStyleStream); return ReadUrlResponseFactory.fromReadable(readable, options); } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts index b6db60af0a..fb57bb0f06 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/UrlReaderPredicateMux.ts @@ -15,12 +15,12 @@ */ import { - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadUrlOptions, - UrlReaderReadUrlResponse, - UrlReaderSearchOptions, - UrlReaderSearchResponse, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, UrlReaderService, } from '@backstage/backend-plugin-api'; import { NotAllowedError } from '@backstage/errors'; @@ -47,8 +47,8 @@ export class UrlReaderPredicateMux implements UrlReaderService { async readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise { + options?: UrlReaderServiceReadUrlOptions, + ): Promise { const parsed = new URL(url); for (const { predicate, reader } of this.readers) { @@ -62,8 +62,8 @@ export class UrlReaderPredicateMux implements UrlReaderService { async readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise { + options?: UrlReaderServiceReadTreeOptions, + ): Promise { const parsed = new URL(url); for (const { predicate, reader } of this.readers) { @@ -77,8 +77,8 @@ export class UrlReaderPredicateMux implements UrlReaderService { async search( url: string, - options?: UrlReaderSearchOptions, - ): Promise { + options?: UrlReaderServiceSearchOptions, + ): Promise { const parsed = new URL(url); for (const { predicate, reader } of this.readers) { diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts index e61ce3242e..1973b2158f 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadTreeResponseFactory.ts @@ -24,7 +24,7 @@ import { import { TarArchiveResponse } from './TarArchiveResponse'; import { ZipArchiveResponse } from './ZipArchiveResponse'; import { ReadableArrayResponse } from './ReadableArrayResponse'; -import { UrlReaderReadTreeResponse } from '@backstage/backend-plugin-api'; +import { UrlReaderServiceReadTreeResponse } from '@backstage/backend-plugin-api'; export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { static create(options: { config: Config }): DefaultReadTreeResponseFactory { @@ -40,7 +40,7 @@ export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { options: ReadTreeResponseFactoryOptions & { stripFirstDirectory?: boolean; }, - ): Promise { + ): Promise { return new TarArchiveResponse( options.stream, options.subpath ?? '', @@ -53,7 +53,7 @@ export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { async fromZipArchive( options: ReadTreeResponseFactoryOptions, - ): Promise { + ): Promise { return new ZipArchiveResponse( options.stream, options.subpath ?? '', @@ -65,7 +65,7 @@ export class DefaultReadTreeResponseFactory implements ReadTreeResponseFactory { async fromReadableArray( options: FromReadableArrayOptions, - ): Promise { + ): Promise { return new ReadableArrayResponse(options, this.workDir, ''); } } diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts index 4e1b24f47f..6b39672ddd 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ReadableArrayResponse.ts @@ -15,9 +15,9 @@ */ import { - UrlReaderReadTreeResponse, - UrlReaderReadTreeResponseDirOptions, - UrlReaderReadTreeResponseFile, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadTreeResponseDirOptions, + UrlReaderServiceReadTreeResponseFile, } from '@backstage/backend-plugin-api'; import concatStream from 'concat-stream'; import platformPath, { dirname } from 'path'; @@ -33,7 +33,7 @@ const pipeline = promisify(pipelineCb); /** * Wraps a array of Readable objects into a tree response reader. */ -export class ReadableArrayResponse implements UrlReaderReadTreeResponse { +export class ReadableArrayResponse implements UrlReaderServiceReadTreeResponse { private read = false; constructor( @@ -52,10 +52,10 @@ export class ReadableArrayResponse implements UrlReaderReadTreeResponse { this.read = true; } - async files(): Promise { + async files(): Promise { this.onlyOnce(); - const files = Array(); + const files = Array(); for (let i = 0; i < this.stream.length; i++) { if (!this.stream[i].path.endsWith('/')) { @@ -86,7 +86,9 @@ export class ReadableArrayResponse implements UrlReaderReadTreeResponse { } } - async dir(options?: UrlReaderReadTreeResponseDirOptions): Promise { + async dir( + options?: UrlReaderServiceReadTreeResponseDirOptions, + ): Promise { this.onlyOnce(); const dir = diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts index 59b750eb1e..9fb1d3fe7e 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/TarArchiveResponse.ts @@ -15,9 +15,9 @@ */ import { - UrlReaderReadTreeResponse, - UrlReaderReadTreeResponseDirOptions, - UrlReaderReadTreeResponseFile, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadTreeResponseDirOptions, + UrlReaderServiceReadTreeResponseFile, } from '@backstage/backend-plugin-api'; import concatStream from 'concat-stream'; import fs from 'fs-extra'; @@ -35,7 +35,7 @@ const pipeline = promisify(pipelineCb); /** * Wraps a tar archive stream into a tree response reader. */ -export class TarArchiveResponse implements UrlReaderReadTreeResponse { +export class TarArchiveResponse implements UrlReaderServiceReadTreeResponse { private read = false; constructor( @@ -68,10 +68,10 @@ export class TarArchiveResponse implements UrlReaderReadTreeResponse { this.read = true; } - async files(): Promise { + async files(): Promise { this.onlyOnce(); - const files = Array(); + const files = Array(); const parser = new TarParseStream(); parser.on('entry', (entry: ReadEntry & Readable) => { @@ -142,7 +142,9 @@ export class TarArchiveResponse implements UrlReaderReadTreeResponse { } } - async dir(options?: UrlReaderReadTreeResponseDirOptions): Promise { + async dir( + options?: UrlReaderServiceReadTreeResponseDirOptions, + ): Promise { this.onlyOnce(); const dir = diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts index 3d3b615ee7..5c0b6f77bc 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/tree/ZipArchiveResponse.ts @@ -15,9 +15,9 @@ */ import { - UrlReaderReadTreeResponse, - UrlReaderReadTreeResponseDirOptions, - UrlReaderReadTreeResponseFile, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadTreeResponseDirOptions, + UrlReaderServiceReadTreeResponseFile, } from '@backstage/backend-plugin-api'; import archiver from 'archiver'; import yauzl, { Entry } from 'yauzl'; @@ -30,7 +30,7 @@ import { resolveSafeChildPath } from '@backstage/backend-plugin-api'; /** * Wraps a zip archive stream into a tree response reader. */ -export class ZipArchiveResponse implements UrlReaderReadTreeResponse { +export class ZipArchiveResponse implements UrlReaderServiceReadTreeResponse { private read = false; constructor( @@ -141,9 +141,9 @@ export class ZipArchiveResponse implements UrlReaderReadTreeResponse { }); } - async files(): Promise { + async files(): Promise { this.onlyOnce(); - const files = Array(); + const files = Array(); const temporary = await this.streamToTemporaryFile(this.stream); await this.forEveryZipEntry(temporary.fileName, async (entry, content) => { @@ -184,7 +184,9 @@ export class ZipArchiveResponse implements UrlReaderReadTreeResponse { return archive; } - async dir(options?: UrlReaderReadTreeResponseDirOptions): Promise { + async dir( + options?: UrlReaderServiceReadTreeResponseDirOptions, + ): Promise { this.onlyOnce(); const dir = options?.targetDir ?? diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts index 254fe1dcec..510b12545f 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/types.ts @@ -18,7 +18,7 @@ import { Readable } from 'stream'; import { Config } from '@backstage/config'; import { UrlReaderService, - UrlReaderReadTreeResponse, + UrlReaderServiceReadTreeResponse, LoggerService, } from '@backstage/backend-plugin-api'; @@ -110,11 +110,11 @@ export interface ReadTreeResponseFactory { */ stripFirstDirectory?: boolean; }, - ): Promise; + ): Promise; fromZipArchive( options: ReadTreeResponseFactoryOptions, - ): Promise; + ): Promise; fromReadableArray( options: FromReadableArrayOptions, - ): Promise; + ): Promise; } diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 141db6f408..c947a9627d 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -7,15 +7,15 @@ - 9bdc3e8: In tests, return `null` rather than throwing an error when trying to get the `ExtensionPoint.T` property, so that tests asserting the property are not easily broken. - b2ee7f3: Deprecated all of the `UrlReader` related type names and replaced them with prefixed versions. Please update your imports. - - `ReadTreeOptions` was renamed to `UrlReaderReadTreeOptions` - - `ReadTreeResponse` was renamed to `UrlReaderReadTreeResponse` - - `ReadTreeResponseDirOptions` was renamed to `UrlReaderReadTreeResponseDirOptions` - - `ReadTreeResponseFile` was renamed to `UrlReaderReadTreeResponseFile` - - `ReadUrlResponse` was renamed to `UrlReaderReadUrlResponse` - - `ReadUrlOptions` was renamed to `UrlReaderReadUrlOptions` - - `SearchOptions` was renamed to `UrlReaderSearchOptions` - - `SearchResponse` was renamed to `UrlReaderSearchResponse` - - `SearchResponseFile` was renamed to `UrlReaderSearchResponseFile` + - `ReadTreeOptions` was renamed to `UrlReaderServiceReadTreeOptions` + - `ReadTreeResponse` was renamed to `UrlReaderServiceReadTreeResponse` + - `ReadTreeResponseDirOptions` was renamed to `UrlReaderServiceReadTreeResponseDirOptions` + - `ReadTreeResponseFile` was renamed to `UrlReaderServiceReadTreeResponseFile` + - `ReadUrlResponse` was renamed to `UrlReaderServiceReadUrlResponse` + - `ReadUrlOptions` was renamed to `UrlReaderServiceReadUrlOptions` + - `SearchOptions` was renamed to `UrlReaderServiceSearchOptions` + - `SearchResponse` was renamed to `UrlReaderServiceSearchResponse` + - `SearchResponseFile` was renamed to `UrlReaderServiceSearchResponseFile` - Updated dependencies - @backstage/plugin-auth-node@0.4.14-next.3 diff --git a/packages/backend-plugin-api/api-report.md b/packages/backend-plugin-api/api-report.md index 5ba4e758ca..140744b5de 100644 --- a/packages/backend-plugin-api/api-report.md +++ b/packages/backend-plugin-api/api-report.md @@ -467,22 +467,23 @@ export function readSchedulerServiceTaskScheduleDefinitionFromConfig( ): SchedulerServiceTaskScheduleDefinition; // @public @deprecated (undocumented) -export type ReadTreeOptions = UrlReaderReadTreeOptions; +export type ReadTreeOptions = UrlReaderServiceReadTreeOptions; // @public @deprecated (undocumented) -export type ReadTreeResponse = UrlReaderReadTreeResponse; +export type ReadTreeResponse = UrlReaderServiceReadTreeResponse; // @public @deprecated (undocumented) -export type ReadTreeResponseDirOptions = UrlReaderReadTreeResponseDirOptions; +export type ReadTreeResponseDirOptions = + UrlReaderServiceReadTreeResponseDirOptions; // @public @deprecated (undocumented) -export type ReadTreeResponseFile = UrlReaderReadTreeResponseFile; +export type ReadTreeResponseFile = UrlReaderServiceReadTreeResponseFile; // @public @deprecated (undocumented) -export type ReadUrlOptions = UrlReaderReadUrlOptions; +export type ReadUrlOptions = UrlReaderServiceReadUrlOptions; // @public @deprecated (undocumented) -export type ReadUrlResponse = UrlReaderReadUrlResponse; +export type ReadUrlResponse = UrlReaderServiceReadUrlResponse; // @public export function resolvePackagePath(name: string, ...paths: string[]): string; @@ -587,13 +588,13 @@ export interface SchedulerServiceTaskScheduleDefinitionConfig { } // @public @deprecated (undocumented) -export type SearchOptions = UrlReaderSearchOptions; +export type SearchOptions = UrlReaderServiceSearchOptions; // @public @deprecated (undocumented) -export type SearchResponse = UrlReaderSearchResponse; +export type SearchResponse = UrlReaderServiceSearchResponse; // @public @deprecated (undocumented) -export type SearchResponseFile = UrlReaderSearchResponseFile; +export type SearchResponseFile = UrlReaderServiceSearchResponseFile; // @public (undocumented) export interface ServiceFactory< @@ -639,7 +640,23 @@ export interface TokenManagerService { } // @public -export type UrlReaderReadTreeOptions = { +export interface UrlReaderService { + readTree( + url: string, + options?: UrlReaderServiceReadTreeOptions, + ): Promise; + readUrl( + url: string, + options?: UrlReaderServiceReadUrlOptions, + ): Promise; + search( + url: string, + options?: UrlReaderServiceSearchOptions, + ): Promise; +} + +// @public +export type UrlReaderServiceReadTreeOptions = { filter?( path: string, info?: { @@ -652,27 +669,27 @@ export type UrlReaderReadTreeOptions = { }; // @public -export type UrlReaderReadTreeResponse = { - files(): Promise; +export type UrlReaderServiceReadTreeResponse = { + files(): Promise; archive(): Promise; - dir(options?: UrlReaderReadTreeResponseDirOptions): Promise; + dir(options?: UrlReaderServiceReadTreeResponseDirOptions): Promise; etag: string; }; // @public -export type UrlReaderReadTreeResponseDirOptions = { +export type UrlReaderServiceReadTreeResponseDirOptions = { targetDir?: string; }; // @public -export type UrlReaderReadTreeResponseFile = { +export type UrlReaderServiceReadTreeResponseFile = { path: string; content(): Promise; lastModifiedAt?: Date; }; // @public -export type UrlReaderReadUrlOptions = { +export type UrlReaderServiceReadUrlOptions = { etag?: string; lastModifiedAfter?: Date; signal?: AbortSignal; @@ -680,7 +697,7 @@ export type UrlReaderReadUrlOptions = { }; // @public -export type UrlReaderReadUrlResponse = { +export type UrlReaderServiceReadUrlResponse = { buffer(): Promise; stream?(): Readable; etag?: string; @@ -688,41 +705,25 @@ export type UrlReaderReadUrlResponse = { }; // @public -export type UrlReaderSearchOptions = { +export type UrlReaderServiceSearchOptions = { etag?: string; signal?: AbortSignal; token?: string; }; // @public -export type UrlReaderSearchResponse = { - files: UrlReaderSearchResponseFile[]; +export type UrlReaderServiceSearchResponse = { + files: UrlReaderServiceSearchResponseFile[]; etag: string; }; // @public -export type UrlReaderSearchResponseFile = { +export type UrlReaderServiceSearchResponseFile = { url: string; content(): Promise; lastModifiedAt?: Date; }; -// @public -export interface UrlReaderService { - readTree( - url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; - readUrl( - url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; - search( - url: string, - options?: UrlReaderSearchOptions, - ): Promise; -} - // @public export interface UserInfoService { getUserInfo(credentials: BackstageCredentials): Promise; diff --git a/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts b/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts index 085b0b6844..25b787107e 100644 --- a/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts +++ b/packages/backend-plugin-api/src/services/definitions/UrlReaderService.ts @@ -29,24 +29,24 @@ export interface UrlReaderService { */ readUrl( url: string, - options?: UrlReaderReadUrlOptions, - ): Promise; + options?: UrlReaderServiceReadUrlOptions, + ): Promise; /** * Reads a full or partial file tree. */ readTree( url: string, - options?: UrlReaderReadTreeOptions, - ): Promise; + options?: UrlReaderServiceReadTreeOptions, + ): Promise; /** * Searches for a file in a tree using a glob pattern. */ search( url: string, - options?: UrlReaderSearchOptions, - ): Promise; + options?: UrlReaderServiceSearchOptions, + ): Promise; } /** @@ -54,7 +54,7 @@ export interface UrlReaderService { * * @public */ -export type UrlReaderReadUrlOptions = { +export type UrlReaderServiceReadUrlOptions = { /** * An ETag which can be provided to check whether a * {@link UrlReaderService.readUrl} response has changed from a previous execution. @@ -122,7 +122,7 @@ export type UrlReaderReadUrlOptions = { * * @public */ -export type UrlReaderReadUrlResponse = { +export type UrlReaderServiceReadUrlResponse = { /** * Returns the data that was read from the remote URL. */ @@ -157,7 +157,7 @@ export type UrlReaderReadUrlResponse = { * * @public */ -export type UrlReaderReadTreeOptions = { +export type UrlReaderServiceReadTreeOptions = { /** * A filter that can be used to select which files should be included. * @@ -217,11 +217,11 @@ export type UrlReaderReadTreeOptions = { }; /** - * Options that control {@link UrlReaderReadTreeResponse.dir} execution. + * Options that control {@link UrlReaderServiceReadTreeResponse.dir} execution. * * @public */ -export type UrlReaderReadTreeResponseDirOptions = { +export type UrlReaderServiceReadTreeResponseDirOptions = { /** * The directory to write files to. * @@ -237,12 +237,12 @@ export type UrlReaderReadTreeResponseDirOptions = { * * @public */ -export type UrlReaderReadTreeResponse = { +export type UrlReaderServiceReadTreeResponse = { /** * Returns an array of all the files inside the tree, and corresponding * functions to read their content. */ - files(): Promise; + files(): Promise; /** * Returns the tree contents as a binary archive, using a stream. @@ -255,7 +255,7 @@ export type UrlReaderReadTreeResponse = { * * **NOTE**: It is the responsibility of the caller to remove the directory after use. */ - dir(options?: UrlReaderReadTreeResponseDirOptions): Promise; + dir(options?: UrlReaderServiceReadTreeResponseDirOptions): Promise; /** * Etag returned by content provider. @@ -272,7 +272,7 @@ export type UrlReaderReadTreeResponse = { * * @public */ -export type UrlReaderReadTreeResponseFile = { +export type UrlReaderServiceReadTreeResponseFile = { /** * The filepath of the data. */ @@ -294,7 +294,7 @@ export type UrlReaderReadTreeResponseFile = { * * @public */ -export type UrlReaderSearchOptions = { +export type UrlReaderServiceSearchOptions = { /** * An etag can be provided to check whether the search response has changed from a previous execution. * @@ -335,11 +335,11 @@ export type UrlReaderSearchOptions = { * * @public */ -export type UrlReaderSearchResponse = { +export type UrlReaderServiceSearchResponse = { /** * The files that matched the search query. */ - files: UrlReaderSearchResponseFile[]; + files: UrlReaderServiceSearchResponseFile[]; /** * A unique identifier of the current remote tree, usually the commit SHA or etag from the target. @@ -352,7 +352,7 @@ export type UrlReaderSearchResponse = { * * @public */ -export type UrlReaderSearchResponseFile = { +export type UrlReaderServiceSearchResponseFile = { /** * The full URL to the file. */ @@ -371,46 +371,47 @@ export type UrlReaderSearchResponseFile = { /** * @public - * @deprecated Use `UrlReaderReadTreeOptions` instead + * @deprecated Use `UrlReaderServiceReadTreeOptions` instead */ -export type ReadTreeOptions = UrlReaderReadTreeOptions; +export type ReadTreeOptions = UrlReaderServiceReadTreeOptions; /** * @public - * @deprecated Use `UrlReaderReadTreeResponse` instead + * @deprecated Use `UrlReaderServiceReadTreeResponse` instead */ -export type ReadTreeResponse = UrlReaderReadTreeResponse; +export type ReadTreeResponse = UrlReaderServiceReadTreeResponse; /** * @public - * @deprecated Use `UrlReaderReadTreeResponseDirOptions` instead + * @deprecated Use `UrlReaderServiceReadTreeResponseDirOptions` instead */ -export type ReadTreeResponseDirOptions = UrlReaderReadTreeResponseDirOptions; +export type ReadTreeResponseDirOptions = + UrlReaderServiceReadTreeResponseDirOptions; /** * @public - * @deprecated Use `UrlReaderReadTreeResponseFile` instead + * @deprecated Use `UrlReaderServiceReadTreeResponseFile` instead */ -export type ReadTreeResponseFile = UrlReaderReadTreeResponseFile; +export type ReadTreeResponseFile = UrlReaderServiceReadTreeResponseFile; /** * @public - * @deprecated Use `UrlReaderReadUrlResponse` instead + * @deprecated Use `UrlReaderServiceReadUrlResponse` instead */ -export type ReadUrlResponse = UrlReaderReadUrlResponse; +export type ReadUrlResponse = UrlReaderServiceReadUrlResponse; /** * @public - * @deprecated Use `UrlReaderReadUrlOptions` instead + * @deprecated Use `UrlReaderServiceReadUrlOptions` instead */ -export type ReadUrlOptions = UrlReaderReadUrlOptions; +export type ReadUrlOptions = UrlReaderServiceReadUrlOptions; /** * @public - * @deprecated Use `UrlReaderSearchOptions` instead + * @deprecated Use `UrlReaderServiceSearchOptions` instead */ -export type SearchOptions = UrlReaderSearchOptions; +export type SearchOptions = UrlReaderServiceSearchOptions; /** * @public - * @deprecated Use `UrlReaderSearchResponse` instead + * @deprecated Use `UrlReaderServiceSearchResponse` instead */ -export type SearchResponse = UrlReaderSearchResponse; +export type SearchResponse = UrlReaderServiceSearchResponse; /** * @public - * @deprecated Use `UrlReaderSearchResponseFile` instead + * @deprecated Use `UrlReaderServiceSearchResponseFile` instead */ -export type SearchResponseFile = UrlReaderSearchResponseFile; +export type SearchResponseFile = UrlReaderServiceSearchResponseFile; diff --git a/packages/backend-plugin-api/src/services/definitions/index.ts b/packages/backend-plugin-api/src/services/definitions/index.ts index 13175b96ae..6f30c5f980 100644 --- a/packages/backend-plugin-api/src/services/definitions/index.ts +++ b/packages/backend-plugin-api/src/services/definitions/index.ts @@ -74,15 +74,15 @@ export type { SearchOptions, SearchResponse, SearchResponseFile, - UrlReaderReadTreeOptions, - UrlReaderReadTreeResponse, - UrlReaderReadTreeResponseDirOptions, - UrlReaderReadTreeResponseFile, - UrlReaderReadUrlResponse, - UrlReaderReadUrlOptions, - UrlReaderSearchOptions, - UrlReaderSearchResponse, - UrlReaderSearchResponseFile, + UrlReaderServiceReadTreeOptions, + UrlReaderServiceReadTreeResponse, + UrlReaderServiceReadTreeResponseDirOptions, + UrlReaderServiceReadTreeResponseFile, + UrlReaderServiceReadUrlResponse, + UrlReaderServiceReadUrlOptions, + UrlReaderServiceSearchOptions, + UrlReaderServiceSearchResponse, + UrlReaderServiceSearchResponseFile, UrlReaderService, } from './UrlReaderService'; export type { BackstageUserInfo, UserInfoService } from './UserInfoService';