84 lines
1.8 KiB
JavaScript
84 lines
1.8 KiB
JavaScript
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import path from 'path'
|
|
import frappeui from 'frappe-ui/vite'
|
|
import { VitePWA } from 'vite-plugin-pwa'
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [
|
|
frappeui({
|
|
frappeProxy: true,
|
|
lucideIcons: true,
|
|
jinjaBootData: true,
|
|
frappeTypes: {
|
|
input: {},
|
|
},
|
|
buildConfig: {
|
|
indexHtmlPath: '../lms/www/lms.html',
|
|
},
|
|
}),
|
|
vue({
|
|
script: {
|
|
defineModel: true,
|
|
propsDestructure: true,
|
|
},
|
|
}),
|
|
VitePWA({
|
|
registerType: 'autoUpdate',
|
|
devOptions: {
|
|
enabled: true,
|
|
},
|
|
workbox: {
|
|
cleanupOutdatedCaches: true,
|
|
maximumFileSizeToCacheInBytes: 5 * 1024 * 1024,
|
|
},
|
|
manifest: {
|
|
display: 'standalone',
|
|
name: 'Learning',
|
|
short_name: 'Learning',
|
|
start_url: '/lms',
|
|
description:
|
|
'Easy to use, 100% open source Learning Management System',
|
|
theme_color: '#0f7159',
|
|
background_color: '#ffffff',
|
|
icons: [
|
|
{
|
|
src: '/assets/lms/frontend/manifest/manifest-icon-192.maskable.png',
|
|
sizes: '192x192',
|
|
type: 'image/png',
|
|
purpose: 'maskable any',
|
|
},
|
|
{
|
|
src: '/assets/lms/frontend/manifest/manifest-icon-512.maskable.png',
|
|
sizes: '512x512',
|
|
type: 'image/png',
|
|
purpose: 'maskable any',
|
|
},
|
|
],
|
|
},
|
|
}),
|
|
],
|
|
server: {
|
|
host: '0.0.0.0', // Accept connections from any network interface
|
|
allowedHosts: ['ps', 'fs', 'home'], // Explicitly allow this host
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, 'src'),
|
|
'tailwind.config.js': path.resolve(__dirname, 'tailwind.config.js'),
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
include: [
|
|
'feather-icons',
|
|
'showdown',
|
|
'engine.io-client',
|
|
'tailwind.config.js',
|
|
'interactjs',
|
|
'highlight.js',
|
|
'plyr',
|
|
],
|
|
},
|
|
})
|