@@ -205,6 +205,26 @@ if (process.argv.includes('--analyze')) {
205
205
extras . push ( new BundleAnalyzerPlugin ( ) ) ;
206
206
}
207
207
208
+ const htmlPlugins = [ ] ;
209
+ [ 'consoles' , 'edit' , 'error' , 'notebooks' , 'terminals' , 'tree' ] . forEach (
210
+ ( name ) => {
211
+ htmlPlugins . push (
212
+ new HtmlWebpackPlugin ( {
213
+ chunksSortMode : 'none' ,
214
+ template : path . join (
215
+ path . resolve ( './templates' ) ,
216
+ `${ name } _template.html`
217
+ ) ,
218
+ title : name ,
219
+ filename : path . join (
220
+ path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
221
+ `${ name } .html`
222
+ ) ,
223
+ } )
224
+ ) ;
225
+ }
226
+ ) ;
227
+
208
228
module . exports = [
209
229
merge ( baseConfig , {
210
230
mode : 'development' ,
@@ -233,78 +253,7 @@ module.exports = [
233
253
fallback : { util : false } ,
234
254
} ,
235
255
plugins : [
236
- new HtmlWebpackPlugin ( {
237
- chunksSortMode : 'none' ,
238
- template : path . join (
239
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
240
- 'consoles_template.html'
241
- ) ,
242
- title : data . jupyterlab . name ,
243
- filename : path . join (
244
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
245
- 'consoles.html'
246
- ) ,
247
- } ) ,
248
- new HtmlWebpackPlugin ( {
249
- chunksSortMode : 'none' ,
250
- template : path . join (
251
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
252
- 'edit_template.html'
253
- ) ,
254
- title : data . jupyterlab . name ,
255
- filename : path . join (
256
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
257
- 'edit.html'
258
- ) ,
259
- } ) ,
260
- new HtmlWebpackPlugin ( {
261
- chunksSortMode : 'none' ,
262
- template : path . join (
263
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
264
- 'error_template.html'
265
- ) ,
266
- title : data . jupyterlab . name ,
267
- filename : path . join (
268
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
269
- 'error.html'
270
- ) ,
271
- } ) ,
272
- new HtmlWebpackPlugin ( {
273
- chunksSortMode : 'none' ,
274
- template : path . join (
275
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
276
- 'notebooks_template.html'
277
- ) ,
278
- title : data . jupyterlab . name ,
279
- filename : path . join (
280
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
281
- 'notebooks.html'
282
- ) ,
283
- } ) ,
284
- new HtmlWebpackPlugin ( {
285
- chunksSortMode : 'none' ,
286
- template : path . join (
287
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
288
- 'terminals_template.html'
289
- ) ,
290
- title : data . jupyterlab . name ,
291
- filename : path . join (
292
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
293
- 'terminals.html'
294
- ) ,
295
- } ) ,
296
- new HtmlWebpackPlugin ( {
297
- chunksSortMode : 'none' ,
298
- template : path . join (
299
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
300
- 'tree_template.html'
301
- ) ,
302
- title : data . jupyterlab . name ,
303
- filename : path . join (
304
- path . resolve ( __dirname , '..' , 'notebook/templates' ) ,
305
- 'tree.html'
306
- ) ,
307
- } ) ,
256
+ ...htmlPlugins ,
308
257
new WPPlugin . JSONLicenseWebpackPlugin ( {
309
258
excludedPackageTest : ( packageName ) =>
310
259
packageName === '@jupyter-notebook/app' ,
0 commit comments