Skip to content

Commit b64e085

Browse files
authored
docs: update README examples to use ESM syntax (#35)
1 parent 9403062 commit b64e085

1 file changed

Lines changed: 69 additions & 73 deletions

File tree

README.md

Lines changed: 69 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ bun add -D @rspack/dev-middleware
3939
## Usage
4040

4141
```js
42-
const { devMiddleware } = require("@rspack/dev-middleware");
43-
const express = require("express");
44-
const { rspack } = require("@rspack/core");
42+
import { rspack } from "@rspack/core";
43+
import { devMiddleware } from "@rspack/dev-middleware";
44+
import express from "express";
4545

4646
const compiler = rspack({
4747
// Rspack options
@@ -253,7 +253,7 @@ This option also accepts a `Function` value, which can be used to filter which f
253253
The function follows the same premise as [`Array#filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) in which a return value of `false` _will not_ write the file, and a return value of `true` _will_ write the file to disk. eg.
254254

255255
```js
256-
const { rspack } = require("@rspack/core");
256+
import { rspack } from "@rspack/core";
257257

258258
const configuration = {
259259
/* Rspack configuration */
@@ -273,16 +273,16 @@ Default: [memfs](https://github.com/streamich/memfs)
273273
Set the default file system which will be used by Rspack as primary destination of generated files.
274274
This option isn't affected by the [writeToDisk](#writeToDisk) option.
275275

276-
This can be done simply by using `path.join`:
276+
This can be done simply by using `node:path`'s `join`:
277277

278278
```js
279-
const path = require("node:path");
280-
const mkdirp = require("mkdirp");
281-
const myOutputFileSystem = require("my-fs");
282-
const { rspack } = require("@rspack/core");
279+
import { join } from "node:path";
280+
import { rspack } from "@rspack/core";
281+
import mkdirp from "mkdirp";
282+
import myOutputFileSystem from "my-fs";
283283

284-
myOutputFileSystem.join = path.join.bind(path); // no need to bind
285-
myOutputFileSystem.mkdirp = mkdirp.bind(mkdirp); // no need to bind
284+
myOutputFileSystem.join = join;
285+
myOutputFileSystem.mkdirp = mkdirp;
286286

287287
const compiler = rspack({
288288
/* Rspack configuration */
@@ -296,7 +296,7 @@ devMiddleware(compiler, { outputFileSystem: myOutputFileSystem });
296296
Allows to set up a callback to change the response data.
297297

298298
```js
299-
const { rspack } = require("@rspack/core");
299+
import { rspack } from "@rspack/core";
300300

301301
const configuration = {
302302
/* Rspack configuration */
@@ -332,18 +332,17 @@ Required: `No`
332332
A function executed once the middleware has stopped watching.
333333

334334
```js
335-
const { devMiddleware } = require("@rspack/dev-middleware");
336-
const express = require("express");
337-
const { rspack } = require("@rspack/core");
335+
import { rspack } from "@rspack/core";
336+
import { devMiddleware } from "@rspack/dev-middleware";
337+
import express from "express";
338338

339339
const compiler = rspack({
340340
/* Rspack configuration */
341341
});
342342

343343
const instance = devMiddleware(compiler);
344344

345-
// eslint-disable-next-line new-cap
346-
const app = new express();
345+
const app = express();
347346

348347
app.use(instance);
349348

@@ -367,18 +366,17 @@ Required: `No`
367366
A function executed once the middleware has invalidated.
368367

369368
```js
370-
const { devMiddleware } = require("@rspack/dev-middleware");
371-
const express = require("express");
372-
const { rspack } = require("@rspack/core");
369+
import { rspack } from "@rspack/core";
370+
import { devMiddleware } from "@rspack/dev-middleware";
371+
import express from "express";
373372

374373
const compiler = rspack({
375374
/* Rspack configuration */
376375
});
377376

378377
const instance = devMiddleware(compiler);
379378

380-
// eslint-disable-next-line new-cap
381-
const app = new express();
379+
const app = express();
382380

383381
app.use(instance);
384382

@@ -407,18 +405,17 @@ A function executed when the bundle becomes valid.
407405
If the bundle is valid at the time of calling, the callback is executed immediately.
408406

409407
```js
410-
const { devMiddleware } = require("@rspack/dev-middleware");
411-
const express = require("express");
412-
const { rspack } = require("@rspack/core");
408+
import { rspack } from "@rspack/core";
409+
import { devMiddleware } from "@rspack/dev-middleware";
410+
import express from "express";
413411

414412
const compiler = rspack({
415413
/* Rspack configuration */
416414
});
417415

418416
const instance = devMiddleware(compiler);
419417

420-
// eslint-disable-next-line new-cap
421-
const app = new express();
418+
const app = express();
422419

423420
app.use(instance);
424421

@@ -441,18 +438,17 @@ Required: `Yes`
441438
URL for the requested file.
442439

443440
```js
444-
const { devMiddleware } = require("@rspack/dev-middleware");
445-
const express = require("express");
446-
const { rspack } = require("@rspack/core");
441+
import { rspack } from "@rspack/core";
442+
import { devMiddleware } from "@rspack/dev-middleware";
443+
import express from "express";
447444

448445
const compiler = rspack({
449446
/* Rspack configuration */
450447
});
451448

452449
const instance = devMiddleware(compiler);
453450

454-
// eslint-disable-next-line new-cap
455-
const app = new express();
451+
const app = express();
456452

457453
app.use(instance);
458454

@@ -484,9 +480,9 @@ Since `output.publicPath` and `output.filename`/`output.chunkFilename` can be dy
484480
But there is a solution to avoid it - mount the middleware to a non-root route, for example:
485481

486482
```js
487-
const { devMiddleware } = require("@rspack/dev-middleware");
488-
const express = require("express");
489-
const { rspack } = require("@rspack/core");
483+
import { rspack } from "@rspack/core";
484+
import { devMiddleware } from "@rspack/dev-middleware";
485+
import express from "express";
490486

491487
const compiler = rspack({
492488
// Rspack options
@@ -525,17 +521,17 @@ process is finished with server-side rendering enabled._
525521
Example Implementation:
526522

527523
```js
528-
const { devMiddleware } = require("@rspack/dev-middleware");
529-
const express = require("express");
530-
const isObject = require("is-object");
531-
const { rspack } = require("@rspack/core");
524+
import { join } from "node:path";
525+
import { rspack } from "@rspack/core";
526+
import { devMiddleware } from "@rspack/dev-middleware";
527+
import express from "express";
528+
import isObject from "is-object";
532529

533530
const compiler = rspack({
534531
/* Rspack configuration */
535532
});
536533

537-
// eslint-disable-next-line new-cap
538-
const app = new express();
534+
const app = express();
539535

540536
// This function makes server rendering of asset references consistent with different Rspack chunk/entry configurations
541537
function normalizeAssets(assets) {
@@ -563,16 +559,16 @@ app.use((req, res) => {
563559
<title>My App</title>
564560
<style>
565561
${normalizeAssets(assetsByChunkName.main)
566-
.filter((path) => path.endsWith(".css"))
567-
.map((path) => outputFileSystem.readFileSync(path.join(outputPath, path)))
562+
.filter((asset) => asset.endsWith(".css"))
563+
.map((asset) => outputFileSystem.readFileSync(join(outputPath, asset)))
568564
.join("\n")}
569565
</style>
570566
</head>
571567
<body>
572568
<div id="root"></div>
573569
${normalizeAssets(assetsByChunkName.main)
574-
.filter((path) => path.endsWith(".js"))
575-
.map((path) => `<script src="${path}"></script>`)
570+
.filter((asset) => asset.endsWith(".js"))
571+
.map((asset) => `<script src="${asset}"></script>`)
576572
.join("\n")}
577573
</body>
578574
</html>
@@ -587,11 +583,11 @@ Examples of use with other servers will follow here.
587583
### Connect
588584

589585
```js
590-
const http = require("node:http");
591-
const { devMiddleware } = require("@rspack/dev-middleware");
592-
const connect = require("connect");
593-
const { rspack } = require("@rspack/core");
594-
const rspackConfig = require("./rspack.config.js");
586+
import { createServer } from "node:http";
587+
import { rspack } from "@rspack/core";
588+
import { devMiddleware } from "@rspack/dev-middleware";
589+
import connect from "connect";
590+
import rspackConfig from "./rspack.config.js";
595591

596592
const compiler = rspack(rspackConfig);
597593
const devMiddlewareOptions = {
@@ -601,18 +597,18 @@ const app = connect();
601597

602598
app.use(devMiddleware(compiler, devMiddlewareOptions));
603599

604-
http.createServer(app).listen(3000);
600+
createServer(app).listen(3000);
605601
```
606602

607603
### Router
608604

609605
```js
610-
const http = require("node:http");
611-
const { devMiddleware } = require("@rspack/dev-middleware");
612-
const finalhandler = require("finalhandler");
613-
const Router = require("router");
614-
const { rspack } = require("@rspack/core");
615-
const rspackConfig = require("./rspack.config.js");
606+
import { createServer } from "node:http";
607+
import { rspack } from "@rspack/core";
608+
import { devMiddleware } from "@rspack/dev-middleware";
609+
import finalhandler from "finalhandler";
610+
import Router from "router";
611+
import rspackConfig from "./rspack.config.js";
616612

617613
const compiler = rspack(rspackConfig);
618614
const devMiddlewareOptions = {
@@ -624,7 +620,7 @@ const router = Router();
624620

625621
router.use(devMiddleware(compiler, devMiddlewareOptions));
626622

627-
const server = http.createServer((req, res) => {
623+
const server = createServer((req, res) => {
628624
router(req, res, finalhandler(req, res));
629625
});
630626

@@ -634,10 +630,10 @@ server.listen(3000);
634630
### Express
635631

636632
```js
637-
const { devMiddleware } = require("@rspack/dev-middleware");
638-
const express = require("express");
639-
const { rspack } = require("@rspack/core");
640-
const rspackConfig = require("./rspack.config.js");
633+
import { rspack } from "@rspack/core";
634+
import { devMiddleware } from "@rspack/dev-middleware";
635+
import express from "express";
636+
import rspackConfig from "./rspack.config.js";
641637

642638
const compiler = rspack(rspackConfig);
643639
const devMiddlewareOptions = {
@@ -653,29 +649,29 @@ app.listen(3000, () => console.log("Example app listening on port 3000!"));
653649
### Koa
654650

655651
```js
656-
const { devMiddleware } = require("@rspack/dev-middleware");
657-
const Koa = require("koa");
658-
const { rspack } = require("@rspack/core");
659-
const rspackConfig = require("./rspack.simple.config");
652+
import { rspack } from "@rspack/core";
653+
import { devMiddleware } from "@rspack/dev-middleware";
654+
import Koa from "koa";
655+
import rspackConfig from "./rspack.simple.config.js";
660656

661657
const compiler = rspack(rspackConfig);
662658
const devMiddlewareOptions = {
663659
// options
664660
};
665661
const app = new Koa();
666662

667-
app.use(middleware.koaWrapper(compiler, devMiddlewareOptions));
663+
app.use(devMiddleware.koaWrapper(compiler, devMiddlewareOptions));
668664

669665
app.listen(3000);
670666
```
671667

672668
### Hapi
673669

674670
```js
675-
const Hapi = require("@hapi/hapi");
676-
const { devMiddleware } = require("@rspack/dev-middleware");
677-
const { rspack } = require("@rspack/core");
678-
const rspackConfig = require("./rspack.config.js");
671+
import Hapi from "@hapi/hapi";
672+
import { rspack } from "@rspack/core";
673+
import { devMiddleware } from "@rspack/dev-middleware";
674+
import rspackConfig from "./rspack.config.js";
679675

680676
const compiler = rspack(rspackConfig);
681677
const devMiddlewareOptions = {};
@@ -704,10 +700,10 @@ process.on("unhandledRejection", (err) => {
704700
### Hono
705701

706702
```js
703+
import { rspack } from "@rspack/core";
704+
import { devMiddleware } from "@rspack/dev-middleware";
707705
import { serve } from "@hono/node-server";
708-
import devMiddleware from "@rspack/dev-middleware";
709706
import { Hono } from "hono";
710-
import { rspack } from "@rspack/core";
711707
import rspackConfig from "./rspack.config.js";
712708

713709
const compiler = rspack(rspackConfig);

0 commit comments

Comments
 (0)