upgrade configs

This commit is contained in:
matthieu42morin 2024-04-29 15:40:37 +02:00
parent 608045ef6c
commit 25f2766ec2
3 changed files with 80 additions and 55 deletions

View File

@ -1,6 +1,9 @@
// svelte adapter
import adapterAuto from '@sveltejs/adapter-auto'
import adapterNode from '@sveltejs/adapter-node'
import adapterVercel from '@sveltejs/adapter-vercel'
import adapterNetlify from '@sveltejs/adapter-netlify'
import adapterCloudflare from '@sveltejs/adapter-cloudflare'
import adapterStatic from '@sveltejs/adapter-static'
// svelte preprocessor
import { mdsvex } from 'mdsvex'
@ -8,51 +11,59 @@ import mdsvexConfig from './mdsvex.config.js'
// import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
import preprocess from 'svelte-preprocess'
const adapter = {
auto: adapterAuto(),
node: adapterNode(),
static: adapterStatic({
pages: 'build',
assets: 'build',
fallback: undefined
})
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
})
}
}
/** @type {import("@svletejs/kit".Config)} */
export default {
extensions: ['.svelte', ...(mdsvexConfig.extensions || [])],
preprocess: [preprocess({ postcss: true }), mdsvex(mdsvexConfig) /*, vitePreprocess()*/],
vitePlugin: {
inspector: true
},
kit: {
adapter: process.env.ADAPTER
? adapter[process.env.ADAPTER.toLowerCase()]
: Object.keys(process.env).some(key => ['VERCEL', 'NETLIFY'].includes(key))
? adapter['auto']
: adapter['static'],
alias: {
$lib: './src/lib',
$root: './',
$src: './src',
$routes: './src/routes',
$content: './content'
extensions: ['.svelte', ...(mdsvexConfig.extensions || [])],
preprocess: [preprocess({ postcss: true }), mdsvex(mdsvexConfig) /*, vitePreprocess()*/],
vitePlugin: {
inspector: true
},
csrf: {
checkOrigin: process.env.NODE_ENV === 'development' ? false : true
},
prerender: {
crawl: true,
handleMissingId: 'warn',
handleHttpError: details => {
// Handle blog trying to prerender relative links that it can't
if (details.status == 404 && details.path.startsWith('/blog' && '/projects') && details.referenceType == 'linked') {
console.warn(`PRERENDER ignored route ${details.path}`)
return
}
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
}
throw new Error(`${details.status} ${details.path} from ${details.referrer}`)
}
throw new Error(`${status} ${path} from ${referrer}, ~~~~~~~~~ message: ${message}~~~~~~~~~`)
}
}
}
}
}

View File

@ -1,14 +1,28 @@
{
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": false,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"types": ["vite/client", "vite-plugin-pwa/client"]
}
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"outDir": "build",
"allowJs": true,
"checkJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"types": ["vite/client"]
},
"include": [
"./types/**/$types.d.ts",
"./svelte.config.js",
"./vite.config.js",
"./vite.config.ts",
"./src/**/*.js",
"./src/**/*.ts",
"./src/**/*.svelte",
"./tests/**/*.js",
"./tests/**/*.ts",
"./tests/**/*.svelte"
],
"exclude": ["node_modules", "build/**/*", "src/lib/template/**/*", "src/generated/**/*"]
}

View File

@ -91,8 +91,8 @@ export default defineConfig({
manifest: false,
scope: '/',
workbox: {
globPatterns: ['posts.json', '**/*.{js,css,html,svg,ico,png,webp,avif}'],
globIgnores: ['**/sw*', '**/workbox-*']
globPatterns: ['robots.txt', 'posts.json', '**/*.{js,css,html,svg,ico,png,webp,avif}', 'prerendered/**/*.html'],
globIgnores: ['**/sw*', '**/workbox-*', '*.xml', 'feed.json', 'tags.json']
}
})
]