@@ -11,29 +11,63 @@ const rules = [
1111 test : / \. ( j s | j s x | t s | t s x ) $ / ,
1212 loader : 'babel-loader' ,
1313 include : path . join ( __dirname , '../lib' , 'keplergl' ) ,
14- exclude : [ / n o d e _ m o d u l e s / ]
14+ exclude : [ / n o d e _ m o d u l e s \/ (? ! ( @ m o n a c o - e d i t o r | @ r a d i x - u i ) ) / ]
1515 } ,
1616 // fix for arrow-related errors
1717 {
1818 test : / \. m j s $ / ,
19- // include: /node_modules[\\/]apache-arrow/,
20- include : / n o d e _ m o d u l e s / ,
19+ include : / n o d e _ m o d u l e s [ \\ / ] a p a c h e - a r r o w / ,
2120 type : 'javascript/auto'
2221 } ,
22+ {
23+ test : / \. j s $ / ,
24+ loader : require . resolve ( '@open-wc/webpack-import-meta-loader' ) ,
25+ include : [ / n o d e _ m o d u l e s \/ p a r q u e t - w a s m / ]
26+ } ,
2327 // for compiling @probe .gl, website build started to fail (March, 2024)
2428 {
2529 test : / \. ( j s | t s ) $ / ,
2630 loader : 'babel-loader' ,
2731 include : [
2832 / n o d e _ m o d u l e s [ \\ / ] @ p r o b e .g l / ,
2933 / n o d e _ m o d u l e s [ \\ / ] @ l o a d e r s .g l / ,
30- / n o d e _ m o d u l e s [ \\ / ] @ m a t h .g l /
34+ / n o d e _ m o d u l e s [ \\ / ] @ m a t h .g l / ,
35+ / n o d e _ m o d u l e s [ \\ / ] @ g e o a r r o w /
3136 ]
37+ } ,
38+ {
39+ test : / \. m ? j s $ / ,
40+ include : [
41+ / n o d e _ m o d u l e s \/ @ d u c k d b \/ d u c k d b - w a s m / ,
42+ / n o d e _ m o d u l e s \/ @ r a d i x - u i / ,
43+ / n o d e _ m o d u l e s \/ @ m o n a c o - e d i t o r \/ r e a c t /
44+ ] ,
45+ type : 'javascript/auto'
46+ } ,
47+ // Handle @loaders .gl ESM modules for webpack 5
48+ {
49+ test : / \. m ? j s $ / ,
50+ resolve : {
51+ fullySpecified : false
52+ } ,
53+ include : [
54+ / n o d e _ m o d u l e s \/ @ l o a d e r s \. g l / ,
55+ / n o d e _ m o d u l e s \/ @ m a t h \. g l / ,
56+ / n o d e _ m o d u l e s \/ @ p r o b e \. g l / ,
57+ / n o d e _ m o d u l e s \/ @ g e o a r r o w /
58+ ] ,
59+ type : 'javascript/auto'
3260 }
3361] ;
3462
3563const plugins = [
36- new webpack . EnvironmentPlugin ( [ 'MapboxAccessTokenJupyter' ] )
64+ new webpack . EnvironmentPlugin ( {
65+ MapboxAccessTokenJupyter : null
66+ } ) ,
67+ new webpack . ProvidePlugin ( {
68+ process : 'process/browser'
69+ } )
70+
3771] ;
3872
3973module . exports = {
@@ -50,14 +84,15 @@ module.exports = {
5084 output : {
5185 filename : 'extension.js' ,
5286 path : path . resolve ( __dirname , '../..' , 'keplergl' , 'static' ) ,
53- libraryTarget : 'amd'
54- } ,
55- node : {
56- fs : 'empty'
87+ library : {
88+ name : 'amd' ,
89+ type : 'amd'
90+ }
5791 } ,
5892 plugins
5993 } ,
6094
95+
6196 widget : {
6297 // Bundle for the notebook containing the custom widget views and models
6398 //
@@ -72,18 +107,20 @@ module.exports = {
72107 } ,
73108 output : {
74109 filename : 'index.js' ,
110+ chunkFormat : false ,
75111 path : path . resolve ( __dirname , '../..' , 'keplergl' , 'static' ) ,
76- libraryTarget : 'amd'
112+ library : {
113+ name : 'amd' ,
114+ type : 'amd'
115+ }
77116 } ,
78117 // adding source map significantly slows down the
79118 // devtool: 'source-map',
80119 module : {
81120 rules
82121 } ,
83122 externals : [ '@jupyter-widgets/base' ] ,
84- node : {
85- fs : 'empty'
86- } ,
123+ resolve : buildHtml . resolve ,
87124 plugins
88125 } ,
89126
@@ -107,18 +144,21 @@ module.exports = {
107144 entry : path . resolve ( __dirname , '../lib/embed.js' ) ,
108145 output : {
109146 filename : 'index.js' ,
147+ chunkFormat : false ,
110148 path : path . resolve ( __dirname , '../dist' ) ,
111- libraryTarget : 'amd' ,
149+ library : {
150+ type : 'amd' ,
151+ name : 'amd'
152+ } ,
112153 publicPath : `https://unpkg.com/keplergl-jupyter@${ version } /dist/`
113154 } ,
114155 mode : 'production' ,
115156 module : {
116157 rules
117158 } ,
159+
118160 externals : [ '@jupyter-widgets/base' ] ,
119- node : {
120- fs : 'empty'
121- } ,
161+ resolve : buildHtml . resolve ,
122162 plugins
123163 }
124164} ;
0 commit comments