correction vite
This commit is contained in:
parent
4b7d3c11b0
commit
0401b8a1aa
@ -1,15 +1,15 @@
|
|||||||
{
|
{
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"dev": "vite --mode development",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"watch": "vite build --watch",
|
"watch": "vite build --watch --mode development"
|
||||||
"dev": "vite build --watch --mode development"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fullcalendar/core": "^6.1.18",
|
"@fullcalendar/core": "^6.1.18",
|
||||||
"@fullcalendar/daygrid": "^6.1.18",
|
"@fullcalendar/daygrid": "^6.1.18",
|
||||||
"@fullcalendar/timegrid": "^6.1.18",
|
|
||||||
"@fullcalendar/list": "^6.1.18",
|
|
||||||
"@fullcalendar/interaction": "^6.1.18",
|
"@fullcalendar/interaction": "^6.1.18",
|
||||||
|
"@fullcalendar/list": "^6.1.18",
|
||||||
|
"@fullcalendar/timegrid": "^6.1.18",
|
||||||
"bootstrap": "^5.3.7",
|
"bootstrap": "^5.3.7",
|
||||||
"select2": "^4.0.13",
|
"select2": "^4.0.13",
|
||||||
"toastr": "^2.1.4"
|
"toastr": "^2.1.4"
|
||||||
@ -18,3 +18,4 @@
|
|||||||
"vite": "^7.0.3"
|
"vite": "^7.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,89 +1,70 @@
|
|||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
root: '.',
|
||||||
|
|
||||||
build: {
|
build: {
|
||||||
outDir: 'dist',
|
outDir: 'dist',
|
||||||
|
target: 'es2015',
|
||||||
|
minify: true,
|
||||||
|
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
input: {
|
input: {
|
||||||
crvi_libraries: 'crvi_libraries.js',
|
crvi_libraries: './crvi_libraries.js',
|
||||||
crvi_main: 'crvi_main.js',
|
crvi_main: './crvi_main.js',
|
||||||
|
|
||||||
|
// Entrées CSS (OK avec Vite/Rollup)
|
||||||
crvi_main_css: '../css/crvi_main.css',
|
crvi_main_css: '../css/crvi_main.css',
|
||||||
intervenant_profile_css: '../css/intervenant-profile.css',
|
intervenant_profile_css: '../css/intervenant-profile.css',
|
||||||
traduction_langue_admin: 'traduction-langue-admin.js',
|
|
||||||
traduction_langue_admin_css: '../css/traduction-langue-admin.css',
|
traduction_langue_admin_css: '../css/traduction-langue-admin.css',
|
||||||
traduction_langue_list: 'traduction-langue-list.js',
|
traduction_langue_list_css: '../css/traduction-langue-list.css',
|
||||||
traduction_langue_list_css: '../css/traduction-langue-list.css'
|
|
||||||
|
traduction_langue_admin: './traduction-langue-admin.js',
|
||||||
|
traduction_langue_list: './traduction-langue-list.js'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Important: en "es", `globals` ne sert pas.
|
||||||
|
// Si tu veux éviter de bundler jquery/toastr/select2 car chargés via <script>:
|
||||||
|
// external: ['jquery', 'toastr', 'select2'],
|
||||||
|
|
||||||
output: {
|
output: {
|
||||||
format: 'es', // Format ES modules
|
format: 'es',
|
||||||
entryFileNames: '[name].min.js',
|
entryFileNames: '[name].min.js',
|
||||||
assetFileNames: (assetInfo) => {
|
|
||||||
// Renommer le CSS extrait automatiquement de crvi_libraries.js
|
|
||||||
if (assetInfo.name && (assetInfo.name.includes('crvi_libraries') && assetInfo.name.endsWith('.css'))) {
|
|
||||||
return 'crvi_libraries.min.css';
|
|
||||||
}
|
|
||||||
// Renommer le CSS des libraries (si entrée séparée)
|
|
||||||
if (assetInfo.name && assetInfo.name.includes('crvi_libraries_css')) {
|
|
||||||
return 'crvi_libraries.min.css';
|
|
||||||
}
|
|
||||||
// Renommer le fichier CSS principal en crvi_main.min.css
|
|
||||||
if (assetInfo.name && assetInfo.name.includes('crvi_main_css')) {
|
|
||||||
return 'crvi_main.min.css';
|
|
||||||
}
|
|
||||||
// Renommer le CSS du profil intervenant
|
|
||||||
if (assetInfo.name && assetInfo.name.includes('intervenant_profile_css')) {
|
|
||||||
return 'intervenant-profile.min.css';
|
|
||||||
}
|
|
||||||
// Renommer le CSS de traduction-langue admin
|
|
||||||
if (assetInfo.name && assetInfo.name.includes('traduction_langue_admin_css')) {
|
|
||||||
return 'traduction-langue-admin.min.css';
|
|
||||||
}
|
|
||||||
// Renommer le CSS de traduction-langue list
|
|
||||||
if (assetInfo.name && assetInfo.name.includes('traduction_langue_list_css')) {
|
|
||||||
return 'traduction-langue-list.min.css';
|
|
||||||
}
|
|
||||||
// Pour les autres assets CSS, utiliser le pattern par défaut
|
|
||||||
if (assetInfo.name && assetInfo.name.endsWith('.css')) {
|
|
||||||
return '[name].min.css';
|
|
||||||
}
|
|
||||||
return '[name].min.[ext]';
|
|
||||||
},
|
|
||||||
// Séparer les librairies externes des modules locaux
|
|
||||||
manualChunks: (id) => {
|
|
||||||
// Si c'est le fichier crvi_libraries.js, tout va dans crvi_libraries
|
|
||||||
if (id.includes('crvi_libraries.js')) {
|
|
||||||
return 'crvi_libraries';
|
|
||||||
}
|
|
||||||
// Détecter les node_modules (librairies externes)
|
|
||||||
if (id.includes('node_modules')) {
|
|
||||||
// Séparer Bootstrap, Toastr, FullCalendar et leurs dépendances dans le chunk libraries
|
|
||||||
if (id.includes('bootstrap') ||
|
|
||||||
id.includes('toastr') ||
|
|
||||||
id.includes('select2') ||
|
|
||||||
id.includes('@fullcalendar') ||
|
|
||||||
id.includes('@popperjs') ||
|
|
||||||
id.includes('jquery')) {
|
|
||||||
return 'crvi_libraries';
|
|
||||||
}
|
|
||||||
// Autres node_modules - inclure dans libraries aussi
|
|
||||||
return 'crvi_libraries';
|
|
||||||
}
|
|
||||||
// Les modules locaux restent dans crvi_main
|
|
||||||
return null;
|
|
||||||
},
|
|
||||||
chunkFileNames: '[name].min.js',
|
chunkFileNames: '[name].min.js',
|
||||||
globals: {
|
|
||||||
'jquery': 'jQuery',
|
assetFileNames: (assetInfo) => {
|
||||||
'toastr': 'toastr',
|
const name = assetInfo.name || ''
|
||||||
'select2': 'select2'
|
|
||||||
|
// CSS extrait depuis une entry JS (ex: crvi_libraries.js -> crvi_libraries.css)
|
||||||
|
if (name.includes('crvi_libraries') && name.endsWith('.css')) {
|
||||||
|
return 'crvi_libraries.min.css'
|
||||||
|
}
|
||||||
|
|
||||||
|
// Entrées CSS séparées
|
||||||
|
if (name.includes('crvi_main_css')) return 'crvi_main.min.css'
|
||||||
|
if (name.includes('intervenant_profile_css')) return 'intervenant-profile.min.css'
|
||||||
|
if (name.includes('traduction_langue_admin_css')) return 'traduction-langue-admin.min.css'
|
||||||
|
if (name.includes('traduction_langue_list_css')) return 'traduction-langue-list.min.css'
|
||||||
|
|
||||||
|
// Autres CSS / assets
|
||||||
|
if (name.endsWith('.css')) return '[name].min.css'
|
||||||
|
return '[name].min.[ext]'
|
||||||
|
},
|
||||||
|
|
||||||
|
manualChunks: (id) => {
|
||||||
|
// Node_modules -> crvi_libraries (bundle commun)
|
||||||
|
if (id.includes('node_modules')) return 'crvi_libraries'
|
||||||
|
|
||||||
|
// Optionnel: forcer aussi certains fichiers locaux dans crvi_libraries
|
||||||
|
if (id.includes('crvi_libraries.js')) return 'crvi_libraries'
|
||||||
|
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
// Forcer la transpilation pour compatibilité navigateur
|
|
||||||
target: 'es2015',
|
|
||||||
minify: true // Utilise esbuild par défaut (plus rapide que terser)
|
|
||||||
},
|
},
|
||||||
|
|
||||||
define: {
|
define: {
|
||||||
global: 'window'
|
global: 'window'
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user