mirror of
https://github.com/d0zingcat/BroadcastChannel.git
synced 2026-05-13 15:09:12 +00:00
90 lines
2.3 KiB
JavaScript
90 lines
2.3 KiB
JavaScript
import process from 'node:process'
|
|
import cloudflare from '@astrojs/cloudflare'
|
|
import netlify from '@astrojs/netlify'
|
|
import node from '@astrojs/node'
|
|
import vercel from '@astrojs/vercel'
|
|
import sentry from '@sentry/astro'
|
|
import { defineConfig } from 'astro/config'
|
|
import { provider } from 'std-env'
|
|
|
|
const providers = {
|
|
vercel: vercel({
|
|
isr: false,
|
|
edgeMiddleware: false,
|
|
}),
|
|
cloudflare_pages: cloudflare(),
|
|
netlify: netlify({
|
|
cacheOnDemandPages: false,
|
|
edgeMiddleware: false,
|
|
}),
|
|
node: node({
|
|
mode: 'standalone',
|
|
}),
|
|
}
|
|
|
|
const adapterProvider = process.env.SERVER_ADAPTER || provider
|
|
|
|
// https://astro.build/config
|
|
export default defineConfig({
|
|
output: 'server',
|
|
adapter: providers[adapterProvider] || providers.node,
|
|
integrations: [
|
|
...(process.env.SENTRY_DSN
|
|
? [
|
|
sentry({
|
|
enabled: {
|
|
client: false,
|
|
server: process.env.SENTRY_DSN,
|
|
},
|
|
dsn: process.env.SENTRY_DSN,
|
|
sourceMapsUploadOptions: {
|
|
enabled: process.env.SENTRY_PROJECT && process.env.SENTRY_AUTH_TOKEN,
|
|
project: process.env.SENTRY_PROJECT,
|
|
authToken: process.env.SENTRY_AUTH_TOKEN,
|
|
},
|
|
}),
|
|
]
|
|
: []),
|
|
],
|
|
vite: {
|
|
ssr: {
|
|
noExternal: process.env.DOCKER ? !!process.env.DOCKER : undefined,
|
|
external: [
|
|
...adapterProvider === 'cloudflare_pages'
|
|
? [
|
|
'module',
|
|
'url',
|
|
'events',
|
|
'worker_threads',
|
|
'async_hooks',
|
|
'util',
|
|
'node:diagnostics_channel',
|
|
'node:net',
|
|
'node:tls',
|
|
'node:worker_threads',
|
|
'node:util',
|
|
'node:fs',
|
|
'node:path',
|
|
'node:process',
|
|
'node:buffer',
|
|
'node:string_decoder',
|
|
'node:readline',
|
|
'node:events',
|
|
'node:stream',
|
|
'node:assert',
|
|
'node:os',
|
|
'node:crypto',
|
|
'node:zlib',
|
|
'node:http',
|
|
'node:https',
|
|
'node:url',
|
|
'node:querystring',
|
|
'node:child_process',
|
|
'node:inspector',
|
|
]
|
|
: [],
|
|
],
|
|
},
|
|
},
|
|
})
|