summaryrefslogtreecommitdiff
path: root/packages/integrations/node/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/src')
-rw-r--r--packages/integrations/node/src/index.ts17
1 files changed, 16 insertions, 1 deletions
diff --git a/packages/integrations/node/src/index.ts b/packages/integrations/node/src/index.ts
index e91ed171b..a5dccc0c3 100644
--- a/packages/integrations/node/src/index.ts
+++ b/packages/integrations/node/src/index.ts
@@ -1,3 +1,4 @@
+import { fileURLToPath } from 'node:url';
import type { AstroAdapter, AstroIntegration } from 'astro';
import { AstroError } from 'astro/errors';
import type { Options, UserOptions } from './types.js';
@@ -33,11 +34,25 @@ export default function createIntegration(userOptions: UserOptions): AstroIntegr
return {
name: '@astrojs/node',
hooks: {
- 'astro:config:setup': async ({ updateConfig, config }) => {
+ 'astro:config:setup': async ({ updateConfig, config, logger }) => {
+ let session = config.session;
+
+ if (config.experimental.session && !session?.driver) {
+ logger.info('Configuring experimental session support using filesystem storage');
+ session = {
+ ...session,
+ driver: 'fs-lite',
+ options: {
+ base: fileURLToPath(new URL('sessions', config.cacheDir)),
+ },
+ };
+ }
+
updateConfig({
image: {
endpoint: config.image.endpoint ?? 'astro/assets/endpoint/node',
},
+ session,
vite: {
ssr: {
noExternal: ['@astrojs/node'],