mediacms/frontend-tools/video-js/vite.video-js.config.ts
Yiannis Christodoulou 03d62909b4 audio poster image
2025-10-16 17:19:59 +03:00

52 lines
1.5 KiB
TypeScript

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path, { dirname } from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
},
},
root: path.resolve(__dirname, 'src'),
publicDir: path.resolve(__dirname, 'public'),
define: {
'process.env': {
NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'production'),
},
},
build: {
minify: true,
sourcemap: true,
lib: {
entry: path.resolve(__dirname, 'src/main.jsx'),
name: 'VideoJS',
formats: ['iife'],
fileName: () => 'video-js.js',
},
rollupOptions: {
output: {
// Ensure CSS file has a predictable name
assetFileNames: (assetInfo) => {
if (assetInfo.name === 'style.css') return 'video-js.css';
return assetInfo.name;
},
// Add this to ensure the final bundle exposes React correctly
globals: {
react: 'React',
'react-dom': 'ReactDOM',
},
},
},
// Output to Django's static directory
outDir: '../../../static/video_js',
emptyOutDir: true,
external: ['react', 'react-dom'],
},
});