vite.config.ts
Rama main · réplica de lectura del repositorio original.
import { defineConfig, type UserConfig } from 'vite';
import { svelte } from '@sveltejs/vite-plugin-svelte';
import tailwindcss from '@tailwindcss/vite';
import { plugin as mdPlugin } from 'vite-plugin-markdown';
import terser from '@rollup/plugin-terser';
import { Mode } from 'vite-plugin-markdown';
import { ssrSafeCustomElements } from './vite.helpers';
// https://vite.dev/config/
export default defineConfig(
({ command }) =>
({
publicDir: command === 'serve' ? './public' : false,
plugins: [
mdPlugin({ mode: [Mode.HTML] }),
tailwindcss(),
svelte({
compilerOptions: {
customElement: true
}
}),
ssrSafeCustomElements()
],
build: {
target: 'baseline-widely-available',
outDir: 'dist',
minify: false,
rollupOptions: {
input: {
altcha: 'src/entry.ts'
},
output: [
{
entryFileNames: 'main/[name].js',
format: 'esm'
},
{
entryFileNames: 'main/[name].min.js',
format: 'esm',
plugins: [terser()]
},
{
entryFileNames: 'main/[name].umd.cjs',
format: 'umd'
},
{
entryFileNames: 'main/[name].umd.min.cjs',
format: 'umd',
plugins: [terser()]
}
]
}
},
define: {
ALTCHA_VERSION: JSON.stringify(process.env.npm_package_version)
},
worker: {
rollupOptions: {
output: {
entryFileNames: 'workers/[name].js'
}
}
}
}) satisfies UserConfig
);