From 3a9a84c1d30881a1c7e55be0dace4649d970a83f Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 18 Jun 2024 09:51:43 +0200 Subject: [PATCH] refactor: group compat files and move more files to deprecated Signed-off-by: Camila Belo --- packages/backend-common/src/alpha.ts | 2 +- .../auth/createLegacyAuthAdapters.test.ts | 0 .../auth/createLegacyAuthAdapters.ts | 5 ++--- .../src/{ => compat}/auth/index.ts | 0 .../cache/cacheToPluginCacheManager.ts | 0 .../src/{ => compat}/cache/index.ts | 0 .../src/{urls.ts => compat/index.ts} | 15 +++++-------- .../{urls.test.ts => compat/legacy/index.ts} | 22 +++---------------- .../src/{ => compat/legacy}/legacy.test.ts | 6 ++--- .../src/{ => compat/legacy}/legacy.ts | 6 ++--- .../src/{ => compat}/logging/index.ts | 0 .../logging/loggerToWinstonLogger.ts | 0 .../src/{ => deprecated}/config.ts | 4 ++-- .../context/AbortContext.test.ts | 0 .../{ => deprecated}/context/AbortContext.ts | 0 .../{ => deprecated}/context/Contexts.test.ts | 0 .../src/{ => deprecated}/context/Contexts.ts | 0 .../context/RootContext.test.ts | 0 .../{ => deprecated}/context/RootContext.ts | 0 .../context/ValueContext.test.ts | 0 .../{ => deprecated}/context/ValueContext.ts | 0 .../src/{ => deprecated}/context/index.ts | 0 .../src/{ => deprecated}/context/types.ts | 0 .../src/{ => deprecated}/hot.ts | 0 .../backend-common/src/deprecated/index.ts | 2 ++ .../service/lib/ServiceBuilderImpl.ts | 2 +- packages/backend-common/src/index.ts | 8 +------ 27 files changed, 23 insertions(+), 49 deletions(-) rename packages/backend-common/src/{ => compat}/auth/createLegacyAuthAdapters.test.ts (100%) rename packages/backend-common/src/{ => compat}/auth/createLegacyAuthAdapters.ts (98%) rename packages/backend-common/src/{ => compat}/auth/index.ts (100%) rename packages/backend-common/src/{ => compat}/cache/cacheToPluginCacheManager.ts (100%) rename packages/backend-common/src/{ => compat}/cache/index.ts (100%) rename packages/backend-common/src/{urls.ts => compat/index.ts} (73%) rename packages/backend-common/src/{urls.test.ts => compat/legacy/index.ts} (50%) rename packages/backend-common/src/{ => compat/legacy}/legacy.test.ts (93%) rename packages/backend-common/src/{ => compat/legacy}/legacy.ts (96%) rename packages/backend-common/src/{ => compat}/logging/index.ts (100%) rename packages/backend-common/src/{ => compat}/logging/loggerToWinstonLogger.ts (100%) rename packages/backend-common/src/{ => deprecated}/config.ts (93%) rename packages/backend-common/src/{ => deprecated}/context/AbortContext.test.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/AbortContext.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/Contexts.test.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/Contexts.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/RootContext.test.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/RootContext.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/ValueContext.test.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/ValueContext.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/index.ts (100%) rename packages/backend-common/src/{ => deprecated}/context/types.ts (100%) rename packages/backend-common/src/{ => deprecated}/hot.ts (100%) diff --git a/packages/backend-common/src/alpha.ts b/packages/backend-common/src/alpha.ts index e0a5b2ddc2..0fd15459fe 100644 --- a/packages/backend-common/src/alpha.ts +++ b/packages/backend-common/src/alpha.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export * from './context'; +export * from './deprecated/context'; diff --git a/packages/backend-common/src/auth/createLegacyAuthAdapters.test.ts b/packages/backend-common/src/compat/auth/createLegacyAuthAdapters.test.ts similarity index 100% rename from packages/backend-common/src/auth/createLegacyAuthAdapters.test.ts rename to packages/backend-common/src/compat/auth/createLegacyAuthAdapters.test.ts diff --git a/packages/backend-common/src/auth/createLegacyAuthAdapters.ts b/packages/backend-common/src/compat/auth/createLegacyAuthAdapters.ts similarity index 98% rename from packages/backend-common/src/auth/createLegacyAuthAdapters.ts rename to packages/backend-common/src/compat/auth/createLegacyAuthAdapters.ts index a96d6ebb76..0f591eac6c 100644 --- a/packages/backend-common/src/auth/createLegacyAuthAdapters.ts +++ b/packages/backend-common/src/compat/auth/createLegacyAuthAdapters.ts @@ -35,15 +35,14 @@ import { createCredentialsWithUserPrincipal, createCredentialsWithNonePrincipal, toInternalBackstageCredentials, -} from '../../../backend-defaults/src/entrypoints/auth/helpers'; +} from '../../../../backend-defaults/src/entrypoints/auth/helpers'; // TODO is this circular thingy a problem? Test in e2e import { type IdentityApiGetIdentityRequest, DefaultIdentityClient, } from '@backstage/plugin-auth-node'; import { decodeJwt } from 'jose'; -import { TokenManager } from '../deprecated'; -import { PluginEndpointDiscovery } from '../deprecated'; +import { TokenManager, PluginEndpointDiscovery } from '../../deprecated'; import { JsonObject } from '@backstage/types'; class AuthCompat implements AuthService { diff --git a/packages/backend-common/src/auth/index.ts b/packages/backend-common/src/compat/auth/index.ts similarity index 100% rename from packages/backend-common/src/auth/index.ts rename to packages/backend-common/src/compat/auth/index.ts diff --git a/packages/backend-common/src/cache/cacheToPluginCacheManager.ts b/packages/backend-common/src/compat/cache/cacheToPluginCacheManager.ts similarity index 100% rename from packages/backend-common/src/cache/cacheToPluginCacheManager.ts rename to packages/backend-common/src/compat/cache/cacheToPluginCacheManager.ts diff --git a/packages/backend-common/src/cache/index.ts b/packages/backend-common/src/compat/cache/index.ts similarity index 100% rename from packages/backend-common/src/cache/index.ts rename to packages/backend-common/src/compat/cache/index.ts diff --git a/packages/backend-common/src/urls.ts b/packages/backend-common/src/compat/index.ts similarity index 73% rename from packages/backend-common/src/urls.ts rename to packages/backend-common/src/compat/index.ts index 848cea25d9..d702772335 100644 --- a/packages/backend-common/src/urls.ts +++ b/packages/backend-common/src/compat/index.ts @@ -1,5 +1,5 @@ /* - * Copyright 2021 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,12 +14,7 @@ * limitations under the License. */ -export function isValidUrl(url: string): boolean { - try { - // eslint-disable-next-line no-new - new URL(url); - return true; - } catch { - return false; - } -} +export * from './legacy'; +export * from './auth'; +export * from './cache'; +export * from './logging'; diff --git a/packages/backend-common/src/urls.test.ts b/packages/backend-common/src/compat/legacy/index.ts similarity index 50% rename from packages/backend-common/src/urls.test.ts rename to packages/backend-common/src/compat/legacy/index.ts index c2a67fb849..1172084cd7 100644 --- a/packages/backend-common/src/urls.test.ts +++ b/packages/backend-common/src/compat/legacy/index.ts @@ -1,5 +1,5 @@ /* - * Copyright 2021 The Backstage Authors + * Copyright 2024 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,21 +14,5 @@ * limitations under the License. */ -import { isValidUrl } from './urls'; - -describe('isValidUrl', () => { - it('should return true for url', () => { - const validUrl = isValidUrl('http://some.valid.url'); - expect(validUrl).toBe(true); - }); - - it('should return false for absolute path', () => { - const validUrl = isValidUrl('/some/absolute/path'); - expect(validUrl).toBe(false); - }); - - it('should return false for relative path', () => { - const validUrl = isValidUrl('../some/relative/path'); - expect(validUrl).toBe(false); - }); -}); +export { legacyPlugin, makeLegacyPlugin } from './legacy'; +export type { LegacyCreateRouter } from './legacy'; diff --git a/packages/backend-common/src/legacy.test.ts b/packages/backend-common/src/compat/legacy/legacy.test.ts similarity index 93% rename from packages/backend-common/src/legacy.test.ts rename to packages/backend-common/src/compat/legacy/legacy.test.ts index 09545daef4..e5d395a8f9 100644 --- a/packages/backend-common/src/legacy.test.ts +++ b/packages/backend-common/src/compat/legacy/legacy.test.ts @@ -21,12 +21,12 @@ import { import { mockServices, startTestBackend } from '@backstage/backend-test-utils'; import { EventEmitter } from 'events'; import { Router } from 'express'; -import { createLegacyAuthAdapters } from './auth'; +import { createLegacyAuthAdapters } from '..'; import { legacyPlugin } from './legacy'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports -import { authServiceFactory } from '../../backend-app-api/src/services/implementations/auth'; +import { authServiceFactory } from '../../../../backend-app-api/src/services/implementations/auth'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports -import { tokenManagerServiceFactory } from '../../backend-app-api/src/services/implementations/tokenManager'; +import { tokenManagerServiceFactory } from '../../../../backend-app-api/src/services/implementations/tokenManager'; describe('legacyPlugin', () => { it('can auth across the new and old systems', async () => { diff --git a/packages/backend-common/src/legacy.ts b/packages/backend-common/src/compat/legacy/legacy.ts similarity index 96% rename from packages/backend-common/src/legacy.ts rename to packages/backend-common/src/compat/legacy/legacy.ts index 420126f519..57220a8430 100644 --- a/packages/backend-common/src/legacy.ts +++ b/packages/backend-common/src/compat/legacy/legacy.ts @@ -21,9 +21,9 @@ import { ServiceRef, } from '@backstage/backend-plugin-api'; import { RequestHandler } from 'express'; -import { cacheToPluginCacheManager } from './cache'; -import { loggerToWinstonLogger } from './logging'; -import { TokenManager } from './deprecated'; +import { cacheToPluginCacheManager } from '../cache'; +import { loggerToWinstonLogger } from '../logging'; +import { TokenManager } from '../../deprecated'; /** * @public diff --git a/packages/backend-common/src/logging/index.ts b/packages/backend-common/src/compat/logging/index.ts similarity index 100% rename from packages/backend-common/src/logging/index.ts rename to packages/backend-common/src/compat/logging/index.ts diff --git a/packages/backend-common/src/logging/loggerToWinstonLogger.ts b/packages/backend-common/src/compat/logging/loggerToWinstonLogger.ts similarity index 100% rename from packages/backend-common/src/logging/loggerToWinstonLogger.ts rename to packages/backend-common/src/compat/logging/loggerToWinstonLogger.ts diff --git a/packages/backend-common/src/config.ts b/packages/backend-common/src/deprecated/config.ts similarity index 93% rename from packages/backend-common/src/config.ts rename to packages/backend-common/src/deprecated/config.ts index 8e5e8d7be7..2d06ca2072 100644 --- a/packages/backend-common/src/config.ts +++ b/packages/backend-common/src/deprecated/config.ts @@ -18,11 +18,11 @@ import { createConfigSecretEnumerator, loadBackendConfig as newLoadBackendConfig, -} from '../../backend-app-api/src/config'; +} from '../../../backend-app-api/src/config'; import { LoggerService } from '@backstage/backend-plugin-api'; import { AppConfig, Config } from '@backstage/config'; import { LoadConfigOptionsRemote } from '@backstage/config-loader'; -import { setRootLoggerRedactionList } from './deprecated/logging/createRootLogger'; +import { setRootLoggerRedactionList } from './logging/createRootLogger'; /** * Load configuration for a Backend. diff --git a/packages/backend-common/src/context/AbortContext.test.ts b/packages/backend-common/src/deprecated/context/AbortContext.test.ts similarity index 100% rename from packages/backend-common/src/context/AbortContext.test.ts rename to packages/backend-common/src/deprecated/context/AbortContext.test.ts diff --git a/packages/backend-common/src/context/AbortContext.ts b/packages/backend-common/src/deprecated/context/AbortContext.ts similarity index 100% rename from packages/backend-common/src/context/AbortContext.ts rename to packages/backend-common/src/deprecated/context/AbortContext.ts diff --git a/packages/backend-common/src/context/Contexts.test.ts b/packages/backend-common/src/deprecated/context/Contexts.test.ts similarity index 100% rename from packages/backend-common/src/context/Contexts.test.ts rename to packages/backend-common/src/deprecated/context/Contexts.test.ts diff --git a/packages/backend-common/src/context/Contexts.ts b/packages/backend-common/src/deprecated/context/Contexts.ts similarity index 100% rename from packages/backend-common/src/context/Contexts.ts rename to packages/backend-common/src/deprecated/context/Contexts.ts diff --git a/packages/backend-common/src/context/RootContext.test.ts b/packages/backend-common/src/deprecated/context/RootContext.test.ts similarity index 100% rename from packages/backend-common/src/context/RootContext.test.ts rename to packages/backend-common/src/deprecated/context/RootContext.test.ts diff --git a/packages/backend-common/src/context/RootContext.ts b/packages/backend-common/src/deprecated/context/RootContext.ts similarity index 100% rename from packages/backend-common/src/context/RootContext.ts rename to packages/backend-common/src/deprecated/context/RootContext.ts diff --git a/packages/backend-common/src/context/ValueContext.test.ts b/packages/backend-common/src/deprecated/context/ValueContext.test.ts similarity index 100% rename from packages/backend-common/src/context/ValueContext.test.ts rename to packages/backend-common/src/deprecated/context/ValueContext.test.ts diff --git a/packages/backend-common/src/context/ValueContext.ts b/packages/backend-common/src/deprecated/context/ValueContext.ts similarity index 100% rename from packages/backend-common/src/context/ValueContext.ts rename to packages/backend-common/src/deprecated/context/ValueContext.ts diff --git a/packages/backend-common/src/context/index.ts b/packages/backend-common/src/deprecated/context/index.ts similarity index 100% rename from packages/backend-common/src/context/index.ts rename to packages/backend-common/src/deprecated/context/index.ts diff --git a/packages/backend-common/src/context/types.ts b/packages/backend-common/src/deprecated/context/types.ts similarity index 100% rename from packages/backend-common/src/context/types.ts rename to packages/backend-common/src/deprecated/context/types.ts diff --git a/packages/backend-common/src/hot.ts b/packages/backend-common/src/deprecated/hot.ts similarity index 100% rename from packages/backend-common/src/hot.ts rename to packages/backend-common/src/deprecated/hot.ts diff --git a/packages/backend-common/src/deprecated/index.ts b/packages/backend-common/src/deprecated/index.ts index b021e0ba6d..ba8b8e7db2 100644 --- a/packages/backend-common/src/deprecated/index.ts +++ b/packages/backend-common/src/deprecated/index.ts @@ -99,6 +99,8 @@ import { UrlReaderService as _UrlReaderService, } from '@backstage/backend-plugin-api'; +export * from './hot'; +export * from './config'; export * from './scm'; export * from './tokens'; export * from './logging'; diff --git a/packages/backend-common/src/deprecated/service/lib/ServiceBuilderImpl.ts b/packages/backend-common/src/deprecated/service/lib/ServiceBuilderImpl.ts index 1586d7c5c6..9b5891a5bf 100644 --- a/packages/backend-common/src/deprecated/service/lib/ServiceBuilderImpl.ts +++ b/packages/backend-common/src/deprecated/service/lib/ServiceBuilderImpl.ts @@ -22,7 +22,7 @@ import helmet, { HelmetOptions } from 'helmet'; import { ContentSecurityPolicyOptions } from 'helmet/dist/types/middlewares/content-security-policy'; import * as http from 'http'; import { LoggerService } from '@backstage/backend-plugin-api'; -import { useHotCleanup } from '../../../hot'; +import { useHotCleanup } from '../../hot'; import { getRootLogger } from '../../logging'; import { errorHandler as defaultErrorHandler, diff --git a/packages/backend-common/src/index.ts b/packages/backend-common/src/index.ts index b6e53810eb..cb5e236888 100644 --- a/packages/backend-common/src/index.ts +++ b/packages/backend-common/src/index.ts @@ -20,13 +20,7 @@ * @packageDocumentation */ -export { legacyPlugin, makeLegacyPlugin } from './legacy'; -export type { LegacyCreateRouter } from './legacy'; -export { loadBackendConfig } from './config'; export * from './deprecated'; -export * from './auth'; -export * from './cache'; -export * from './hot'; -export * from './logging'; +export * from './compat'; export * from './middleware'; export * from './service';