Files
supertonic/web/vite.config.js
2026-05-06 23:09:06 +02:00

47 lines
1.1 KiB
JavaScript

import { createReadStream, existsSync, statSync } from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { defineConfig } from 'vite';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const rootAssetsDir = path.resolve(__dirname, '../assets');
function serveRootAssets() {
return {
name: 'serve-root-assets',
configureServer(server) {
server.middlewares.use('/assets', (req, res, next) => {
const urlPath = decodeURIComponent((req.url || '').split('?')[0]);
const filePath = path.resolve(rootAssetsDir, `.${urlPath}`);
if (!filePath.startsWith(rootAssetsDir) || !existsSync(filePath)) {
next();
return;
}
const stat = statSync(filePath);
if (!stat.isFile()) {
next();
return;
}
createReadStream(filePath).pipe(res);
});
}
};
}
export default defineConfig({
plugins: [serveRootAssets()],
server: {
port: 3000,
open: true
},
build: {
target: 'esnext'
},
optimizeDeps: {
exclude: ['onnxruntime-web']
}
});