const Encore = require('@symfony/webpack-encore'); const path = require('path'); const ManifestPlugin = require('webpack-manifest-plugin') if (!Encore.isRuntimeEnvironmentConfigured()) { Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); } Encore .setOutputPath('public/build/') .setPublicPath('/build') .copyFiles({ from: './assets/images', to: 'images/[path][name].[ext]' }) /* .copyFiles([ {from: './node_modules/ckeditor4/', to: 'ckeditor/[path][name].[ext]', pattern: /\.(js|css)$/, includeSubdirectories: false}, {from: './node_modules/ckeditor4/adapters', to: 'ckeditor/adapters/[path][name].[ext]'}, {from: './node_modules/ckeditor4/lang', to: 'ckeditor/lang/[path][name].[ext]'}, {from: './node_modules/ckeditor4/plugins', to: 'ckeditor/plugins/[path][name].[ext]'}, {from: './node_modules/ckeditor4/skins', to: 'ckeditor/skins/[path][name].[ext]'}, {from: './node_modules/ckeditor4/vendor', to: 'ckeditor/vendor/[path][name].[ext]'} ]) */ .addEntry('app', './assets/js/index.js') .splitEntryChunks() // will require an extra script tag for runtime.js // but, you probably want this, unless you're building a single-page app .enableSingleRuntimeChunk() .cleanupOutputBeforeBuild() .enableBuildNotifications() .enableSourceMaps(!Encore.isProduction()) .enableVersioning(Encore.isProduction()) .configureBabel((config) => { config.plugins.push('@babel/plugin-proposal-class-properties'); }) // enables @babel/preset-env polyfills .configureBabelPresetEnv((config) => { config.useBuiltIns = 'usage'; config.corejs = 3; }) .addAliases({ '@': path.resolve(__dirname, 'assets', 'js'), styles: path.resolve(__dirname, 'assets', 'styles'), }) .enableSassLoader() .enableVueLoader() .autoProvidejQuery(); module.exports = Encore.getWebpackConfig();