Merge pull request #26012 from backstage/mob/backend-plugin-api-cleanup

[NBS1.0] Remove `UrlReader` related deprecations
This commit is contained in:
Johan Haals
2024-08-15 14:43:25 +02:00
committed by GitHub
69 changed files with 254 additions and 550 deletions
+16
View File
@@ -0,0 +1,16 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/backend-dynamic-feature-service': patch
'@backstage/plugin-scaffolder-backend-module-rails': patch
'@backstage/plugin-catalog-backend-module-openapi': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/plugin-techdocs-node': patch
---
Update deprecated url-reader-related imports.
+15
View File
@@ -0,0 +1,15 @@
---
'@backstage/backend-plugin-api': minor
---
**BREAKING** Deleted the following deprecated `UrlReader` exports
- ReadUrlOptions: Use `UrlReaderServiceReadUrlOptions` instead;
- ReadUrlResponse: Use `UrlReaderServiceReadUrlResponse` instead;
- ReadTreeOptions: Use `UrlReaderServiceReadTreeOptions` instead;
- ReadTreeResponse: Use `UrlReaderServiceReadTreeResponse` instead;
- ReadTreeResponseFile: Use `UrlReaderServiceReadTreeResponseFile` instead;
- ReadTreeResponseDirOptions: Use `UrlReaderServiceReadTreeResponseDirOptions` instead;
- SearchOptions: Use `UrlReaderServiceSearchOptions` instead;
- SearchResponse: Use `UrlReaderServiceSearchResponse` instead;
- SearchResponseFile: Use `UrlReaderServiceSearchResponseFile` instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': minor
---
Remove deprecated `urlReaderServiceFactory`, please import from `@backstage/backend-defaults/urlReader` instead.
+36
View File
@@ -0,0 +1,36 @@
---
'@backstage/backend-common': minor
---
**BREAKING**: Removed the following `Url Reader` deprecated exports:
- UrlReader: Use `UrlReaderService` from `@backstage/backend-plugin-api` instead;
- AzureUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- BitbucketUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- BitbucketCloudUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- BitbucketServerUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- GithubUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- GitlabUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- GerritUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- GiteaUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- HarnessUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- AwsS3UrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- FetchUrlReader: Import from `@backstage/backend-defaults/urlReader` instead;
- UrlReaders: Import from `@backstage/backend-defaults/urlReader` instead;
- UrlReadersOptions: Import from `@backstage/backend-defaults/urlReader` instead;
- UrlReaderPredicateTuple: Import from `@backstage/backend-defaults/urlReader` instead;
- FromReadableArrayOptions: Import from `@backstage/backend-defaults/urlReader` instead;
- ReaderFactory: Import from `@backstage/backend-defaults/urlReader` instead;
- ReadUrlOptions:Use `UrlReaderServiceReadUrlOptions` from `@backstage/backend-plugin-api` instead;
- ReadUrlResponse: Use `UrlReaderServiceReadUrlResponse` from `@backstage/backend-plugin-api` instead;
- ReadUrlResponseFactory: Import from `@backstage/backend-defaults/urlReader` instead;
- ReadUrlResponseFactoryFromStreamOptions: Import from `@backstage/backend-defaults/urlReader` instead;
- ReadTreeOptions: Use `UrlReaderServiceReadTreeOptions` from `@backstage/backend-plugin-api` instead;
- ReadTreeResponse: Use `UrlReaderServiceReadTreeResponse` from `@backstage/backend-plugin-api` instead;
- ReadTreeResponseFile: Use `UrlReaderServiceReadTreeResponseFile` from `@backstage/backend-plugin-api` instead;
- ReadTreeResponseDirOptions: Use `UrlReaderServiceReadTreeResponseDirOptions` from `@backstage/backend-plugin-api` instead;
- ReadTreeResponseFactory: Import from `@backstage/backend-defaults/urlReader` instead;
- ReadTreeResponseFactoryOptions: Import from `@backstage/backend-defaults/urlReader` instead;
- SearchOptions: Use `UrlReaderServiceSearchOptions` from `@backstage/backend-plugin-api` instead;
- SearchResponse: Use `UrlReaderServiceSearchResponse` from `@backstage/backend-plugin-api` instead;
- SearchResponseFile: Use `UrlReaderServiceSearchResponseFile` from `@backstage/backend-plugin-api` instead.
-160
View File
@@ -9,14 +9,7 @@
import { AppConfig } from '@backstage/config';
import { AuthCallback } from 'isomorphic-git';
import { AuthService } from '@backstage/backend-plugin-api';
import { AwsCredentialsManager } from '@backstage/integration-aws-node';
import { AwsS3Integration } from '@backstage/integration';
import { AzureDevOpsCredentialsProvider } from '@backstage/integration';
import { AzureIntegration } from '@backstage/integration';
import { BackendFeatureCompat } from '@backstage/backend-plugin-api';
import { BitbucketCloudIntegration } from '@backstage/integration';
import { BitbucketIntegration } from '@backstage/integration';
import { BitbucketServerIntegration } from '@backstage/integration';
import { CacheService } from '@backstage/backend-plugin-api';
import { CacheServiceOptions } from '@backstage/backend-plugin-api';
import { CacheServiceSetOptions } from '@backstage/backend-plugin-api';
@@ -28,12 +21,6 @@ import { DiscoveryService } from '@backstage/backend-plugin-api';
import Docker from 'dockerode';
import { ErrorRequestHandler } from 'express';
import express from 'express';
import { GerritIntegration } from '@backstage/integration';
import { GiteaIntegration } from '@backstage/integration';
import { GithubCredentialsProvider } from '@backstage/integration';
import { GithubIntegration } from '@backstage/integration';
import { GitLabIntegration } from '@backstage/integration';
import { HarnessIntegration } from '@backstage/integration';
import { HttpAuthService } from '@backstage/backend-plugin-api';
import { IdentityService } from '@backstage/backend-plugin-api';
import { isChildPath as isChildPath_2 } from '@backstage/backend-plugin-api';
@@ -47,34 +34,18 @@ import { MergeResult } from 'isomorphic-git';
import { PermissionsService } from '@backstage/backend-plugin-api';
import { PluginMetadataService } from '@backstage/backend-plugin-api';
import { PushResult } from 'isomorphic-git';
import { Readable } from 'stream';
import { ReadCommitResult } from 'isomorphic-git';
import { ReadTreeOptions as ReadTreeOptions_2 } from '@backstage/backend-plugin-api';
import { ReadTreeResponse as ReadTreeResponse_2 } from '@backstage/backend-plugin-api';
import { ReadTreeResponseDirOptions as ReadTreeResponseDirOptions_2 } from '@backstage/backend-plugin-api';
import { ReadTreeResponseFile as ReadTreeResponseFile_2 } from '@backstage/backend-plugin-api';
import { ReadUrlOptions as ReadUrlOptions_2 } from '@backstage/backend-plugin-api';
import { ReadUrlResponse as ReadUrlResponse_2 } from '@backstage/backend-plugin-api';
import { RequestHandler } from 'express';
import { resolvePackagePath as resolvePackagePath_2 } from '@backstage/backend-plugin-api';
import { resolveSafeChildPath as resolveSafeChildPath_2 } from '@backstage/backend-plugin-api';
import { RootConfigService } from '@backstage/backend-plugin-api';
import { Router } from 'express';
import { SchedulerService } from '@backstage/backend-plugin-api';
import { SearchOptions as SearchOptions_2 } from '@backstage/backend-plugin-api';
import { SearchResponse as SearchResponse_2 } from '@backstage/backend-plugin-api';
import { SearchResponseFile as SearchResponseFile_2 } from '@backstage/backend-plugin-api';
import { Server } from 'http';
import { ServiceRef } from '@backstage/backend-plugin-api';
import { TokenManagerService } from '@backstage/backend-plugin-api';
import { TransportStreamOptions } from 'winston-transport';
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';
@@ -86,31 +57,6 @@ export type AuthCallbackOptions = {
logger?: LoggerService;
};
// Warning: (ae-forgotten-export) The symbol "AwsS3UrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class AwsS3UrlReader extends AwsS3UrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "AzureUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class AzureUrlReader extends AzureUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "BitbucketCloudUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class BitbucketCloudUrlReader extends BitbucketCloudUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "BitbucketServerUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class BitbucketServerUrlReader extends BitbucketServerUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "BitbucketUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class BitbucketUrlReader extends BitbucketUrlReader_2 {}
// @public @deprecated (undocumented)
export type CacheClient = CacheService;
@@ -245,21 +191,6 @@ export type ErrorHandlerOptions = {
logClientErrors?: boolean;
};
// Warning: (ae-forgotten-export) The symbol "FetchUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class FetchUrlReader extends FetchUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "FromReadableArrayOptions_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type FromReadableArrayOptions = FromReadableArrayOptions_2;
// Warning: (ae-forgotten-export) The symbol "GerritUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class GerritUrlReader extends GerritUrlReader_2 {}
// @public @deprecated
export function getRootLogger(): winston.Logger;
@@ -342,26 +273,6 @@ export class Git {
resolveRef(options: { dir: string; ref: string }): Promise<string>;
}
// Warning: (ae-forgotten-export) The symbol "GiteaUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class GiteaUrlReader extends GiteaUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "GithubUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class GithubUrlReader extends GithubUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "GitlabUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class GitlabUrlReader extends GitlabUrlReader_2 {}
// Warning: (ae-forgotten-export) The symbol "HarnessUrlReader_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class HarnessUrlReader extends HarnessUrlReader_2 {}
// @public @deprecated
class HostDiscovery implements DiscoveryService {
static fromConfig(
@@ -506,50 +417,6 @@ export interface PullOptions {
};
}
// Warning: (ae-forgotten-export) The symbol "ReaderFactory_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type ReaderFactory = ReaderFactory_2;
// @public @deprecated (undocumented)
export type ReadTreeOptions = ReadTreeOptions_2;
// @public @deprecated (undocumented)
export type ReadTreeResponse = ReadTreeResponse_2;
// @public @deprecated (undocumented)
export type ReadTreeResponseDirOptions = ReadTreeResponseDirOptions_2;
// Warning: (ae-forgotten-export) The symbol "ReadTreeResponseFactory_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type ReadTreeResponseFactory = ReadTreeResponseFactory_2;
// Warning: (ae-forgotten-export) The symbol "ReadTreeResponseFactoryOptions_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type ReadTreeResponseFactoryOptions = ReadTreeResponseFactoryOptions_2;
// @public @deprecated (undocumented)
export type ReadTreeResponseFile = ReadTreeResponseFile_2;
// @public @deprecated (undocumented)
export type ReadUrlOptions = ReadUrlOptions_2;
// @public @deprecated (undocumented)
export type ReadUrlResponse = ReadUrlResponse_2;
// Warning: (ae-forgotten-export) The symbol "ReadUrlResponseFactory_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class ReadUrlResponseFactory extends ReadUrlResponseFactory_2 {}
// Warning: (ae-forgotten-export) The symbol "ReadUrlResponseFactoryFromStreamOptions_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type ReadUrlResponseFactoryFromStreamOptions =
ReadUrlResponseFactoryFromStreamOptions_2;
// @public @deprecated
export function redactWinstonLogLine(
info: winston.Logform.TransformableInfo,
@@ -583,15 +450,6 @@ export type RunContainerOptions = {
pullOptions?: PullOptions;
};
// @public @deprecated (undocumented)
export type SearchOptions = SearchOptions_2;
// @public @deprecated (undocumented)
export type SearchResponse = SearchResponse_2;
// @public @deprecated (undocumented)
export type SearchResponseFile = SearchResponseFile_2;
// @public @deprecated
export class ServerTokenManager implements TokenManager {
// (undocumented)
@@ -667,24 +525,6 @@ export interface StatusCheckHandlerOptions {
// @public @deprecated (undocumented)
export type TokenManager = TokenManagerService;
// @public @deprecated (undocumented)
export type UrlReader = UrlReaderService;
// Warning: (ae-forgotten-export) The symbol "UrlReaderPredicateTuple_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type UrlReaderPredicateTuple = UrlReaderPredicateTuple_2;
// Warning: (ae-forgotten-export) The symbol "UrlReaders_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export class UrlReaders extends UrlReaders_2 {}
// Warning: (ae-forgotten-export) The symbol "UrlReadersOptions_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export type UrlReadersOptions = UrlReadersOptions_2;
// @public @deprecated
export function useHotCleanup(
_module: NodeModule,
@@ -36,45 +36,6 @@ import {
type LegacyRootDatabaseService as _LegacyRootDatabaseService,
} from '../../../backend-defaults/src/entrypoints/database/DatabaseManager';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { AzureUrlReader as _AzureUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/AzureUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { BitbucketCloudUrlReader as _BitbucketCloudUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/BitbucketCloudUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { BitbucketUrlReader as _BitbucketUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/BitbucketUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { BitbucketServerUrlReader as _BitbucketServerUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/BitbucketServerUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { GerritUrlReader as _GerritUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GerritUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { GithubUrlReader as _GithubUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GithubUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { GitlabUrlReader as _GitlabUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { GiteaUrlReader as _GiteaUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/GiteaUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { HarnessUrlReader as _HarnessUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/HarnessUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { AwsS3UrlReader as _AwsS3UrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/AwsS3UrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { FetchUrlReader as _FetchUrlReader } from '../../../backend-defaults/src/entrypoints/urlReader/lib/FetchUrlReader';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { UrlReaders as _UrlReaders } from '../../../backend-defaults/src/entrypoints/urlReader/lib/UrlReaders';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { ReadUrlResponseFactory as _ReadUrlResponseFactory } from '../../../backend-defaults/src/entrypoints/urlReader/lib/ReadUrlResponseFactory';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import type { UrlReadersOptions as _UrlReadersOptions } from '../../../backend-defaults/src/entrypoints/urlReader/lib/UrlReaders';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import type { FromReadableArrayOptions as _FromReadableArrayOptions } from '../../../backend-defaults/src/entrypoints/urlReader/lib/types';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import type {
ReaderFactory as _ReaderFactory,
ReadTreeResponseFactory as _ReadTreeResponseFactory,
ReadTreeResponseFactoryOptions as _ReadTreeResponseFactoryOptions,
ReadUrlResponseFactoryFromStreamOptions as _ReadUrlResponseFactoryFromStreamOptions,
UrlReaderPredicateTuple as _UrlReaderPredicateTuple,
} from '../../../backend-defaults/src/entrypoints/urlReader/lib/types';
import {
DiscoveryService,
CacheService,
@@ -85,16 +46,6 @@ import {
resolvePackagePath as _resolvePackagePath,
resolveSafeChildPath as _resolveSafeChildPath,
isChildPath as _isChildPath,
ReadTreeOptions as _ReadTreeOptions,
ReadTreeResponse as _ReadTreeResponse,
ReadTreeResponseFile as _ReadTreeResponseFile,
ReadTreeResponseDirOptions as _ReadTreeResponseDirOptions,
ReadUrlOptions as _ReadUrlOptions,
ReadUrlResponse as _ReadUrlResponse,
SearchOptions as _SearchOptions,
SearchResponse as _SearchResponse,
SearchResponseFile as _SearchResponseFile,
UrlReaderService as _UrlReaderService,
LifecycleService,
PluginMetadataService,
} from '@backstage/backend-plugin-api';
@@ -290,184 +241,3 @@ export const resolveSafeChildPath = _resolveSafeChildPath;
* Please use the `isChildPath` function from the `@backstage/cli-common` package instead.
*/
export const isChildPath = _isChildPath;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class AzureUrlReader extends _AzureUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class BitbucketCloudUrlReader extends _BitbucketCloudUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class BitbucketUrlReader extends _BitbucketUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class BitbucketServerUrlReader extends _BitbucketServerUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class GerritUrlReader extends _GerritUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class GithubUrlReader extends _GithubUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class GitlabUrlReader extends _GitlabUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class GiteaUrlReader extends _GiteaUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class HarnessUrlReader extends _HarnessUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class AwsS3UrlReader extends _AwsS3UrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class FetchUrlReader extends _FetchUrlReader {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class UrlReaders extends _UrlReaders {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export class ReadUrlResponseFactory extends _ReadUrlResponseFactory {}
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type UrlReadersOptions = _UrlReadersOptions;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type FromReadableArrayOptions = _FromReadableArrayOptions;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type ReaderFactory = _ReaderFactory;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type ReadTreeResponseFactory = _ReadTreeResponseFactory;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type ReadTreeResponseFactoryOptions = _ReadTreeResponseFactoryOptions;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type ReadUrlResponseFactoryFromStreamOptions =
_ReadUrlResponseFactoryFromStreamOptions;
/**
* @public
* @deprecated Import from `@backstage/backend-defaults/urlReader` instead
*/
export type UrlReaderPredicateTuple = _UrlReaderPredicateTuple;
/**
* @public
* @deprecated Use `UrlReaderServiceReadTreeOptions` from `@backstage/backend-plugin-api` instead
*/
export type ReadTreeOptions = _ReadTreeOptions;
/**
* @public
* @deprecated Use `UrlReaderServiceReadTreeResponse` from `@backstage/backend-plugin-api` instead
*/
export type ReadTreeResponse = _ReadTreeResponse;
/**
* @public
* @deprecated Use `UrlReaderServiceReadTreeResponseFile` from `@backstage/backend-plugin-api` instead
*/
export type ReadTreeResponseFile = _ReadTreeResponseFile;
/**
* @public
* @deprecated Use `UrlReaderServiceReadTreeResponseDirOptions` from `@backstage/backend-plugin-api` instead
*/
export type ReadTreeResponseDirOptions = _ReadTreeResponseDirOptions;
/**
* @public
* @deprecated Use `UrlReaderServiceReadUrlOptions` from `@backstage/backend-plugin-api` instead
*/
export type ReadUrlOptions = _ReadUrlOptions;
/**
* @public
* @deprecated Use `UrlReaderServiceReadUrlResponse` from `@backstage/backend-plugin-api` instead
*/
export type ReadUrlResponse = _ReadUrlResponse;
/**
* @public
* @deprecated Use `UrlReaderServiceSearchOptions` from `@backstage/backend-plugin-api` instead
*/
export type SearchOptions = _SearchOptions;
/**
* @public
* @deprecated Use `UrlReaderServiceSearchResponse` from `@backstage/backend-plugin-api` instead
*/
export type SearchResponse = _SearchResponse;
/**
* @public
* @deprecated Use `UrlReaderServiceSearchResponseFile` from `@backstage/backend-plugin-api` instead
*/
export type SearchResponseFile = _SearchResponseFile;
/**
* @public
* @deprecated Use `UrlReaderService` from `@backstage/backend-plugin-api` instead
*/
export type UrlReader = _UrlReaderService;
@@ -33,7 +33,7 @@ import { ServiceRef } from '@backstage/backend-plugin-api';
import { TaskRunner } from '@backstage/backend-tasks';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { TokenManager } from '@backstage/backend-common';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public (undocumented)
export interface BackendDynamicPlugin extends BaseDynamicPlugin {
@@ -221,7 +221,7 @@ export type LegacyPluginEnvironment = {
cache: PluginCacheManager;
database: PluginDatabaseManager;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
discovery: PluginEndpointDiscovery;
tokenManager: TokenManager;
permissions: PermissionEvaluator;
@@ -21,7 +21,6 @@ import {
PluginDatabaseManager,
PluginEndpointDiscovery,
TokenManager,
UrlReader,
} from '@backstage/backend-common';
import { Router } from 'express';
import { PluginTaskScheduler, TaskRunner } from '@backstage/backend-tasks';
@@ -33,7 +32,10 @@ import {
HttpPostIngressOptions,
} from '@backstage/plugin-events-node';
import { BackendFeature } from '@backstage/backend-plugin-api';
import {
BackendFeature,
UrlReaderService,
} from '@backstage/backend-plugin-api';
import { PackagePlatform, PackageRole } from '@backstage/cli-node';
import { CatalogBuilder } from '@backstage/plugin-catalog-backend';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
@@ -58,7 +60,7 @@ export type LegacyPluginEnvironment = {
cache: PluginCacheManager;
database: PluginDatabaseManager;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
discovery: PluginEndpointDiscovery;
tokenManager: TokenManager;
permissions: PermissionEvaluator;
+2
View File
@@ -29,6 +29,8 @@
},
"dependencies": {
"@backstage/backend-common": "workspace:^",
"@backstage/backend-defaults": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/backend-tasks": "workspace:^",
"@backstage/catalog-client": "workspace:^",
"@backstage/catalog-model": "workspace:^",
+1 -1
View File
@@ -32,7 +32,6 @@ import {
loadBackendConfig,
notFoundHandler,
ServerTokenManager,
UrlReaders,
useHotMemoize,
} from '@backstage/backend-common';
import { TaskScheduler } from '@backstage/backend-tasks';
@@ -57,6 +56,7 @@ import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
import { DefaultEventBroker } from '@backstage/plugin-events-backend';
import { DefaultEventsService } from '@backstage/plugin-events-node';
import { DefaultSignalsService } from '@backstage/plugin-signals-node';
import { UrlReaders } from '@backstage/backend-defaults/urlReader';
function makeCreateEnv(config: Config) {
const root = getRootLogger();
+2 -2
View File
@@ -21,20 +21,20 @@ import {
PluginDatabaseManager,
PluginEndpointDiscovery,
TokenManager,
UrlReader,
} from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { IdentityApi } from '@backstage/plugin-auth-node';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { EventBroker, EventsService } from '@backstage/plugin-events-node';
import { SignalsService } from '@backstage/plugin-signals-node';
import { UrlReaderService } from '@backstage/backend-plugin-api';
export type PluginEnvironment = {
logger: Logger;
cache: PluginCacheManager;
database: PluginDatabaseManager;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
discovery: PluginEndpointDiscovery;
tokenManager: TokenManager;
permissions: PermissionEvaluator;
@@ -17,7 +17,7 @@ import { LocationSpec } from '@backstage/plugin-catalog-common';
import { LoggerService } from '@backstage/backend-plugin-api';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { TaskRunner } from '@backstage/backend-tasks';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public
export const ANNOTATION_AWS_ACCOUNT_ID: string;
@@ -75,7 +75,7 @@ export class AwsOrganizationCloudAccountProcessor implements CatalogProcessor {
// @public @deprecated
export class AwsS3DiscoveryProcessor implements CatalogProcessor {
constructor(reader: UrlReader);
constructor(reader: UrlReaderService);
// (undocumented)
getProcessorName(): string;
// (undocumented)
@@ -58,6 +58,7 @@
"@aws-sdk/middleware-endpoint": "^3.347.0",
"@aws-sdk/types": "^3.347.0",
"@backstage/backend-common": "workspace:^",
"@backstage/backend-defaults": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/backend-tasks": "workspace:^",
"@backstage/catalog-model": "workspace:^",
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReaders } from '@backstage/backend-common';
import { UrlReaders } from '@backstage/backend-defaults/urlReader';
import { ConfigReader } from '@backstage/config';
import { AwsS3DiscoveryProcessor } from './AwsS3DiscoveryProcessor';
import {
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { isError } from '@backstage/errors';
import {
CatalogProcessor,
@@ -34,7 +34,7 @@ import limiterFactory from 'p-limit';
* @deprecated Use the `AwsS3EntityProvider` instead (see https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/CHANGELOG.md#014).
*/
export class AwsS3DiscoveryProcessor implements CatalogProcessor {
constructor(private readonly reader: UrlReader) {}
constructor(private readonly reader: UrlReaderService) {}
getProcessorName(): string {
return 'AwsS3DiscoveryProcessor';
@@ -16,7 +16,7 @@ import type { PermissionEvaluator } from '@backstage/plugin-permission-common';
import type { PluginDatabaseManager } from '@backstage/backend-common';
import type { PluginTaskScheduler } from '@backstage/backend-tasks';
import { Router } from 'express';
import type { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public
export type EntityIteratorResult<T> =
@@ -91,7 +91,7 @@ export type PluginEnvironment = {
database: PluginDatabaseManager;
scheduler: PluginTaskScheduler;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
permissions: PermissionEvaluator;
};
```
@@ -14,10 +14,7 @@
* limitations under the License.
*/
import type {
PluginDatabaseManager,
UrlReader,
} from '@backstage/backend-common';
import type { PluginDatabaseManager } from '@backstage/backend-common';
import type {
PluginTaskScheduler,
TaskFunction,
@@ -32,7 +29,7 @@ import type { PermissionEvaluator } from '@backstage/plugin-permission-common';
import type { DurationObjectUnits } from 'luxon';
import type { Logger } from 'winston';
import { IncrementalIngestionDatabaseManager } from './database/IncrementalIngestionDatabaseManager';
import { LoggerService } from '@backstage/backend-plugin-api';
import { LoggerService, UrlReaderService } from '@backstage/backend-plugin-api';
/**
* Ingest entities into the catalog in bite-sized chunks.
@@ -192,7 +189,7 @@ export type PluginEnvironment = {
database: PluginDatabaseManager;
scheduler: PluginTaskScheduler;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
permissions: PermissionEvaluator;
};
@@ -12,7 +12,7 @@ import { LocationSpec } from '@backstage/plugin-catalog-common';
import { Logger } from 'winston';
import { PlaceholderResolverParams } from '@backstage/plugin-catalog-backend';
import { ScmIntegrations } from '@backstage/integration';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public
const catalogModuleJsonSchemaRefPlaceholderResolver: BackendFeatureCompat;
@@ -31,14 +31,14 @@ export class OpenApiRefProcessor implements CatalogProcessor {
constructor(options: {
integrations: ScmIntegrations;
logger: Logger;
reader: UrlReader;
reader: UrlReaderService;
});
// (undocumented)
static fromConfig(
config: Config,
options: {
logger: Logger;
reader: UrlReader;
reader: UrlReaderService;
},
): OpenApiRefProcessor;
// (undocumented)
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { Entity } from '@backstage/catalog-model';
import { Config } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
@@ -29,11 +29,11 @@ import { Logger } from 'winston';
export class OpenApiRefProcessor implements CatalogProcessor {
private readonly integrations: ScmIntegrations;
private readonly logger: Logger;
private readonly reader: UrlReader;
private readonly reader: UrlReaderService;
static fromConfig(
config: Config,
options: { logger: Logger; reader: UrlReader },
options: { logger: Logger; reader: UrlReaderService },
) {
const integrations = ScmIntegrations.fromConfig(config);
@@ -46,7 +46,7 @@ export class OpenApiRefProcessor implements CatalogProcessor {
constructor(options: {
integrations: ScmIntegrations;
logger: Logger;
reader: UrlReader;
reader: UrlReaderService;
}) {
this.integrations = options.integrations;
this.logger = options.logger;
+6 -6
View File
@@ -63,7 +63,7 @@ import { Router } from 'express';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { ScmLocationAnalyzer as ScmLocationAnalyzer_2 } from '@backstage/plugin-catalog-node';
import { TokenManager } from '@backstage/backend-common';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { Validators } from '@backstage/catalog-model';
// @public @deprecated
@@ -197,7 +197,7 @@ export type CatalogEnvironment = {
logger: LoggerService;
database: PluginDatabaseManager;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
permissions: PermissionsService | PermissionAuthorizer;
scheduler?: PluginTaskScheduler;
discovery?: DiscoveryService;
@@ -254,14 +254,14 @@ export class CodeOwnersProcessor implements CatalogProcessor_2 {
constructor(options: {
integrations: ScmIntegrationRegistry;
logger: LoggerService;
reader: UrlReader;
reader: UrlReaderService;
});
// (undocumented)
static fromConfig(
config: Config,
options: {
logger: LoggerService;
reader: UrlReader;
reader: UrlReaderService;
},
): CodeOwnersProcessor;
// (undocumented)
@@ -413,7 +413,7 @@ export class PlaceholderProcessor implements CatalogProcessor_2 {
// @public (undocumented)
export type PlaceholderProcessorOptions = {
resolvers: Record<string, PlaceholderResolver_2>;
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrationRegistry;
};
@@ -465,7 +465,7 @@ export function transformLegacyPolicyToProcessor(
// @public (undocumented)
export class UrlReaderProcessor implements CatalogProcessor_2 {
constructor(options: { reader: UrlReader; logger: LoggerService });
constructor(options: { reader: UrlReaderService; logger: LoggerService });
// (undocumented)
getProcessorName(): string;
// (undocumented)
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { Entity } from '@backstage/catalog-model';
import { Config } from '@backstage/config';
import {
@@ -24,7 +23,7 @@ import {
import { LocationSpec } from '@backstage/plugin-catalog-common';
import { CatalogProcessor } from '@backstage/plugin-catalog-node';
import { findCodeOwnerByTarget } from './lib';
import { LoggerService } from '@backstage/backend-plugin-api';
import { LoggerService, UrlReaderService } from '@backstage/backend-plugin-api';
const ALLOWED_KINDS = ['API', 'Component', 'Domain', 'Resource', 'System'];
const ALLOWED_LOCATION_TYPES = ['url'];
@@ -33,11 +32,11 @@ const ALLOWED_LOCATION_TYPES = ['url'];
export class CodeOwnersProcessor implements CatalogProcessor {
private readonly integrations: ScmIntegrationRegistry;
private readonly logger: LoggerService;
private readonly reader: UrlReader;
private readonly reader: UrlReaderService;
static fromConfig(
config: Config,
options: { logger: LoggerService; reader: UrlReader },
options: { logger: LoggerService; reader: UrlReaderService },
) {
const integrations = ScmIntegrations.fromConfig(config);
@@ -50,7 +49,7 @@ export class CodeOwnersProcessor implements CatalogProcessor {
constructor(options: {
integrations: ScmIntegrationRegistry;
logger: LoggerService;
reader: UrlReader;
reader: UrlReaderService;
}) {
this.integrations = options.integrations;
this.logger = options.logger;
@@ -14,15 +14,15 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { NotFoundError } from '@backstage/errors';
import { ScmIntegration } from '@backstage/integration';
import 'core-js/features/promise'; // NOTE: This can be removed when ES2021 is implemented
import { resolveCodeOwner } from './resolve';
import { scmCodeOwnersPaths } from './scm';
import { UrlReaderService } from '@backstage/backend-plugin-api';
export async function readCodeOwners(
reader: UrlReader,
reader: UrlReaderService,
sourceUrl: string,
codeownersPaths: string[],
): Promise<string | undefined> {
@@ -49,7 +49,7 @@ export async function readCodeOwners(
}
export async function findCodeOwnerByTarget(
reader: UrlReader,
reader: UrlReaderService,
targetUrl: string,
scmIntegration: ScmIntegration,
): Promise<string | undefined> {
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { Entity } from '@backstage/catalog-model';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
@@ -29,11 +28,12 @@ import {
textPlaceholderResolver,
yamlPlaceholderResolver,
} from './PlaceholderProcessor';
import { UrlReaderService } from '@backstage/backend-plugin-api';
const integrations = ScmIntegrations.fromConfig(new ConfigReader({}));
describe('PlaceholderProcessor', () => {
const reader: jest.Mocked<UrlReader> = {
const reader: jest.Mocked<UrlReaderService> = {
readTree: jest.fn(),
search: jest.fn(),
readUrl: jest.fn(),
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { Entity } from '@backstage/catalog-model';
import { JsonValue } from '@backstage/types';
import { ScmIntegrationRegistry } from '@backstage/integration';
@@ -27,11 +26,12 @@ import {
PlaceholderResolverParams,
processingResult,
} from '@backstage/plugin-catalog-node';
import { UrlReaderService } from '@backstage/backend-plugin-api';
/** @public */
export type PlaceholderProcessorOptions = {
resolvers: Record<string, PlaceholderResolver>;
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrationRegistry;
};
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { UrlReader, UrlReaders } from '@backstage/backend-common';
import {
mockServices,
registerMswTestHooks,
@@ -31,6 +30,8 @@ import {
} from '@backstage/plugin-catalog-node';
import { defaultEntityDataParser } from '../util/parse';
import { UrlReaderProcessor } from './UrlReaderProcessor';
import { UrlReaders } from '@backstage/backend-defaults/urlReader';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('UrlReaderProcessor', () => {
const mockApiOrigin = 'http://localhost';
@@ -192,7 +193,7 @@ describe('UrlReaderProcessor', () => {
it('uses search when there are globs', async () => {
const logger = mockServices.logger.mock();
const reader: jest.Mocked<UrlReader> = {
const reader: jest.Mocked<UrlReaderService> = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn().mockImplementation(async () => []),
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { Entity } from '@backstage/catalog-model';
import { assertError } from '@backstage/errors';
import limiterFactory from 'p-limit';
@@ -29,7 +28,7 @@ import {
CatalogProcessorResult,
processingResult,
} from '@backstage/plugin-catalog-node';
import { LoggerService } from '@backstage/backend-plugin-api';
import { LoggerService, UrlReaderService } from '@backstage/backend-plugin-api';
const CACHE_KEY = 'v1';
@@ -47,7 +46,7 @@ type CacheItem = {
export class UrlReaderProcessor implements CatalogProcessor {
constructor(
private readonly options: {
reader: UrlReader;
reader: UrlReaderService;
logger: LoggerService;
},
) {}
@@ -18,7 +18,6 @@ import {
createLegacyAuthAdapters,
HostDiscovery,
PluginDatabaseManager,
UrlReader,
} from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import {
@@ -112,6 +111,7 @@ import {
HttpAuthService,
LoggerService,
PermissionsService,
UrlReaderService,
} from '@backstage/backend-plugin-api';
/**
@@ -128,7 +128,7 @@ export type CatalogEnvironment = {
logger: LoggerService;
database: PluginDatabaseManager;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
permissions: PermissionsService | PermissionAuthorizer;
scheduler?: PluginTaskScheduler;
discovery?: DiscoveryService;
@@ -8,7 +8,7 @@ import { Config } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrations } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public
const confluenceToMarkdownModule: BackendFeatureCompat;
@@ -16,7 +16,7 @@ export default confluenceToMarkdownModule;
// @public (undocumented)
export const createConfluenceToMarkdownAction: (options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
config: Config;
}) => TemplateAction<
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { createConfluenceToMarkdownAction } from './confluenceToMarkdown';
import { UrlReader, loggerToWinstonLogger } from '@backstage/backend-common';
import { loggerToWinstonLogger } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import {
@@ -28,6 +28,7 @@ import { examples } from './confluenceToMarkdown.examples';
import yaml from 'yaml';
import { ActionContext } from '@backstage/plugin-scaffolder-node';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('confluence:transform:markdown examples', () => {
const baseUrl = `https://confluence.example.com`;
@@ -51,7 +52,7 @@ describe('confluence:transform:markdown examples', () => {
}),
);
let reader: UrlReader;
let reader: UrlReaderService;
let mockContext: ActionContext<{
confluenceUrls: string[];
repoUrl: string;
@@ -15,7 +15,7 @@
*/
import { createConfluenceToMarkdownAction } from './confluenceToMarkdown';
import { UrlReader, loggerToWinstonLogger } from '@backstage/backend-common';
import { loggerToWinstonLogger } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import {
@@ -27,6 +27,7 @@ import type { ActionContext } from '@backstage/plugin-scaffolder-node';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('confluence:transform:markdown', () => {
const baseUrl = `https://nodomain.confluence.com`;
@@ -50,7 +51,7 @@ describe('confluence:transform:markdown', () => {
}),
);
let reader: UrlReader;
let reader: UrlReaderService;
let mockContext: ActionContext<{
confluenceUrls: string[];
repoUrl: string;
@@ -15,7 +15,6 @@
*/
import { Config } from '@backstage/config';
import { UrlReader } from '@backstage/backend-common';
import { ScmIntegrations } from '@backstage/integration';
import {
createTemplateAction,
@@ -34,13 +33,14 @@ import {
getConfluenceConfig,
} from './helpers';
import { examples } from './confluenceToMarkdown.examples';
import { UrlReaderService } from '@backstage/backend-plugin-api';
/**
* @public
*/
export const createConfluenceToMarkdownAction = (options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
config: Config;
}) => {
@@ -10,7 +10,7 @@ import { ContainerRunner } from '@backstage/backend-common';
import { JsonObject } from '@backstage/types';
import { ScmIntegrations } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public
const cookiecutterModule: BackendFeatureCompat;
@@ -18,7 +18,7 @@ export default cookiecutterModule;
// @public
export function createFetchCookiecutterAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
containerRunner?: ContainerRunner;
}): TemplateAction<
@@ -44,6 +44,7 @@
},
"dependencies": {
"@backstage/backend-common": "workspace:^",
"@backstage/backend-defaults": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/config": "workspace:^",
"@backstage/errors": "workspace:^",
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader, ContainerRunner } from '@backstage/backend-common';
import { ContainerRunner } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrations } from '@backstage/integration';
@@ -25,6 +25,7 @@ import type { ActionContext } from '@backstage/plugin-scaffolder-node';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { examples } from './cookiecutter.examples';
import yaml from 'yaml';
import { UrlReaderService } from '@backstage/backend-plugin-api';
const executeShellCommand = jest.fn();
const commandExists = jest.fn();
@@ -71,7 +72,7 @@ describe('fetch:cookiecutter', () => {
runContainer: jest.fn(),
};
const mockReader: UrlReader = {
const mockReader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader, ContainerRunner } from '@backstage/backend-common';
import { ContainerRunner } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { ScmIntegrations } from '@backstage/integration';
@@ -24,6 +24,7 @@ import { join } from 'path';
import type { ActionContext } from '@backstage/plugin-scaffolder-node';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { Writable } from 'stream';
import { UrlReaderService } from '@backstage/backend-plugin-api';
const executeShellCommand = jest.fn();
const commandExists = jest.fn();
@@ -70,7 +71,7 @@ describe('fetch:cookiecutter', () => {
runContainer: jest.fn(),
};
const mockReader: UrlReader = {
const mockReader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -14,8 +14,11 @@
* limitations under the License.
*/
import { ContainerRunner, UrlReader } from '@backstage/backend-common';
import { resolveSafeChildPath } from '@backstage/backend-plugin-api';
import { ContainerRunner } from '@backstage/backend-common';
import {
UrlReaderService,
resolveSafeChildPath,
} from '@backstage/backend-plugin-api';
import { JsonObject, JsonValue } from '@backstage/types';
import { InputError } from '@backstage/errors';
import { ScmIntegrations } from '@backstage/integration';
@@ -140,7 +143,7 @@ export class CookiecutterRunner {
* @public
*/
export function createFetchCookiecutterAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
containerRunner?: ContainerRunner;
}) {
@@ -8,11 +8,11 @@ import { ContainerRunner } from '@backstage/backend-common';
import { JsonObject } from '@backstage/types';
import { ScmIntegrations } from '@backstage/integration';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
// @public
export function createFetchRailsAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
containerRunner?: ContainerRunner;
allowedImageNames?: string[];
@@ -27,7 +27,7 @@ jest.mock('./railsNewRunner', () => {
};
});
import { ContainerRunner, UrlReader } from '@backstage/backend-common';
import { ContainerRunner } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { resolve as resolvePath } from 'path';
@@ -37,6 +37,7 @@ import { createMockDirectory } from '@backstage/backend-test-utils';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { examples } from './index.examples';
import yaml from 'yaml';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('fetch:rails', () => {
const mockDir = createMockDirectory();
@@ -66,7 +67,7 @@ describe('fetch:rails', () => {
workspacePath: mockDir.path,
});
const mockReader: UrlReader = {
const mockReader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -27,7 +27,7 @@ jest.mock('./railsNewRunner', () => {
};
});
import { ContainerRunner, UrlReader } from '@backstage/backend-common';
import { ContainerRunner } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { resolve as resolvePath } from 'path';
@@ -36,6 +36,7 @@ import { fetchContents } from '@backstage/plugin-scaffolder-node';
import { createMockDirectory } from '@backstage/backend-test-utils';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { Writable } from 'stream';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('fetch:rails', () => {
const mockDir = createMockDirectory();
@@ -65,7 +66,7 @@ describe('fetch:rails', () => {
workspacePath: mockDir.path,
});
const mockReader: UrlReader = {
const mockReader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { ContainerRunner, UrlReader } from '@backstage/backend-common';
import { ContainerRunner } from '@backstage/backend-common';
import { JsonObject } from '@backstage/types';
import { InputError } from '@backstage/errors';
import { ScmIntegrations } from '@backstage/integration';
@@ -28,6 +28,7 @@ import { resolve as resolvePath } from 'path';
import { RailsNewRunner } from './railsNewRunner';
import { PassThrough } from 'stream';
import { examples } from './index.examples';
import { UrlReaderService } from '@backstage/backend-plugin-api';
/**
* Creates the `fetch:rails` Scaffolder action.
@@ -40,7 +41,7 @@ import { examples } from './index.examples';
* @public
*/
export function createFetchRailsAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
containerRunner?: ContainerRunner;
/** A list of image names that are allowed to be passed as imageName input */
+6 -6
View File
@@ -63,7 +63,7 @@ import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common';
import { TemplateFilter as TemplateFilter_2 } from '@backstage/plugin-scaffolder-node';
import { TemplateGlobal as TemplateGlobal_2 } from '@backstage/plugin-scaffolder-node';
import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { WorkspaceProvider } from '@backstage/plugin-scaffolder-node/alpha';
import { ZodType } from 'zod';
import { ZodTypeDef } from 'zod';
@@ -95,7 +95,7 @@ export interface CreateBuiltInActionsOptions {
catalogClient: CatalogApi;
config: Config;
integrations: ScmIntegrations;
reader: UrlReader;
reader: UrlReaderService;
}
// @public
@@ -154,7 +154,7 @@ export function createFetchCatalogEntityAction(options: {
// @public
export function createFetchPlainAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
}): TemplateAction_2<
{
@@ -167,7 +167,7 @@ export function createFetchPlainAction(options: {
// @public
export function createFetchPlainFileAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
}): TemplateAction_2<
{
@@ -180,7 +180,7 @@ export function createFetchPlainFileAction(options: {
// @public
export function createFetchTemplateAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
additionalTemplateFilters?: Record<string, TemplateFilter_2>;
additionalTemplateGlobals?: Record<string, TemplateGlobal_2>;
@@ -507,7 +507,7 @@ export interface RouterOptions {
// (undocumented)
permissions?: PermissionsService;
// (undocumented)
reader: UrlReader;
reader: UrlReaderService;
// (undocumented)
scheduler?: PluginTaskScheduler;
// (undocumented)
+1
View File
@@ -62,6 +62,7 @@
},
"dependencies": {
"@backstage/backend-common": "workspace:^",
"@backstage/backend-defaults": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/backend-tasks": "workspace:^",
"@backstage/catalog-client": "workspace:^",
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { CatalogApi } from '@backstage/catalog-client';
import { Config } from '@backstage/config';
import {
@@ -82,7 +81,7 @@ import {
} from '@backstage/plugin-scaffolder-backend-module-gitlab';
import { createPublishGiteaAction } from '@backstage/plugin-scaffolder-backend-module-gitea';
import { AuthService } from '@backstage/backend-plugin-api';
import { AuthService, UrlReaderService } from '@backstage/backend-plugin-api';
/**
* The options passed to {@link createBuiltinActions}
@@ -90,9 +89,9 @@ import { AuthService } from '@backstage/backend-plugin-api';
*/
export interface CreateBuiltInActionsOptions {
/**
* The {@link @backstage/backend-common#UrlReader} interface that will be used in the default actions.
* The {@link @backstage/backend-plugin-api#UrlReaderService} interface that will be used in the default actions.
*/
reader: UrlReader;
reader: UrlReaderService;
/**
* The {@link @backstage/integrations#ScmIntegrations} that will be used in the default actions.
*/
@@ -17,13 +17,13 @@
import yaml from 'yaml';
import { resolve as resolvePath } from 'path';
import { UrlReader } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { createFetchPlainAction } from './plain';
import { fetchContents } from '@backstage/plugin-scaffolder-node';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { examples } from './plain.examples';
import { UrlReaderService } from '@backstage/backend-plugin-api';
jest.mock('@backstage/plugin-scaffolder-node', () => ({
...jest.requireActual('@backstage/plugin-scaffolder-node'),
@@ -38,7 +38,7 @@ describe('fetch:plain examples', () => {
},
}),
);
const reader: UrlReader = {
const reader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -21,11 +21,11 @@ jest.mock('@backstage/plugin-scaffolder-node', () => {
import { resolve as resolvePath } from 'path';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { UrlReader } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { fetchContents } from '@backstage/plugin-scaffolder-node';
import { createFetchPlainAction } from './plain';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('fetch:plain', () => {
const integrations = ScmIntegrations.fromConfig(
@@ -35,7 +35,7 @@ describe('fetch:plain', () => {
},
}),
);
const reader: UrlReader = {
const reader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -14,8 +14,10 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { resolveSafeChildPath } from '@backstage/backend-plugin-api';
import {
resolveSafeChildPath,
UrlReaderService,
} from '@backstage/backend-plugin-api';
import { ScmIntegrations } from '@backstage/integration';
import { examples } from './plain.examples';
@@ -32,7 +34,7 @@ export const ACTION_ID = 'fetch:plain';
* @public
*/
export function createFetchPlainAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
}) {
const { reader, integrations } = options;
@@ -23,12 +23,12 @@ jest.mock('@backstage/plugin-scaffolder-node', () => {
import yaml from 'yaml';
import { resolve as resolvePath } from 'path';
import { UrlReader } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { createFetchPlainFileAction } from './plainFile';
import { fetchFile } from '@backstage/plugin-scaffolder-node';
import { examples } from './plainFile.examples';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('fetch:plain:file examples', () => {
const integrations = ScmIntegrations.fromConfig(
@@ -38,7 +38,7 @@ describe('fetch:plain:file examples', () => {
},
}),
);
const reader: UrlReader = {
const reader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -21,11 +21,11 @@ jest.mock('@backstage/plugin-scaffolder-node', () => {
import { resolve as resolvePath } from 'path';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
import { UrlReader } from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { fetchFile } from '@backstage/plugin-scaffolder-node';
import { createFetchPlainFileAction } from './plainFile';
import { UrlReaderService } from '@backstage/backend-plugin-api';
describe('fetch:plain:file', () => {
const integrations = ScmIntegrations.fromConfig(
@@ -35,7 +35,7 @@ describe('fetch:plain:file', () => {
},
}),
);
const reader: UrlReader = {
const reader: UrlReaderService = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { resolveSafeChildPath } from '@backstage/backend-plugin-api';
import { ScmIntegrations } from '@backstage/integration';
import { examples } from './plainFile.examples';
@@ -29,7 +29,7 @@ import {
* @public
*/
export function createFetchPlainFileAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
}) {
const { reader, integrations } = options;
@@ -16,7 +16,7 @@
import { join as joinPath, sep as pathSep } from 'path';
import fs from 'fs-extra';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { resolvePackagePath } from '@backstage/backend-plugin-api';
import { ScmIntegrations } from '@backstage/integration';
import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils';
@@ -71,7 +71,7 @@ describe('fetch:template examples', () => {
beforeEach(() => {
mockDir.clear();
action = createFetchTemplateAction({
reader: Symbol('UrlReader') as unknown as UrlReader,
reader: Symbol('UrlReader') as unknown as UrlReaderService,
integrations: Symbol('Integrations') as unknown as ScmIntegrations,
});
});
@@ -21,8 +21,10 @@ jest.mock('@backstage/plugin-scaffolder-node', () => {
import { join as joinPath, sep as pathSep } from 'path';
import fs from 'fs-extra';
import { UrlReader } from '@backstage/backend-common';
import { resolvePackagePath } from '@backstage/backend-plugin-api';
import {
UrlReaderService,
resolvePackagePath,
} from '@backstage/backend-plugin-api';
import { ScmIntegrations } from '@backstage/integration';
import { createFetchTemplateAction } from './template';
import {
@@ -78,7 +80,7 @@ describe('fetch:template', () => {
workspace: {},
});
action = createFetchTemplateAction({
reader: Symbol('UrlReader') as unknown as UrlReader,
reader: Symbol('UrlReader') as unknown as UrlReaderService,
integrations: Symbol('Integrations') as unknown as ScmIntegrations,
});
});
@@ -15,7 +15,7 @@
*/
import { extname } from 'path';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { resolveSafeChildPath } from '@backstage/backend-plugin-api';
import { InputError } from '@backstage/errors';
import { ScmIntegrations } from '@backstage/integration';
@@ -40,7 +40,7 @@ import { examples } from './template.examples';
* @public
*/
export function createFetchTemplateAction(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
additionalTemplateFilters?: Record<string, TemplateFilter>;
additionalTemplateGlobals?: Record<string, TemplateGlobal>;
@@ -18,7 +18,6 @@ import {
DatabaseManager,
loggerToWinstonLogger,
PluginDatabaseManager,
UrlReaders,
} from '@backstage/backend-common';
import { CatalogApi } from '@backstage/catalog-client';
import { ConfigReader } from '@backstage/config';
@@ -48,6 +47,7 @@ import {
import { mockCredentials, mockServices } from '@backstage/backend-test-utils';
import { AutocompleteHandler } from '@backstage/plugin-scaffolder-node/alpha';
import { MiddlewareFactory } from '@backstage/backend-defaults/rootHttpRouter';
import { UrlReaders } from '@backstage/backend-defaults/urlReader';
const mockAccess = jest.fn();
@@ -18,7 +18,6 @@ import {
createLegacyAuthAdapters,
HostDiscovery,
PluginDatabaseManager,
UrlReader,
} from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { CatalogApi } from '@backstage/catalog-client';
@@ -88,6 +87,7 @@ import {
HttpAuthService,
LifecycleService,
PermissionsService,
UrlReaderService,
} from '@backstage/backend-plugin-api';
import {
IdentityApi,
@@ -144,7 +144,7 @@ function isActionPermissionRuleInput(
export interface RouterOptions {
logger: Logger;
config: Config;
reader: UrlReader;
reader: UrlReaderService;
lifecycle?: LifecycleService;
database: PluginDatabaseManager;
catalogClient: CatalogApi;
+3 -3
View File
@@ -16,7 +16,7 @@ import { ScmIntegrations } from '@backstage/integration';
import { SpawnOptionsWithoutStdio } from 'child_process';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import { TemplateInfo } from '@backstage/plugin-scaffolder-common';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { UserEntity } from '@backstage/catalog-model';
import { Writable } from 'stream';
import { z } from 'zod';
@@ -196,7 +196,7 @@ export type ExecuteShellCommandOptions = {
// @public
export function fetchContents(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
baseUrl?: string;
fetchUrl?: string;
@@ -206,7 +206,7 @@ export function fetchContents(options: {
// @public
export function fetchFile(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
baseUrl?: string;
fetchUrl?: string;
@@ -18,7 +18,7 @@ jest.mock('fs-extra');
import fs from 'fs-extra';
import { resolve as resolvePath } from 'path';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
import { fetchContents, fetchFile } from './fetch';
@@ -39,7 +39,7 @@ describe('fetchContents helper', () => {
const readUrl = jest.fn();
const readTree = jest.fn();
const reader: UrlReader = {
const reader: UrlReaderService = {
readUrl,
readTree,
search: jest.fn(),
+3 -3
View File
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { resolveSafeChildPath } from '@backstage/backend-plugin-api';
import { InputError } from '@backstage/errors';
import { ScmIntegrations } from '@backstage/integration';
@@ -28,7 +28,7 @@ import path from 'path';
* @public
*/
export async function fetchContents(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
baseUrl?: string;
fetchUrl?: string;
@@ -67,7 +67,7 @@ export async function fetchContents(options: {
* @public
*/
export async function fetchFile(options: {
reader: UrlReader;
reader: UrlReaderService;
integrations: ScmIntegrations;
baseUrl?: string;
fetchUrl?: string;
+2 -2
View File
@@ -20,7 +20,7 @@ import { SearchQuery } from '@backstage/plugin-search-common';
import { TaskFunction } from '@backstage/backend-tasks';
import { TaskRunner } from '@backstage/backend-tasks';
import { Transform } from 'stream';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { Writable } from 'stream';
// @public
@@ -138,7 +138,7 @@ export class NewlineDelimitedJsonCollatorFactory
export type NewlineDelimitedJsonCollatorFactoryOptions = {
type: string;
searchPattern: string;
reader: UrlReader;
reader: UrlReaderService;
logger: LoggerService;
visibilityPermission?: Permission;
};
+1 -1
View File
@@ -53,7 +53,7 @@
"test": "backstage-cli package test"
},
"dependencies": {
"@backstage/backend-common": "workspace:^",
"@backstage/backend-defaults": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/backend-tasks": "workspace:^",
"@backstage/config": "workspace:^",
@@ -13,17 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {
ReadUrlResponse,
UrlReader,
UrlReaders,
} from '@backstage/backend-common';
import { ConfigReader } from '@backstage/config';
import { Readable } from 'stream';
import { NewlineDelimitedJsonCollatorFactory } from './NewlineDelimitedJsonCollatorFactory';
import { TestPipeline } from '../test-utils';
import { mockServices } from '@backstage/backend-test-utils';
import {
UrlReaderService,
UrlReaderServiceReadUrlResponse,
} from '@backstage/backend-plugin-api';
import { UrlReaders } from '@backstage/backend-defaults/urlReader';
describe('DefaultCatalogCollatorFactory', () => {
const config = new ConfigReader({});
@@ -42,7 +41,9 @@ describe('DefaultCatalogCollatorFactory', () => {
describe('getCollator', () => {
let readable: Readable;
let reader: jest.Mocked<
UrlReader & { readUrl: jest.Mock<Promise<ReadUrlResponse>> }
UrlReaderService & {
readUrl: jest.Mock<Promise<UrlReaderServiceReadUrlResponse>>;
}
>;
let factory: NewlineDelimitedJsonCollatorFactory;
@@ -18,9 +18,8 @@ import { Config } from '@backstage/config';
import { DocumentCollatorFactory } from '@backstage/plugin-search-common';
import { Permission } from '@backstage/plugin-permission-common';
import { Readable } from 'stream';
import { UrlReader } from '@backstage/backend-common';
import { parse as parseNdjson } from 'ndjson';
import { LoggerService } from '@backstage/backend-plugin-api';
import { LoggerService, UrlReaderService } from '@backstage/backend-plugin-api';
/**
* Options for instantiate NewlineDelimitedJsonCollatorFactory
@@ -29,7 +28,7 @@ import { LoggerService } from '@backstage/backend-plugin-api';
export type NewlineDelimitedJsonCollatorFactoryOptions = {
type: string;
searchPattern: string;
reader: UrlReader;
reader: UrlReaderService;
logger: LoggerService;
visibilityPermission?: Permission;
};
@@ -73,7 +72,7 @@ export class NewlineDelimitedJsonCollatorFactory
private constructor(
type: string,
private readonly searchPattern: string,
private readonly reader: UrlReader,
private readonly reader: UrlReaderService,
private readonly logger: LoggerService,
visibilityPermission: Permission | undefined,
) {
+3 -3
View File
@@ -15,7 +15,7 @@ import { IndexableDocument } from '@backstage/plugin-search-common';
import { Logger } from 'winston';
import { PluginEndpointDiscovery } from '@backstage/backend-common';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import * as winston from 'winston';
import { Writable } from 'stream';
@@ -82,7 +82,7 @@ export class Generators implements GeneratorBuilder {
// @public
export const getDocFilesFromRepository: (
reader: UrlReader,
reader: UrlReaderService,
entity: Entity,
opts?: {
etag?: string;
@@ -157,7 +157,7 @@ export type PreparerBuilder = {
// @public
export type PreparerConfig = {
logger: Logger;
reader: UrlReader;
reader: UrlReaderService;
};
// @public
+12 -12
View File
@@ -14,13 +14,6 @@
* limitations under the License.
*/
import {
ReadTreeResponse,
ReadUrlOptions,
ReadUrlResponse,
SearchResponse,
UrlReader,
} from '@backstage/backend-common';
import { Entity, getEntitySourceLocation } from '@backstage/catalog-model';
import { ConfigReader } from '@backstage/config';
import { ScmIntegrations } from '@backstage/integration';
@@ -34,6 +27,13 @@ import {
parseReferenceAnnotation,
transformDirLocation,
} from './helpers';
import {
UrlReaderService,
UrlReaderServiceSearchResponse,
UrlReaderServiceReadUrlResponse,
UrlReaderServiceReadUrlOptions,
UrlReaderServiceReadTreeResponse,
} from '@backstage/backend-plugin-api';
jest.mock('@backstage/catalog-model', () => ({
...jest.requireActual('@backstage/catalog-model'),
@@ -290,19 +290,19 @@ describe('getLocationForEntity', () => {
describe('getDocFilesFromRepository', () => {
it('should read a remote directory using UrlReader.readTree', async () => {
class MockUrlReader implements UrlReader {
class MockUrlReader implements UrlReaderService {
async read() {
return Buffer.from('mock');
}
async readUrl(
_url: string,
_options?: ReadUrlOptions | undefined,
): Promise<ReadUrlResponse> {
_options?: UrlReaderServiceReadUrlOptions | undefined,
): Promise<UrlReaderServiceReadUrlResponse> {
throw new Error('Method not implemented.');
}
async readTree(): Promise<ReadTreeResponse> {
async readTree(): Promise<UrlReaderServiceReadTreeResponse> {
return {
dir: async () => {
return '/tmp/testfolder';
@@ -317,7 +317,7 @@ describe('getDocFilesFromRepository', () => {
};
}
async search(): Promise<SearchResponse> {
async search(): Promise<UrlReaderServiceSearchResponse> {
return {
etag: '',
files: [],
+2 -2
View File
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { resolveSafeChildPath } from '@backstage/backend-plugin-api';
import {
Entity,
@@ -143,7 +143,7 @@ export const getLocationForEntity = (
* @param opts - Options for configuring the reader, e.g. logger, etag, etc.
*/
export const getDocFilesFromRepository = async (
reader: UrlReader,
reader: UrlReaderService,
entity: Entity,
opts?: { etag?: string; logger?: Logger },
): Promise<PreparerResponse> => {
@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { UrlReader, loggerToWinstonLogger } from '@backstage/backend-common';
import { loggerToWinstonLogger } from '@backstage/backend-common';
import { TECHDOCS_ANNOTATION } from '@backstage/plugin-techdocs-common';
import { ConfigReader } from '@backstage/config';
import { DirectoryPreparer } from './dir';
import { mockServices } from '@backstage/backend-test-utils';
import { UrlReaderService } from '@backstage/backend-plugin-api';
function normalizePath(path: string) {
return path
@@ -46,7 +47,7 @@ const createMockEntity = (annotations: {}) => {
};
const mockConfig = new ConfigReader({});
const mockUrlReader: jest.Mocked<UrlReader> = {
const mockUrlReader: jest.Mocked<UrlReaderService> = {
readUrl: jest.fn(),
readTree: jest.fn(),
search: jest.fn(),
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { Entity } from '@backstage/catalog-model';
import { Config } from '@backstage/config';
import { InputError } from '@backstage/errors';
@@ -38,7 +38,7 @@ import {
*/
export class DirectoryPreparer implements PreparerBase {
private readonly scmIntegrations: ScmIntegrationRegistry;
private readonly reader: UrlReader;
private readonly reader: UrlReaderService;
/**
* Returns a directory preparer instance
@@ -55,7 +55,7 @@ export class DirectoryPreparer implements PreparerBase {
private constructor(
config: Config,
_logger: Logger | null,
reader: UrlReader,
reader: UrlReaderService,
) {
this.reader = reader;
this.scmIntegrations = ScmIntegrations.fromConfig(config);
@@ -15,7 +15,7 @@
*/
import type { Entity } from '@backstage/catalog-model';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { Logger } from 'winston';
/**
@@ -30,7 +30,7 @@ export type ETag = string;
*/
export type PreparerConfig = {
logger: Logger;
reader: UrlReader;
reader: UrlReaderService;
};
/**
@@ -15,7 +15,7 @@
*/
import { assertError } from '@backstage/errors';
import { UrlReader } from '@backstage/backend-common';
import { UrlReaderService } from '@backstage/backend-plugin-api';
import { Entity } from '@backstage/catalog-model';
import { Logger } from 'winston';
import { getDocFilesFromRepository } from '../../helpers';
@@ -32,7 +32,7 @@ import {
*/
export class UrlPreparer implements PreparerBase {
private readonly logger: Logger;
private readonly reader: UrlReader;
private readonly reader: UrlReaderService;
/**
* Returns a directory preparer instance
@@ -42,7 +42,7 @@ export class UrlPreparer implements PreparerBase {
return new UrlPreparer(options.reader, options.logger);
}
private constructor(reader: UrlReader, logger: Logger) {
private constructor(reader: UrlReaderService, logger: Logger) {
this.logger = logger;
this.reader = reader;
}
+5
View File
@@ -5290,6 +5290,7 @@ __metadata:
"@aws-sdk/types": ^3.347.0
"@aws-sdk/util-stream-node": ^3.350.0
"@backstage/backend-common": "workspace:^"
"@backstage/backend-defaults": "workspace:^"
"@backstage/backend-plugin-api": "workspace:^"
"@backstage/backend-tasks": "workspace:^"
"@backstage/backend-test-utils": "workspace:^"
@@ -6983,6 +6984,7 @@ __metadata:
resolution: "@backstage/plugin-scaffolder-backend-module-cookiecutter@workspace:plugins/scaffolder-backend-module-cookiecutter"
dependencies:
"@backstage/backend-common": "workspace:^"
"@backstage/backend-defaults": "workspace:^"
"@backstage/backend-plugin-api": "workspace:^"
"@backstage/backend-test-utils": "workspace:^"
"@backstage/cli": "workspace:^"
@@ -7558,6 +7560,7 @@ __metadata:
resolution: "@backstage/plugin-search-backend-node@workspace:plugins/search-backend-node"
dependencies:
"@backstage/backend-common": "workspace:^"
"@backstage/backend-defaults": "workspace:^"
"@backstage/backend-plugin-api": "workspace:^"
"@backstage/backend-tasks": "workspace:^"
"@backstage/backend-test-utils": "workspace:^"
@@ -27106,6 +27109,8 @@ __metadata:
resolution: "example-backend-legacy@workspace:packages/backend-legacy"
dependencies:
"@backstage/backend-common": "workspace:^"
"@backstage/backend-defaults": "workspace:^"
"@backstage/backend-plugin-api": "workspace:^"
"@backstage/backend-tasks": "workspace:^"
"@backstage/catalog-client": "workspace:^"
"@backstage/catalog-model": "workspace:^"