Skip to content

Commit

Permalink
feat: add support nitro prefix env
Browse files Browse the repository at this point in the history
  • Loading branch information
hywax authored Aug 13, 2024
1 parent 9979f0d commit 58ebf85
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
8 changes: 5 additions & 3 deletions src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,11 @@ export default defineNuxtModule<ModuleOptions>({

// Runtime Config
const runtimeConfig = nuxt.options.runtimeConfig
const envSessionPassword = `${runtimeConfig.nitro?.envPrefix || 'NUXT_'}SESSION_PASSWORD`

runtimeConfig.session = defu(runtimeConfig.session, {
name: 'nuxt-session',
password: process.env.NUXT_SESSION_PASSWORD || '',
password: process.env[envSessionPassword] || '',
cookie: {
sameSite: 'lax',
},
Expand All @@ -64,10 +66,10 @@ export default defineNuxtModule<ModuleOptions>({
// Add it to .env
const envPath = join(nuxt.options.rootDir, '.env')
const envContent = await readFile(envPath, 'utf-8').catch(() => '')
if (!envContent.includes('NUXT_SESSION_PASSWORD')) {
if (!envContent.includes(envSessionPassword)) {
await writeFile(
envPath,
`${envContent ? envContent + '\n' : envContent}NUXT_SESSION_PASSWORD=${runtimeConfig.session.password}`,
`${envContent ? envContent + '\n' : envContent}${envSessionPassword}=${runtimeConfig.session.password}`,
'utf-8',
)
}
Expand Down
5 changes: 4 additions & 1 deletion src/runtime/server/utils/session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,11 @@ let sessionConfig: SessionConfig

function _useSession(event: H3Event) {
if (!sessionConfig) {
const runtimeConfig = useRuntimeConfig(event)
const envSessionPassword = `${runtimeConfig.nitro?.envPrefix || 'NUXT_'}SESSION_PASSWORD`

// @ts-expect-error hard to define with defu
sessionConfig = defu({ password: process.env.NUXT_SESSION_PASSWORD }, useRuntimeConfig(event).session)
sessionConfig = defu({ password: process.env[envSessionPassword] }, runtimeConfig.session)
}
return useSession<UserSession>(event, sessionConfig)
}

0 comments on commit 58ebf85

Please sign in to comment.