const path = require('path'); const Encore = require('@symfony/webpack-encore'); const uiBundleScripts = path.resolve(__dirname, 'src/Sylius/Bundle/UiBundle/Resources/private/js/'); const uiBundleResources = path.resolve(__dirname, 'src/Sylius/Bundle/UiBundle/Resources/private/'); // Shop config Encore .setOutputPath('public/build/shop/') .setPublicPath('/build/shop') .addEntry('shop-entry', './src/Sylius/Bundle/ShopBundle/Resources/private/entry.js') .disableSingleRuntimeChunk() .cleanupOutputBeforeBuild() .enableSourceMaps(!Encore.isProduction()) .enableVersioning(Encore.isProduction()) .enableSassLoader(); const shopConfig = Encore.getWebpackConfig(); shopConfig.resolve.alias['sylius/ui'] = uiBundleScripts; shopConfig.resolve.alias['sylius/ui-resources'] = uiBundleResources; shopConfig.name = 'shop'; Encore.reset(); // Admin config Encore .setOutputPath('public/build/admin/') .setPublicPath('/build/admin') .addEntry('admin-entry', './src/Sylius/Bundle/AdminBundle/Resources/private/entry.js') .disableSingleRuntimeChunk() .cleanupOutputBeforeBuild() .enableSourceMaps(!Encore.isProduction()) .enableVersioning(Encore.isProduction()) .enableSassLoader(); const adminConfig = Encore.getWebpackConfig(); adminConfig.resolve.alias['sylius/ui'] = uiBundleScripts; adminConfig.resolve.alias['sylius/ui-resources'] = uiBundleResources; adminConfig.externals = Object.assign({}, adminConfig.externals, { window: 'window', document: 'document' }); adminConfig.name = 'admin'; module.exports = [shopConfig, adminConfig];