diff --git a/apps/server-nestjs/prisma.config.ts b/apps/server-nestjs/prisma.config.ts index f553c118b..ff5aaf918 100644 --- a/apps/server-nestjs/prisma.config.ts +++ b/apps/server-nestjs/prisma.config.ts @@ -1,12 +1,19 @@ import fs from 'node:fs' import path from 'node:path' +import { parseEnv } from 'node:util' import { defineConfig } from 'prisma/config' -if (process.env.INTEGRATION === 'true' && fs.existsSync('.env.integ')) - process.loadEnvFile('.env.integ') +if (process.env.DOCKER !== 'true' && fs.existsSync('.env')) { + Object.assign(process.env, Object.fromEntries( + Object.entries(parseEnv(fs.readFileSync(path.resolve('.env'), 'utf-8'))).filter(([_k, v]) => Boolean(v)), + )) +} -if (process.env.DOCKER !== 'true' && fs.existsSync('.env')) - process.loadEnvFile('.env') +if (process.env.INTEGRATION === 'true' && fs.existsSync('.env.integ')) { + Object.assign(process.env, Object.fromEntries( + Object.entries(parseEnv(fs.readFileSync(path.resolve('.env.integ'), 'utf-8'))).filter(([_k, v]) => Boolean(v)), + )) +} export default defineConfig({ schema: path.join('src', 'prisma', 'schema'), diff --git a/apps/server/prisma.config.ts b/apps/server/prisma.config.ts index f553c118b..ff5aaf918 100644 --- a/apps/server/prisma.config.ts +++ b/apps/server/prisma.config.ts @@ -1,12 +1,19 @@ import fs from 'node:fs' import path from 'node:path' +import { parseEnv } from 'node:util' import { defineConfig } from 'prisma/config' -if (process.env.INTEGRATION === 'true' && fs.existsSync('.env.integ')) - process.loadEnvFile('.env.integ') +if (process.env.DOCKER !== 'true' && fs.existsSync('.env')) { + Object.assign(process.env, Object.fromEntries( + Object.entries(parseEnv(fs.readFileSync(path.resolve('.env'), 'utf-8'))).filter(([_k, v]) => Boolean(v)), + )) +} -if (process.env.DOCKER !== 'true' && fs.existsSync('.env')) - process.loadEnvFile('.env') +if (process.env.INTEGRATION === 'true' && fs.existsSync('.env.integ')) { + Object.assign(process.env, Object.fromEntries( + Object.entries(parseEnv(fs.readFileSync(path.resolve('.env.integ'), 'utf-8'))).filter(([_k, v]) => Boolean(v)), + )) +} export default defineConfig({ schema: path.join('src', 'prisma', 'schema'), diff --git a/apps/server/src/utils/env.ts b/apps/server/src/utils/env.ts index cdaf870f7..2ca618fd1 100644 --- a/apps/server/src/utils/env.ts +++ b/apps/server/src/utils/env.ts @@ -1,10 +1,18 @@ import fs from 'node:fs' - -if (process.env.INTEGRATION === 'true' && fs.existsSync('.env.integ')) - process.loadEnvFile('.env.integ') - -if (process.env.DOCKER !== 'true' && fs.existsSync('.env')) - process.loadEnvFile('.env') +import path from 'node:path' +import { parseEnv } from 'node:util' + +if (process.env.DOCKER !== 'true' && fs.existsSync('.env')) { + Object.assign(process.env, Object.fromEntries( + Object.entries(parseEnv(fs.readFileSync(path.resolve('.env'), 'utf-8'))).filter(([_k, v]) => Boolean(v)), + )) +} + +if (process.env.INTEGRATION === 'true' && fs.existsSync('.env.integ')) { + Object.assign(process.env, Object.fromEntries( + Object.entries(parseEnv(fs.readFileSync(path.resolve('.env.integ'), 'utf-8'))).filter(([_k, v]) => Boolean(v)), + )) +} // application mode export const isDev = process.env.NODE_ENV === 'development'