mirror of
https://github.com/d0zingcat/BroadcastChannel.git
synced 2026-05-13 15:09:12 +00:00
Integrates EdgeOne as a deployment adapter alongside existing providers like Cloudflare, Netlify, Node, and Vercel. Enables deployment to EdgeOne platform by adding the adapter package and configuration, expanding the available deployment options for the project.
92 lines
2.4 KiB
JavaScript
92 lines
2.4 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 edgeone from '@edgeone/astro'
|
|
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',
|
|
}),
|
|
edgeone: edgeone(),
|
|
}
|
|
|
|
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',
|
|
]
|
|
: [],
|
|
],
|
|
},
|
|
},
|
|
})
|