-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.js
50 lines (46 loc) · 1.04 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
46
47
48
49
50
const Encore = require('@symfony/webpack-encore');
const path = require('path');
if (!Encore.isRuntimeEnvironmentConfigured()) {
Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
}
Encore.setOutputPath('public/build/')
.setPublicPath('/build')
.addLoader({
test: /\.(svelte)$/,
use: {
loader: 'svelte-loader',
options: {
emitCss: true,
hotReload: true,
},
},
})
.addAliases({
'@': path.resolve('assets/js'),
svelte: path.resolve('node_modules', 'svelte'),
})
.addEntry('app', './assets/js/app.js')
.splitEntryChunks()
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.disableSingleRuntimeChunk()
.configureBabel(() => {}, {
useBuiltIns: 'usage',
corejs: 3,
});
//.enableSassLoader();
const config = Encore.getWebpackConfig();
config.resolve.mainFields = ['svelte', 'browser', 'module', 'main'];
config.resolve.extensions = [
'.wasm',
'.mjs',
'.js',
'.json',
'.jsx',
'.vue',
'.ts',
'.tsx',
'.svelte',
];
module.exports = config;