cnpmcore
Version:
Private NPM Registry for Enterprise
53 lines • 5.47 kB
JavaScript
import { env } from 'read-env-value';
export var DATABASE_TYPE;
(function (DATABASE_TYPE) {
DATABASE_TYPE["MySQL"] = "MySQL";
DATABASE_TYPE["PostgreSQL"] = "PostgreSQL";
DATABASE_TYPE["SQLite"] = "SQLite";
})(DATABASE_TYPE || (DATABASE_TYPE = {}));
const dbType = env('CNPMCORE_DATABASE_TYPE', 'string', DATABASE_TYPE.MySQL);
let dbName = env('CNPMCORE_DATABASE_NAME', 'string');
let dbHost = env('CNPMCORE_DATABASE_HOST', 'string');
let dbPort = env('CNPMCORE_DATABASE_PORT', 'number');
let dbUser = env('CNPMCORE_DATABASE_USER', 'string');
let dbPassword = env('CNPMCORE_DATABASE_PASSWORD', 'string');
let dialect = 'mysql';
let dbClient = 'mysql2';
if (dbType === DATABASE_TYPE.MySQL) {
// Compatible mysql configurations
dbName = dbName ?? env('CNPMCORE_MYSQL_DATABASE', 'string') ?? env('MYSQL_DATABASE', 'string');
dbHost = dbHost ?? env('CNPMCORE_MYSQL_HOST', 'string') ?? env('MYSQL_HOST', 'string') ?? '127.0.0.1';
dbPort = dbPort ?? env('CNPMCORE_MYSQL_PORT', 'number') ?? env('MYSQL_PORT', 'number') ?? 3306;
dbUser = dbUser ?? env('CNPMCORE_MYSQL_USER', 'string') ?? env('MYSQL_USER', 'string') ?? 'root';
dbPassword = dbPassword ?? env('CNPMCORE_MYSQL_PASSWORD', 'string') ?? env('MYSQL_PASSWORD', 'string');
}
else if (dbType === DATABASE_TYPE.PostgreSQL) {
dbClient = 'pg';
dialect = 'postgres';
dbHost = dbHost ?? env('CNPMCORE_POSTGRES_HOST', 'string') ?? env('POSTGRES_HOST', 'string') ?? '127.0.0.1';
dbPort = dbPort ?? env('CNPMCORE_POSTGRES_PORT', 'number') ?? env('POSTGRES_PORT', 'number') ?? 5432;
dbUser = dbUser ?? env('CNPMCORE_POSTGRES_USER', 'string') ?? env('POSTGRES_USER', 'string') ?? 'postgres';
dbPassword =
dbPassword ?? env('CNPMCORE_POSTGRES_PASSWORD', 'string') ?? env('POSTGRES_PASSWORD', 'string') ?? 'postgres';
}
else if (dbType === DATABASE_TYPE.SQLite) {
// TODO: Implement SQLite
dbClient = 'sqlite';
dialect = 'sqlite';
}
// Per-worker database isolation for vitest parallel execution
const poolId = env('VITEST_POOL_ID', 'string');
if (poolId) {
dbName = `${dbName ?? 'cnpmcore_unittest'}_${poolId}`;
}
export const database = {
type: dbType,
dialect,
client: dbClient,
name: dbName,
host: dbHost,
port: dbPort,
user: dbUser,
password: dbPassword,
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb25maWcvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsZ0NBQWUsQ0FBQTtJQUNmLDBDQUF5QixDQUFBO0lBQ3pCLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QjtBQUVELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVFLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNyRCxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDckQsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3JELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNyRCxJQUFJLFVBQVUsR0FBRyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDN0QsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3RCLElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUN4QixJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsa0NBQWtDO0lBQ2xDLE1BQU0sR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRixNQUFNLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQztJQUN0RyxNQUFNLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMvRixNQUFNLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUNqRyxVQUFVLEdBQUcsVUFBVSxJQUFJLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDekcsQ0FBQztLQUFNLElBQUksTUFBTSxLQUFLLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDckIsTUFBTSxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUM7SUFDNUcsTUFBTSxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDckcsTUFBTSxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDM0csVUFBVTtRQUNSLFVBQVUsSUFBSSxHQUFHLENBQUMsNEJBQTRCLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQztBQUNsSCxDQUFDO0tBQU0sSUFBSSxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNDLHlCQUF5QjtJQUN6QixRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3BCLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFDckIsQ0FBQztBQUVELDhEQUE4RDtBQUM5RCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDL0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUNYLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTztJQUNQLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFVBQVU7Q0FDckIsQ0FBQyJ9