Files
website-typo3/webpack.config.js
T

66 lines
2.5 KiB
JavaScript

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', 'vue-session', '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];