@@ -39,7 +39,7 @@ bun add -D @rspack/dev-middleware
3939## Usage
4040
4141``` js
42- const middleware = require (" @rspack/dev-middleware" );
42+ const { devMiddleware } = require (" @rspack/dev-middleware" );
4343const express = require (" express" );
4444const { rspack } = require (" @rspack/core" );
4545
@@ -50,7 +50,7 @@ const compiler = rspack({
5050const app = express ();
5151
5252app .use (
53- middleware (compiler, {
53+ devMiddleware (compiler, {
5454 // options
5555 }),
5656);
@@ -100,7 +100,7 @@ eg. `{ "X-Custom-Header": "yes" }`
100100or
101101
102102``` js
103- middleware (compiler, {
103+ devMiddleware (compiler, {
104104 headers : () => ({
105105 " Last-Modified" : new Date (),
106106 }),
@@ -110,7 +110,7 @@ middleware(compiler, {
110110or
111111
112112``` js
113- middleware (compiler, {
113+ devMiddleware (compiler, {
114114 headers : (req , res , context ) => {
115115 res .setHeader (" Last-Modified" , new Date ());
116116 },
@@ -120,7 +120,7 @@ middleware(compiler, {
120120or
121121
122122``` js
123- middleware (compiler, {
123+ devMiddleware (compiler, {
124124 headers: [
125125 {
126126 key: " X-custom-header" ,
@@ -137,7 +137,7 @@ middleware(compiler, {
137137or
138138
139139``` js
140- middleware (compiler, {
140+ devMiddleware (compiler, {
141141 headers : () => [
142142 {
143143 key: " X-custom-header" ,
@@ -256,7 +256,7 @@ const configuration = {
256256};
257257const compiler = rspack (configuration);
258258
259- middleware (compiler, {
259+ devMiddleware (compiler, {
260260 writeToDisk : (filePath ) => / superman\. css$ / .test (filePath),
261261});
262262```
@@ -284,7 +284,7 @@ const compiler = rspack({
284284 /* Rspack configuration */
285285});
286286
287- middleware (compiler, { outputFileSystem: myOutputFileSystem });
287+ devMiddleware (compiler, { outputFileSystem: myOutputFileSystem });
288288```
289289
290290### modifyResponseData
@@ -299,7 +299,7 @@ const configuration = {
299299};
300300const compiler = rspack (configuration);
301301
302- middleware (compiler, {
302+ devMiddleware (compiler, {
303303 // Note - if you send the `Range` header you will have `ReadStream`
304304 // Also `data` can be `string` or `Buffer`
305305 modifyResponseData : (req , res , data , byteLength ) =>
@@ -328,15 +328,15 @@ Required: `No`
328328A function executed once the middleware has stopped watching.
329329
330330``` js
331- const middleware = require (" @rspack/dev-middleware" );
331+ const { devMiddleware } = require (" @rspack/dev-middleware" );
332332const express = require (" express" );
333333const { rspack } = require (" @rspack/core" );
334334
335335const compiler = rspack ({
336336 /* Rspack configuration */
337337});
338338
339- const instance = middleware (compiler);
339+ const instance = devMiddleware (compiler);
340340
341341// eslint-disable-next-line new-cap
342342const app = new express ();
@@ -363,15 +363,15 @@ Required: `No`
363363A function executed once the middleware has invalidated.
364364
365365``` js
366- const middleware = require (" @rspack/dev-middleware" );
366+ const { devMiddleware } = require (" @rspack/dev-middleware" );
367367const express = require (" express" );
368368const { rspack } = require (" @rspack/core" );
369369
370370const compiler = rspack ({
371371 /* Rspack configuration */
372372});
373373
374- const instance = middleware (compiler);
374+ const instance = devMiddleware (compiler);
375375
376376// eslint-disable-next-line new-cap
377377const app = new express ();
@@ -403,15 +403,15 @@ A function executed when the bundle becomes valid.
403403If the bundle is valid at the time of calling, the callback is executed immediately.
404404
405405``` js
406- const middleware = require (" @rspack/dev-middleware" );
406+ const { devMiddleware } = require (" @rspack/dev-middleware" );
407407const express = require (" express" );
408408const { rspack } = require (" @rspack/core" );
409409
410410const compiler = rspack ({
411411 /* Rspack configuration */
412412});
413413
414- const instance = middleware (compiler);
414+ const instance = devMiddleware (compiler);
415415
416416// eslint-disable-next-line new-cap
417417const app = new express ();
@@ -437,15 +437,15 @@ Required: `Yes`
437437URL for the requested file.
438438
439439``` js
440- const middleware = require (" @rspack/dev-middleware" );
440+ const { devMiddleware } = require (" @rspack/dev-middleware" );
441441const express = require (" express" );
442442const { rspack } = require (" @rspack/core" );
443443
444444const compiler = rspack ({
445445 /* Rspack configuration */
446446});
447447
448- const instance = middleware (compiler);
448+ const instance = devMiddleware (compiler);
449449
450450// eslint-disable-next-line new-cap
451451const app = new express ();
@@ -468,7 +468,7 @@ Since `output.publicPath` and `output.filename`/`output.chunkFilename` can be dy
468468But there is a solution to avoid it - mount the middleware to a non-root route, for example:
469469
470470``` js
471- const middleware = require (" @rspack/dev-middleware" );
471+ const { devMiddleware } = require (" @rspack/dev-middleware" );
472472const express = require (" express" );
473473const { rspack } = require (" @rspack/core" );
474474
@@ -482,7 +482,7 @@ const app = express();
482482// Note - check your public path, if you want to handle `/dist/`, you need to setup `output.publicPath` to `/` value.
483483app .use (
484484 " /dist/" ,
485- middleware (compiler, {
485+ devMiddleware (compiler, {
486486 // @rspack/dev-middleware options
487487 }),
488488);
@@ -495,11 +495,11 @@ app.listen(3000, () => console.log("Example app listening on port 3000!"));
495495_ Note: this feature is experimental and may be removed or changed completely in the future._
496496
497497In order to develop an app using server-side rendering, we need access to the
498- [ ` stats ` ] ( https://github.com/webpack/docs/wiki/node.js -api# stats ) , which is
498+ [ ` stats ` ] ( https://rspack.rs/api/javascript -api/ stats ) , which is
499499generated with each build.
500500
501- With server-side rendering enabled, ` @rspack/dev-middleware ` sets the ` stats ` to ` res.locals.webpack .devMiddleware.stats `
502- and the filesystem to ` res.locals.webpack .devMiddleware.outputFileSystem ` before invoking the next middleware,
501+ With server-side rendering enabled, ` @rspack/dev-middleware ` sets the ` stats ` to ` res.locals.rspack .devMiddleware.stats `
502+ and the filesystem to ` res.locals.rspack .devMiddleware.outputFileSystem ` before invoking the next middleware,
503503allowing a developer to render the page body and manage the response to clients.
504504
505505_ Note: Requests for bundle files will still be handled by
@@ -509,7 +509,7 @@ process is finished with server-side rendering enabled._
509509Example Implementation:
510510
511511``` js
512- const middleware = require (" @rspack/dev-middleware" );
512+ const { devMiddleware } = require (" @rspack/dev-middleware" );
513513const express = require (" express" );
514514const isObject = require (" is-object" );
515515const { rspack } = require (" @rspack/core" );
@@ -530,14 +530,14 @@ function normalizeAssets(assets) {
530530 return Array .isArray (assets) ? assets : [assets];
531531}
532532
533- app .use (middleware (compiler, { serverSideRender: true }));
533+ app .use (devMiddleware (compiler, { serverSideRender: true }));
534534
535535// The following middleware would not be invoked until the latest build is finished.
536536app .use ((req , res ) => {
537- const { devMiddleware } = res .locals .webpack ;
537+ const { devMiddleware } = res .locals .rspack ;
538538 const { outputFileSystem } = devMiddleware;
539- const jsonWebpackStats = devMiddleware .stats .toJson ();
540- const { assetsByChunkName , outputPath } = jsonWebpackStats ;
539+ const jsonStats = devMiddleware .stats .toJson ();
540+ const { assetsByChunkName , outputPath } = jsonStats ;
541541
542542 // Then use `assetsByChunkName` for server-side rendering
543543 // For example, if you have only one main chunk:
@@ -572,7 +572,7 @@ Examples of use with other servers will follow here.
572572
573573``` js
574574const http = require (" node:http" );
575- const devMiddleware = require (" @rspack/dev-middleware" );
575+ const { devMiddleware } = require (" @rspack/dev-middleware" );
576576const connect = require (" connect" );
577577const { rspack } = require (" @rspack/core" );
578578const rspackConfig = require (" ./rspack.config.js" );
@@ -592,7 +592,7 @@ http.createServer(app).listen(3000);
592592
593593``` js
594594const http = require (" node:http" );
595- const devMiddleware = require (" @rspack/dev-middleware" );
595+ const { devMiddleware } = require (" @rspack/dev-middleware" );
596596const finalhandler = require (" finalhandler" );
597597const Router = require (" router" );
598598const { rspack } = require (" @rspack/core" );
@@ -618,7 +618,7 @@ server.listen(3000);
618618### Express
619619
620620``` js
621- const devMiddleware = require (" @rspack/dev-middleware" );
621+ const { devMiddleware } = require (" @rspack/dev-middleware" );
622622const express = require (" express" );
623623const { rspack } = require (" @rspack/core" );
624624const rspackConfig = require (" ./rspack.config.js" );
@@ -637,7 +637,7 @@ app.listen(3000, () => console.log("Example app listening on port 3000!"));
637637### Koa
638638
639639``` js
640- const middleware = require (" @rspack/dev-middleware" );
640+ const { devMiddleware } = require (" @rspack/dev-middleware" );
641641const Koa = require (" koa" );
642642const { rspack } = require (" @rspack/core" );
643643const rspackConfig = require (" ./rspack.simple.config" );
@@ -657,7 +657,7 @@ app.listen(3000);
657657
658658``` js
659659const Hapi = require (" @hapi/hapi" );
660- const devMiddleware = require (" @rspack/dev-middleware" );
660+ const { devMiddleware } = require (" @rspack/dev-middleware" );
661661const { rspack } = require (" @rspack/core" );
662662const rspackConfig = require (" ./rspack.config.js" );
663663
@@ -690,7 +690,7 @@ process.on("unhandledRejection", (err) => {
690690Fastify interop will require the use of ` fastify-express ` instead of ` middie ` for providing middleware support. As the authors of ` fastify-express ` recommend, this should only be used as a stopgap while full Fastify support is worked on.
691691
692692``` js
693- const devMiddleware = require (" @rspack/dev-middleware" );
693+ const { devMiddleware } = require (" @rspack/dev-middleware" );
694694const fastify = require (" fastify" )();
695695const { rspack } = require (" @rspack/core" );
696696const rspackConfig = require (" ./rspack.config.js" );
0 commit comments