You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/sites/svelte.dev/vite.config.js

57 lines
1.5 KiB

import { sveltekit } from '@sveltejs/kit/vite';
import * as fs from 'fs';
import { imagetools } from 'vite-imagetools';
process.env.VITE_API_BASE = process.env.DOCS_PREVIEW
? 'http://localhost:8787'
: 'https://api.svelte.dev';
function raw(ext) {
return {
name: 'vite-plugin-raw',
transform(_, id) {
if (ext.some((e) => id.endsWith(e))) {
const buffer = fs.readFileSync(id);
return { code: `export default ${JSON.stringify(buffer)}`, map: null };
}
}
};
}
/** @type {import('vite').UserConfig} */
const config = {
logLevel: 'info',
plugins: [raw(['.ttf']), imagetools(), sveltekit()],
optimizeDeps: {
include: [
'codemirror',
'codemirror/mode/javascript/javascript.js',
'codemirror/mode/handlebars/handlebars.js',
'codemirror/mode/htmlmixed/htmlmixed.js',
'codemirror/mode/xml/xml.js',
'codemirror/mode/css/css.js',
'codemirror/mode/markdown/markdown.js',
'codemirror/addon/edit/closebrackets.js',
'codemirror/addon/edit/closetag.js',
'codemirror/addon/edit/continuelist.js',
'codemirror/addon/comment/comment.js',
'codemirror/addon/fold/foldcode.js',
'codemirror/addon/fold/foldgutter.js',
'codemirror/addon/fold/brace-fold.js',
'codemirror/addon/fold/xml-fold.js',
'codemirror/addon/fold/indent-fold.js',
'codemirror/addon/fold/markdown-fold.js',
'codemirror/addon/fold/comment-fold.js'
],
exclude: ['@sveltejs/repl', '@sveltejs/site-kit']
},
ssr: { noExternal: ['@sveltejs/site-kit'] },
server: {
fs: {
strict: false
}
}
};
export default config;