import { fileURLToPath } from 'node:url'; import type { AstroAdapter, AstroIntegration } from 'astro'; import { AstroError } from 'astro/errors'; import type { Options, UserOptions } from './types.js'; export function getAdapter(options: Options): AstroAdapter { return { name: '@astrojs/node', serverEntrypoint: '@astrojs/node/server.js', previewEntrypoint: '@astrojs/node/preview.js', exports: ['handler', 'startServer', 'options'], args: options, adapterFeatures: { buildOutput: 'server', edgeMiddleware: false, }, supportedAstroFeatures: { hybridOutput: 'stable', staticOutput: 'stable', serverOutput: 'stable', sharpImageService: 'stable', i18nDomains: 'experimental', envGetSecret: 'stable', }, }; } export default function createIntegration(userOptions: UserOptions): AstroIntegration { if (!userOptions?.mode) { throw new AstroError(`Setting the 'mode' option is required.`); } let _options: Options; return { name: '@astrojs/node', hooks: { 'astro:config:setup': async ({ updateConfig, config, logger }) => { let session = config.session; if (!session?.driver) { logger.info('Enabling sessions with filesystem storage'); session = { ...session, driver: 'fs-lite', options: { base: fileURLToPath(new URL('sessions', config.cacheDir)), }, }; } updateConfig({ image: { endpoint: { route: config.image.endpoint.route ?? '_image', entrypoint: config.image.endpoint.entrypoint ?? 'astro/assets/endpoint/node', }, }, session, vite: { ssr: { noExternal: ['@astrojs/node'], }, }, }); }, 'astro:config:done': ({ setAdapter, config }) => { _options = { ...userOptions, client: config.build.client?.toString(), server: config.build.server?.toString(), host: config.server.host, port: config.server.port, assets: config.build.assets, }; setAdapter(getAdapter(_options)); }, }, }; } ption value='cli-flags'>cli-flags Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/node/nodejs_error_code.zig (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-04-03wipGravatar Jarred Sumner 120-20/+8988
2022-04-03[bun.js] Expose `ImageData` globallyGravatar Jarred Sumner 12-2/+1237
2022-04-02More typesGravatar Jarred Sumner 2-39/+3998
2022-04-02Add more typingsGravatar Jarred Sumner 1-2/+416
2022-04-02Add more tests for Node FSGravatar Jarred Sumner 4-1/+60
2022-04-02[bun.js] fs.readSync & fs.writeSync should return just the numberGravatar Jarred Sumner 1-24/+57
2022-04-02[bun.js] Support `mode` and `flags` as integer args in fs.openSync (instead o...Gravatar Jarred Sumner 1-0/+6
2022-04-02Update base.zigGravatar Jarred Sumner 1-0/+1
2022-04-02Fix GC bug when reading TypedArray from user inputGravatar Jarred Sumner 1-6/+36
2022-04-02s/Buffer/TypedArrayGravatar Jarred Sumner 1-17/+17
2022-04-02Fix mmap on macOS x64Gravatar Jarred Sumner 2-29/+27