cnpmcore
Version:
Private NPM Registry for Enterprise
43 lines • 2.96 kB
JavaScript
import { join } from 'node:path';
import Mock from '@elastic/elasticsearch-mock';
import RedisMock from 'ioredis-mock';
import { database } from "./database.js";
// @ts-expect-error has no construct signatures
export const mockES = new Mock();
export default function startConfig(appInfo) {
const config = {};
// database.name already includes per-worker pool ID suffix from database.ts
const dbName = database.name ?? 'cnpmcore_unittest';
config.dataDir = join(appInfo.root, `.${dbName}`);
config.orm = {
database: dbName,
};
config.nfs = {
dir: join(config.dataDir, 'nfs'),
};
config.cnpmcore = {
checkChangesStreamInterval: 10,
};
// Use ioredis-mock for faster tests without a real Redis server
config.redis = {
Redis: RedisMock,
client: {
// ioredis-mock ignores these, but they satisfy the config schema
host: '127.0.0.1',
port: 6379,
password: '',
db: 0,
// Skip ready check — ioredis-mock emits 'ready' synchronously
// before @eggjs/redis registerBeforeStart listener is attached
weakDependent: true,
},
};
config.elasticsearch = {
client: {
node: 'http://localhost:9200',
Connection: mockES.getConnection(),
},
};
return config;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29uZmlnL2NvbmZpZy51bml0dGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sSUFBSSxNQUFNLDZCQUE2QixDQUFDO0FBRS9DLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUVyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLCtDQUErQztBQUMvQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUVqQyxNQUFNLENBQUMsT0FBTyxVQUFVLFdBQVcsQ0FBQyxPQUFtQjtJQUNyRCxNQUFNLE1BQU0sR0FBRyxFQUFzQixDQUFDO0lBRXRDLDRFQUE0RTtJQUM1RSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLG1CQUFtQixDQUFDO0lBRXBELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRWxELE1BQU0sQ0FBQyxHQUFHLEdBQUc7UUFDWCxRQUFRLEVBQUUsTUFBTTtLQUNqQixDQUFDO0lBRUYsTUFBTSxDQUFDLEdBQUcsR0FBRztRQUNYLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7S0FDakMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsMEJBQTBCLEVBQUUsRUFBRTtLQUMvQixDQUFDO0lBRUYsZ0VBQWdFO0lBQ2hFLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixLQUFLLEVBQUUsU0FBUztRQUNoQixNQUFNLEVBQUU7WUFDTixpRUFBaUU7WUFDakUsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsRUFBRTtZQUNaLEVBQUUsRUFBRSxDQUFDO1lBQ0wsOERBQThEO1lBQzlELCtEQUErRDtZQUMvRCxhQUFhLEVBQUUsSUFBSTtTQUNwQjtLQUNGLENBQUM7SUFFRixNQUFNLENBQUMsYUFBYSxHQUFHO1FBQ3JCLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxhQUFhLEVBQUU7U0FDbkM7S0FDRixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9