const Encore = require('@symfony/webpack-encore'); // Create webpack config for ext:ep_theme Encore .setOutputPath('./web/typo3conf/ext/ep_theme/Resources/Public/') .setPublicPath('/typo3conf/ext/ep_theme/Resources/Public/') .addEntry('main', './web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/main.js') .addEntry('boarderweek', './web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/boarderweek.js') .addEntry('snowzone', './web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/snowzone.js') .addEntry('unichamp', './web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/unichamp.js') .addStyleEntry('rte', './web/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/rte.scss') .createSharedEntry('vendor', [ 'jquery', 'vue', 'vuex', 'vue-router', 'axios', 'flatpickr', 'lazysizes', 'bootstrap-sass/assets/javascripts/bootstrap', 'slick-carousel', 'dayjs', 'cookieconsent', 'picturefill', '@fancyapps/fancybox', 'leaflet' ]) .enableSassLoader() .enableVueLoader() .autoProvidejQuery() .enableSourceMaps(!Encore.isProduction()) .cleanupOutputBeforeBuild() .enablePostCssLoader() .configureFilenames({ js: 'js/[name].js', css: 'css/[name].css', images: 'images/[name].[ext]' }) .configureBabel(function (babelConfig) { babelConfig.plugins = [ 'transform-object-rest-spread', 'syntax-dynamic-import' ] }) ; const EpThemeConfig = Encore.getWebpackConfig(); EpThemeConfig.name = 'EpThemeConfig'; EpThemeConfig.output.chunkFilename = 'js/[name].[chunkhash:8].js'; Encore.reset(); // Create config for ext:ep_events Encore .setOutputPath('./web/typo3conf/ext/ep_events/Resources/Public/') .setPublicPath('/typo3conf/ext/ep_events/Resources/Public/') .addEntry('main', './web/typo3conf/ext/ep_events/Resources/Private/Assets/js/main.js') .addStyleEntry('rte', './web/typo3conf/ext/ep_events/Resources/Private/Assets/css/rte.css') .enableSassLoader() .enableVueLoader() .autoProvidejQuery() .enableSourceMaps(!Encore.isProduction()) .cleanupOutputBeforeBuild() .enablePostCssLoader() .configureFilenames({ js: 'js/[name].js', css: 'css/[name].css', images: 'images/[name].[ext]' }) .configureBabel(function (babelConfig) { babelConfig.plugins = [ 'transform-object-rest-spread', 'syntax-dynamic-import' ] }) ; const EpEventsConfig = Encore.getWebpackConfig(); EpEventsConfig.name = 'EpEventsConfig'; module.exports = [EpThemeConfig, EpEventsConfig];