1
- const webpack = require ( 'webpack' ) ;
2
- const CopyPlugin = require ( "copy-webpack-plugin" ) ;
3
- const WorkboxPlugin = require ( 'workbox-webpack-plugin' ) ;
4
- const path = require ( 'path' ) ;
5
- const packageConfig = require ( './package.json' ) ;
1
+ import CopyPlugin from 'copy-webpack-plugin' ;
2
+ import WorkboxPlugin from 'workbox-webpack-plugin' ;
3
+ import webpack from 'webpack' ;
4
+ import packageConfig from './package.json' with { type : 'json' } ;
5
+
6
+ import path , { dirname } from 'path' ;
7
+ import { fileURLToPath } from 'url' ;
8
+
9
+ const __filename = fileURLToPath ( import . meta. url ) ;
10
+ const __dirname = dirname ( __filename ) ;
6
11
7
12
const LOCAL_URL = process . env . LOCAL_URL ?? 'http://localhost:4000/' ;
8
13
const PUBLIC_URL = process . env . PUBLIC_URL ?? packageConfig . homepage ;
9
14
const isDev = process . env . NODE_ENV !== 'production' ;
10
15
11
- module . exports = [
16
+
17
+ /** @type {import('webpack').Configuration[] } */
18
+ const config = [
12
19
{
13
20
entry : './src/index.tsx' ,
14
21
devtool : isDev ? 'source-map' : 'nosources-source-map' ,
@@ -38,7 +45,7 @@ module.exports = [
38
45
{
39
46
test : / \. c s s $ / i,
40
47
use : [
41
- " style-loader" ,
48
+ ' style-loader' ,
42
49
{
43
50
loader : 'css-loader' ,
44
51
options :{ url : false } ,
@@ -47,7 +54,7 @@ module.exports = [
47
54
} ,
48
55
// {
49
56
// test: /\.(png|gif|woff|woff2|eot|ttf|svg)$/,
50
- // loader: " url-loader?limit=100000"
57
+ // loader: ' url-loader?limit=100000'
51
58
// },
52
59
] ,
53
60
} ,
@@ -59,7 +66,7 @@ module.exports = [
59
66
path : path . resolve ( __dirname , 'dist' ) ,
60
67
} ,
61
68
devServer : {
62
- static : path . join ( __dirname , " dist" ) ,
69
+ static : path . join ( __dirname , ' dist' ) ,
63
70
compress : true ,
64
71
port : 4000 ,
65
72
} ,
@@ -74,9 +81,9 @@ module.exports = [
74
81
/ \. m a p $ / ,
75
82
/ ^ m a n i f e s t .* \. j s $ / ,
76
83
] ,
77
- // these options encourage the ServiceWorkers to get in there fast
78
- // and not allow any straggling " old" SWs to hang around
79
- swDest : path . join ( __dirname , " dist" , 'sw.js' ) ,
84
+ // these options encourage the ServiceWorkers to get in there fast
85
+ // and not allow any straggling ' old' SWs to hang around
86
+ swDest : path . join ( __dirname , ' dist' , 'sw.js' ) ,
80
87
maximumFileSizeToCacheInBytes : 200 * 1024 * 1024 ,
81
88
clientsClaim : true ,
82
89
skipWaiting : true ,
@@ -95,16 +102,16 @@ module.exports = [
95
102
] : [ ] ) ,
96
103
new CopyPlugin ( {
97
104
patterns : [
98
- {
105
+ {
99
106
from : path . resolve ( __dirname , 'public' ) ,
100
107
toType : 'dir' ,
101
108
} ,
102
- {
109
+ {
103
110
from : path . resolve ( __dirname , 'node_modules/primeicons/fonts' ) ,
104
111
to : path . resolve ( __dirname , 'dist/fonts' ) ,
105
112
toType : 'dir' ,
106
113
} ,
107
- {
114
+ {
108
115
from : path . resolve ( __dirname , 'src/wasm/openscad.js' ) ,
109
116
from : path . resolve ( __dirname , 'src/wasm/openscad.wasm' ) ,
110
117
} ,
@@ -177,3 +184,5 @@ module.exports = [
177
184
] ,
178
185
} ,
179
186
] ;
187
+
188
+ export default config ;
0 commit comments