1+ const { mergeWithRules } = require ( "webpack-merge" ) ;
12const path = require ( "path" ) ;
23const sveltePreprocess = require ( "svelte-preprocess" ) ;
34const SveltePreRenderPlugin = require ( "./webpack/svelte-pre-render-plugin" ) ;
45
5- module . exports = {
6+ const common = require ( "./webpack.common.js" ) ;
7+
8+ module . exports = mergeWithRules ( {
9+ module : {
10+ rules : {
11+ test : "match" ,
12+ type : "replace" ,
13+ use : "replace" ,
14+ } ,
15+ } ,
16+ } ) ( common , {
617 entry : {
718 contribute : "./svelte/contribute/Contribute" ,
819 } ,
@@ -13,17 +24,10 @@ module.exports = {
1324 "/contribute/forum" ,
1425 "/contribute/kb" ,
1526 "/contribute/social" ,
16- ]
17- } )
27+ ] ,
28+ } ) ,
1829 ] ,
1930 mode : "production" ,
20- resolve : {
21- alias : {
22- svelte : path . resolve ( "node_modules" , "svelte" ) ,
23- } ,
24- extensions : [ ".mjs" , ".js" , ".svelte" ] ,
25- mainFields : [ "svelte" , "browser" , "module" , "main" ] ,
26- } ,
2731 module : {
2832 rules : [
2933 {
@@ -41,15 +45,14 @@ module.exports = {
4145 } ,
4246 } ,
4347 {
44- // required to prevent errors from Svelte on Webpack 5+, omit on Webpack 4
45- test : / n o d e _ m o d u l e s \/ s v e l t e \/ . * \. m j s $ / ,
46- resolve : {
47- fullySpecified : false ,
48+ test : / \. ( s v g | p n g | g i f | w o f f 2 ? ) $ / ,
49+ type : "asset/source" ,
50+ use : {
51+ loader : path . resolve ( "./webpack/ssr-asset-loader" ) ,
4852 } ,
4953 } ,
5054 ] ,
5155 } ,
52- devtool : "cheap-module-source-map" ,
5356 output : {
5457 filename : "[name].js" ,
5558 path : path . resolve ( __dirname , "dist/pre-render" ) ,
@@ -58,4 +61,4 @@ module.exports = {
5861 } ,
5962 } ,
6063 target : "node" ,
61- } ;
64+ } ) ;
0 commit comments