Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/webpack.config.js

81 lines
2.1 KiB

var Encore = require('@symfony/webpack-encore');
var copyWebpackPlugin = require('copy-webpack-plugin');
Encore
.setOutputPath('public/build/')
.setManifestKeyPrefix('public/build/')
// If chamilo is installed in localhost/chamilo2
.setPublicPath('../')
// If chamilo is installed in a domain my.chamilo.net
//.setPublicPath('/build')
.cleanupOutputBeforeBuild()
// enable features!
.enableSassLoader(function(sassOptions) {}, {
//resolveUrlLoader: false
})
.enableLessLoader()
.autoProvidejQuery()
// read main.js -> output as public/build/chamilo.js
.addEntry('chamilo', './assets/js/main.js')
// read main.scss -> output as web/build/css/base.css
.addStyleEntry('css/base', './assets/css/main.scss')
.addStyleEntry('css/editor', './assets/css/editor.css')
.addStyleEntry('css/print', './assets/css/print.css')
.enableSourceMaps(!Encore.isProduction())
.autoProvideVariables({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
//.enableVersioning() // hashed filenames (e.g. main.abc123.js)
;
var chamiloThemes = [
'academica',
'baby_orange',
'beach',
'blue_lagoon',
'chamilo',
'chamilo_electric_blue',
'chamilo_green',
'chamilo_orange',
'chamilo_red',
'chamilo_sport_red',
'cool_blue',
'corporate',
'cosmic_campus',
'delicious_bordeaux',
'empire_green',
'fruity_orange',
'holi',
'journal',
'kiddy',
'medical',
'readable',
'royal_purple',
'silver_line',
'simplex',
'sober_brown',
'spacelab',
'steel_grey',
'tasty_olive',
];
// Add Chamilo themes
chamiloThemes.forEach(function (theme) {
Encore
.addStyleEntry('css/themes/'+theme+'/default', './assets/css/themes/'+theme+'/default.css')
;
// Copy images from themes into public/build
Encore.addPlugin(new copyWebpackPlugin([{
from: 'assets/css/themes/'+theme+'/images',
to: 'css/themes/'+theme+'/images'
},
]));
});
var config = Encore.getWebpackConfig();
module.exports = config;