-
Notifications
You must be signed in to change notification settings - Fork 65
/
webpack.config.js
45 lines (36 loc) · 1.24 KB
/
webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var Encore = require('@symfony/webpack-encore')
const CopyWebpackPlugin = require('copy-webpack-plugin')
var path = require('path')
// Manually configure the runtime environment if not already configured yet by the "encore" command.
// It's useful when you use tools that rely on webpack.config.js file.
if (!Encore.isRuntimeEnvironmentConfigured()) {
Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev')
}
Encore.setOutputPath('public/build')
.setPublicPath(process.env.WEBPACK_PUBLIC_PATH || '/build')
.setManifestKeyPrefix('build')
.addEntry('app', './assets/js/index.js')
.addEntry('admin', './assets/js/admin.js')
.addPlugin(new CopyWebpackPlugin({
patterns: [
{ from: './assets/mediaAssets', to: 'static'}
]
}))
.disableSingleRuntimeChunk()
.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps(!Encore.isProduction())
.configureCssLoader((options) => {
options.modules = true
})
// .enablePostCssLoader()
.autoProvidejQuery()
.enableReactPreset()
.configureBabel(null, function (babelConfig) {
//This is needed.
babelConfig.plugins = [
'transform-object-rest-spread',
'transform-class-properties',
]
})
module.exports = Encore.getWebpackConfig()