const Encore = require('@symfony/webpack-encore'); // Create webpack config for ext:ep_theme Encore .setOutputPath('./public/typo3conf/ext/ep_theme/Resources/Public/') .setPublicPath('/typo3conf/ext/ep_theme/Resources/Public/') .addEntry('main', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/main.js') .addEntry('boarderweek', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/boarderweek.js') .addEntry('snowzone', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/snowzone.js') .addEntry('unichamp', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/unichamp.js') .addStyleEntry('rte', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/rte.scss') .splitEntryChunks() .enableSingleRuntimeChunk() .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 = [ '@babel/plugin-proposal-object-rest-spread', '@babel/plugin-syntax-dynamic-import' ] }) .configureWatchOptions(function (options) { options.poll = 250; }); 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('./public/typo3conf/ext/ep_events/Resources/Public/') .setPublicPath('/typo3conf/ext/ep_events/Resources/Public/') .addEntry('main', './public/typo3conf/ext/ep_events/Resources/Private/Assets/js/main.js') .addStyleEntry('rte', './public/typo3conf/ext/ep_events/Resources/Private/Assets/scss/rte.scss') .enableSingleRuntimeChunk() .splitEntryChunks() .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 = [ '@babel/plugin-proposal-object-rest-spread', '@babel/plugin-syntax-dynamic-import' ] }) .configureWatchOptions(function (options) { options.poll = 250; }); const EpEventsConfig = Encore.getWebpackConfig(); EpEventsConfig.name = 'EpEventsConfig'; module.exports = [EpThemeConfig, EpEventsConfig];