stop using useHotMemoize
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-user-settings-backend': patch
|
||||
---
|
||||
|
||||
Added dependency on `@backstage/config`
|
||||
@@ -19,12 +19,12 @@ import {
|
||||
loadBackendConfig,
|
||||
ServerTokenManager,
|
||||
HostDiscovery,
|
||||
useHotMemoize,
|
||||
DatabaseManager,
|
||||
} from '@backstage/backend-common';
|
||||
import { Server } from 'http';
|
||||
import Knex from 'knex';
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
import { createRouter } from './router';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
|
||||
export interface ServerOptions {
|
||||
logger: LoggerService;
|
||||
@@ -37,27 +37,20 @@ export async function startStandaloneServer(
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
const discovery = HostDiscovery.fromConfig(config);
|
||||
|
||||
const database = useHotMemoize(module, () => {
|
||||
const knex = Knex({
|
||||
client: 'better-sqlite3',
|
||||
connection: ':memory:',
|
||||
useNullAsDefault: true,
|
||||
});
|
||||
knex.client.pool.on('createSuccess', (_eventId: any, resource: any) => {
|
||||
resource.run('PRAGMA foreign_keys = ON', () => {});
|
||||
});
|
||||
return knex;
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('auth');
|
||||
|
||||
logger.debug('Starting application server...');
|
||||
const router = await createRouter({
|
||||
logger,
|
||||
config,
|
||||
database: {
|
||||
async getClient() {
|
||||
return database;
|
||||
},
|
||||
},
|
||||
database,
|
||||
discovery,
|
||||
tokenManager: ServerTokenManager.noop(),
|
||||
});
|
||||
|
||||
@@ -21,12 +21,12 @@ import {
|
||||
loadBackendConfig,
|
||||
ServerTokenManager,
|
||||
HostDiscovery,
|
||||
useHotMemoize,
|
||||
DatabaseManager,
|
||||
} from '@backstage/backend-common';
|
||||
import { createRouter } from './router';
|
||||
import { IdentityApi } from '@backstage/plugin-auth-node';
|
||||
import { DatabaseBadgesStore } from '../database/badgesStore';
|
||||
import Knex from 'knex';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
|
||||
export interface ServerOptions {
|
||||
port: number;
|
||||
@@ -40,13 +40,14 @@ export async function startStandaloneServer(
|
||||
const logger = options.logger.child({ service: 'badges-backend' });
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
const discovery = HostDiscovery.fromConfig(config);
|
||||
const database = useHotMemoize(module, () => {
|
||||
return Knex({
|
||||
client: 'better-sqlite3',
|
||||
connection: ':memory:',
|
||||
useNullAsDefault: true,
|
||||
});
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('badges');
|
||||
|
||||
logger.debug('Creating application...');
|
||||
|
||||
@@ -70,9 +71,7 @@ export async function startStandaloneServer(
|
||||
tokenManager,
|
||||
logger,
|
||||
identity,
|
||||
badgeStore: await DatabaseBadgesStore.create({
|
||||
database: { getClient: async () => database },
|
||||
}),
|
||||
badgeStore: await DatabaseBadgesStore.create({ database }),
|
||||
});
|
||||
|
||||
let service = createServiceBuilder(module)
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
DatabaseManager,
|
||||
createServiceBuilder,
|
||||
loadBackendConfig,
|
||||
useHotMemoize,
|
||||
} from '@backstage/backend-common';
|
||||
import { IdentityApi } from '@backstage/plugin-auth-node';
|
||||
import { Server } from 'http';
|
||||
import { Logger } from 'winston';
|
||||
import { createRouter } from './router';
|
||||
import knexFactory from 'knex';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
|
||||
export interface ServerOptions {
|
||||
port: number;
|
||||
@@ -37,23 +37,18 @@ export async function startStandaloneServer(
|
||||
const logger = options.logger.child({ service: 'bazaar-backend' });
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
|
||||
const db = useHotMemoize(module, () => {
|
||||
const knex = knexFactory({
|
||||
client: 'better-sqlite3',
|
||||
connection: ':memory:',
|
||||
useNullAsDefault: true,
|
||||
});
|
||||
|
||||
knex.client.pool.on('createSuccess', (_eventId: any, resource: any) => {
|
||||
resource.run('PRAGMA foreign_keys = ON', () => {});
|
||||
});
|
||||
|
||||
return knex;
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('bazaar');
|
||||
|
||||
const router = await createRouter({
|
||||
logger,
|
||||
database: { getClient: async () => db },
|
||||
database,
|
||||
config: config,
|
||||
identity: {} as IdentityApi,
|
||||
});
|
||||
|
||||
@@ -21,7 +21,6 @@ import {
|
||||
ServerTokenManager,
|
||||
HostDiscovery,
|
||||
UrlReaders,
|
||||
useHotMemoize,
|
||||
} from '@backstage/backend-common';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
import { ServerPermissionClient } from '@backstage/plugin-permission-node';
|
||||
@@ -43,16 +42,14 @@ export async function startStandaloneServer(
|
||||
const logger = options.logger.child({ service: 'catalog-backend' });
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
const reader = UrlReaders.default({ logger, config });
|
||||
const database = useHotMemoize(module, () => {
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
return manager.forPlugin('catalog');
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('catalog');
|
||||
const discovery = HostDiscovery.fromConfig(config);
|
||||
const tokenManager = ServerTokenManager.fromConfig(config, {
|
||||
logger,
|
||||
|
||||
@@ -16,17 +16,17 @@
|
||||
|
||||
import {
|
||||
createServiceBuilder,
|
||||
DatabaseManager,
|
||||
HostDiscovery,
|
||||
loadBackendConfig,
|
||||
UrlReaders,
|
||||
useHotMemoize,
|
||||
} from '@backstage/backend-common';
|
||||
import { CatalogApi } from '@backstage/catalog-client';
|
||||
import { CompoundEntityRef, parseEntityRef } from '@backstage/catalog-model';
|
||||
import { Server } from 'http';
|
||||
import knexFactory from 'knex';
|
||||
import { Logger } from 'winston';
|
||||
import { createRouter } from './router';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
|
||||
export interface ServerOptions {
|
||||
port: number;
|
||||
@@ -40,19 +40,14 @@ export async function startStandaloneServer(
|
||||
const logger = options.logger.child({ service: 'code-coverage-backend' });
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
|
||||
const db = useHotMemoize(module, () => {
|
||||
const knex = knexFactory({
|
||||
client: 'better-sqlite3',
|
||||
connection: ':memory:',
|
||||
useNullAsDefault: true,
|
||||
});
|
||||
|
||||
knex.client.pool.on('createSuccess', (_eventId: any, resource: any) => {
|
||||
resource.run('PRAGMA foreign_keys = ON', () => {});
|
||||
});
|
||||
|
||||
return knex;
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('code-coverage');
|
||||
|
||||
const catalogApi = {
|
||||
async getEntityByRef(entityRef: string | CompoundEntityRef) {
|
||||
@@ -69,7 +64,7 @@ export async function startStandaloneServer(
|
||||
logger.debug('Starting application server...');
|
||||
|
||||
const router = await createRouter({
|
||||
database: { getClient: async () => db },
|
||||
database,
|
||||
config,
|
||||
discovery: HostDiscovery.fromConfig(config),
|
||||
urlReader: UrlReaders.default({ logger, config }),
|
||||
|
||||
@@ -19,7 +19,6 @@ import {
|
||||
DatabaseManager,
|
||||
loadBackendConfig,
|
||||
HostDiscovery,
|
||||
useHotMemoize,
|
||||
} from '@backstage/backend-common';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
|
||||
@@ -40,16 +39,14 @@ export async function startStandaloneServer(
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
const discovery = HostDiscovery.fromConfig(config);
|
||||
|
||||
const database = useHotMemoize(module, () => {
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
return manager.forPlugin('entity-feedback');
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('entity-feedback');
|
||||
|
||||
const identity = DefaultIdentityClient.create({
|
||||
discovery,
|
||||
|
||||
@@ -19,14 +19,14 @@ import {
|
||||
loadBackendConfig,
|
||||
HostDiscovery,
|
||||
UrlReaders,
|
||||
useHotMemoize,
|
||||
ServerTokenManager,
|
||||
DatabaseManager,
|
||||
} from '@backstage/backend-common';
|
||||
import { Server } from 'http';
|
||||
import { Logger } from 'winston';
|
||||
import { createRouter } from './router';
|
||||
import knexFactory from 'knex';
|
||||
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
|
||||
export interface ServerOptions {
|
||||
port: number;
|
||||
@@ -39,19 +39,14 @@ export async function startStandaloneServer(
|
||||
): Promise<Server> {
|
||||
const logger = options.logger.child({ service: 'linguist-backend' });
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
const db = useHotMemoize(module, () => {
|
||||
const knex = knexFactory({
|
||||
client: 'sqlite3',
|
||||
connection: ':memory:',
|
||||
useNullAsDefault: true,
|
||||
});
|
||||
|
||||
knex.client.pool.on('createSuccess', (_eventId: any, resource: any) => {
|
||||
resource.run('PRAGMA foreign_keys = ON', () => {});
|
||||
});
|
||||
|
||||
return knex;
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('linguist');
|
||||
|
||||
const schedule: TaskScheduleDefinition = {
|
||||
frequency: { minutes: 2 },
|
||||
@@ -63,7 +58,7 @@ export async function startStandaloneServer(
|
||||
const router = await createRouter(
|
||||
{ schedule: schedule, age: { days: 30 }, useSourceLocation: false },
|
||||
{
|
||||
database: { getClient: async () => db },
|
||||
database,
|
||||
discovery: HostDiscovery.fromConfig(config),
|
||||
reader: UrlReaders.default({ logger, config }),
|
||||
logger,
|
||||
|
||||
@@ -20,7 +20,6 @@ import {
|
||||
loadBackendConfig,
|
||||
ServerTokenManager,
|
||||
HostDiscovery,
|
||||
useHotMemoize,
|
||||
} from '@backstage/backend-common';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
|
||||
@@ -42,16 +41,14 @@ export async function startStandaloneServer(
|
||||
const config = await loadBackendConfig({ logger, argv: process.argv });
|
||||
const discovery = HostDiscovery.fromConfig(config);
|
||||
|
||||
const database = useHotMemoize(module, () => {
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
return manager.forPlugin('playlist');
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('playlist');
|
||||
|
||||
const identity = DefaultIdentityClient.create({
|
||||
discovery,
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"@backstage/backend-common": "workspace:^",
|
||||
"@backstage/backend-plugin-api": "workspace:^",
|
||||
"@backstage/catalog-model": "workspace:^",
|
||||
"@backstage/config": "workspace:^",
|
||||
"@backstage/errors": "workspace:^",
|
||||
"@backstage/plugin-auth-node": "workspace:^",
|
||||
"@backstage/types": "workspace:^",
|
||||
|
||||
@@ -14,10 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { createServiceBuilder, useHotMemoize } from '@backstage/backend-common';
|
||||
import {
|
||||
createServiceBuilder,
|
||||
DatabaseManager,
|
||||
} from '@backstage/backend-common';
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
import { IdentityApi } from '@backstage/plugin-auth-node';
|
||||
import { Server } from 'http';
|
||||
import Knex from 'knex';
|
||||
import { Logger } from 'winston';
|
||||
import { DatabaseUserSettingsStore } from '../database/DatabaseUserSettingsStore';
|
||||
import { createRouterInternal } from './router';
|
||||
@@ -33,13 +36,14 @@ export async function startStandaloneServer(
|
||||
): Promise<Server> {
|
||||
const logger = options.logger.child({ service: 'storage-backend' });
|
||||
|
||||
const database = useHotMemoize(module, () => {
|
||||
return Knex({
|
||||
client: 'better-sqlite3',
|
||||
connection: ':memory:',
|
||||
useNullAsDefault: true,
|
||||
});
|
||||
});
|
||||
const manager = DatabaseManager.fromConfig(
|
||||
new ConfigReader({
|
||||
backend: {
|
||||
database: { client: 'better-sqlite3', connection: ':memory:' },
|
||||
},
|
||||
}),
|
||||
);
|
||||
const database = manager.forPlugin('user-settings');
|
||||
|
||||
logger.debug('Starting application server...');
|
||||
|
||||
@@ -58,9 +62,7 @@ export async function startStandaloneServer(
|
||||
};
|
||||
|
||||
const router = await createRouterInternal({
|
||||
userSettingsStore: await DatabaseUserSettingsStore.create({
|
||||
database: { getClient: async () => database },
|
||||
}),
|
||||
userSettingsStore: await DatabaseUserSettingsStore.create({ database }),
|
||||
identity: identityMock,
|
||||
});
|
||||
|
||||
|
||||
@@ -9948,6 +9948,7 @@ __metadata:
|
||||
"@backstage/backend-test-utils": "workspace:^"
|
||||
"@backstage/catalog-model": "workspace:^"
|
||||
"@backstage/cli": "workspace:^"
|
||||
"@backstage/config": "workspace:^"
|
||||
"@backstage/errors": "workspace:^"
|
||||
"@backstage/plugin-auth-node": "workspace:^"
|
||||
"@backstage/types": "workspace:^"
|
||||
|
||||
Reference in New Issue
Block a user