2024-04-28 11:44:18 +00:00
|
|
|
// svelte adapter
|
2024-04-29 13:40:37 +00:00
|
|
|
|
2024-04-28 11:44:18 +00:00
|
|
|
import adapterNode from '@sveltejs/adapter-node'
|
2024-04-29 13:40:37 +00:00
|
|
|
import adapterVercel from '@sveltejs/adapter-vercel'
|
|
|
|
import adapterNetlify from '@sveltejs/adapter-netlify'
|
|
|
|
import adapterCloudflare from '@sveltejs/adapter-cloudflare'
|
2024-04-28 11:44:18 +00:00
|
|
|
import adapterStatic from '@sveltejs/adapter-static'
|
|
|
|
// svelte preprocessor
|
|
|
|
import { mdsvex } from 'mdsvex'
|
|
|
|
import mdsvexConfig from './mdsvex.config.js'
|
2024-04-28 11:53:57 +00:00
|
|
|
// import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
|
|
|
|
import preprocess from 'svelte-preprocess'
|
2023-11-08 23:03:32 +00:00
|
|
|
|
2024-04-29 13:40:37 +00:00
|
|
|
function getAdapter() {
|
|
|
|
if (Object.keys(process.env).some(key => key.includes('VERCEL'))) {
|
|
|
|
return adapterVercel()
|
|
|
|
} else if (Object.keys(process.env).some(key => key.includes('NETLIFY'))) {
|
|
|
|
return adapterNetlify()
|
|
|
|
} else if (Object.keys(process.env).some(key => key.includes('CF_PAGES'))) {
|
|
|
|
return adapterCloudflare()
|
|
|
|
} else {
|
|
|
|
return process.env.ADAPTER === 'node'
|
|
|
|
? adapterNode({ out: 'build' })
|
|
|
|
: adapterStatic({
|
|
|
|
pages: 'build',
|
|
|
|
assets: 'build',
|
|
|
|
fallback: undefined
|
|
|
|
})
|
|
|
|
}
|
2024-04-28 11:44:18 +00:00
|
|
|
}
|
2023-11-01 23:36:58 +00:00
|
|
|
|
2024-04-28 11:44:18 +00:00
|
|
|
/** @type {import("@svletejs/kit".Config)} */
|
|
|
|
export default {
|
2024-04-29 13:40:37 +00:00
|
|
|
extensions: ['.svelte', ...(mdsvexConfig.extensions || [])],
|
|
|
|
preprocess: [preprocess({ postcss: true }), mdsvex(mdsvexConfig) /*, vitePreprocess()*/],
|
|
|
|
vitePlugin: {
|
|
|
|
inspector: true
|
2024-04-28 11:44:18 +00:00
|
|
|
},
|
2024-04-29 13:40:37 +00:00
|
|
|
kit: {
|
|
|
|
adapter: getAdapter(),
|
|
|
|
alias: {
|
|
|
|
$lib: './src/lib',
|
|
|
|
$root: './',
|
|
|
|
$src: './src',
|
|
|
|
$routes: './src/routes',
|
|
|
|
$content: './content'
|
|
|
|
},
|
|
|
|
csrf: {
|
|
|
|
checkOrigin: process.env.NODE_ENV === 'development' ? false : true
|
|
|
|
},
|
|
|
|
prerender: {
|
|
|
|
crawl: true,
|
|
|
|
handleMissingId: 'warn',
|
|
|
|
handleHttpError: ({ status, path, referrer, referenceType, message }) => {
|
|
|
|
// Handle blog trying to prerender relative links that it can't
|
|
|
|
if (
|
|
|
|
(status == 404 && path.startsWith('/blog')) ||
|
|
|
|
path.startsWith('/projects') ||
|
|
|
|
(path.startsWith('/') && referenceType == 'linked')
|
|
|
|
) {
|
|
|
|
console.warn(`PRERENDER ignored route ${path}`)
|
|
|
|
return
|
|
|
|
}
|
2024-04-28 11:53:57 +00:00
|
|
|
|
2024-04-29 13:40:37 +00:00
|
|
|
throw new Error(`${status} ${path} from ${referrer}, ~~~~~~~~~ message: ${message}~~~~~~~~~`)
|
|
|
|
}
|
|
|
|
}
|
2024-04-28 11:44:18 +00:00
|
|
|
}
|
|
|
|
}
|