Skip to content

Commit fb5573c

Browse files
chore: migrate to eslint-config-webpack (#2092)
1 parent d3d7895 commit fb5573c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+4109
-2103
lines changed

.eslintignore

Lines changed: 0 additions & 5 deletions
This file was deleted.

.eslintrc.js

Lines changed: 0 additions & 13 deletions
This file was deleted.

README.md

Lines changed: 54 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,13 @@ npm install webpack-dev-middleware --save-dev
4141
```js
4242
const webpack = require("webpack");
4343
const middleware = require("webpack-dev-middleware");
44+
4445
const compiler = webpack({
4546
// webpack options
4647
});
48+
4749
const express = require("express");
50+
4851
const app = express();
4952

5053
app.use(
@@ -99,11 +102,9 @@ or
99102

100103
```js
101104
webpackDevMiddleware(compiler, {
102-
headers: () => {
103-
return {
104-
"Last-Modified": new Date(),
105-
};
106-
},
105+
headers: () => ({
106+
"Last-Modified": new Date(),
107+
}),
107108
});
108109
```
109110

@@ -250,15 +251,14 @@ The function follows the same premise as [`Array#filter`](https://developer.mozi
250251

251252
```js
252253
const webpack = require("webpack");
254+
253255
const configuration = {
254256
/* Webpack configuration */
255257
};
256258
const compiler = webpack(configuration);
257259

258260
middleware(compiler, {
259-
writeToDisk: (filePath) => {
260-
return /superman\.css$/.test(filePath);
261-
},
261+
writeToDisk: (filePath) => /superman\.css$/.test(filePath),
262262
});
263263
```
264264

@@ -276,7 +276,7 @@ This can be done simply by using `path.join`:
276276

277277
```js
278278
const webpack = require("webpack");
279-
const path = require("path");
279+
const path = require("node:path");
280280
const myOutputFileSystem = require("my-fs");
281281
const mkdirp = require("mkdirp");
282282

@@ -296,6 +296,7 @@ Allows to set up a callback to change the response data.
296296

297297
```js
298298
const webpack = require("webpack");
299+
299300
const configuration = {
300301
/* Webpack configuration */
301302
};
@@ -304,11 +305,10 @@ const compiler = webpack(configuration);
304305
middleware(compiler, {
305306
// Note - if you send the `Range` header you will have `ReadStream`
306307
// Also `data` can be `string` or `Buffer`
307-
modifyResponseData: (req, res, data, byteLength) => {
308+
modifyResponseData: (req, res, data, byteLength) =>
308309
// Your logic
309310
// Don't use `res.end()` or `res.send()` here
310-
return { data, byteLength };
311-
},
311+
({ data, byteLength }),
312312
});
313313
```
314314

@@ -333,12 +333,16 @@ A function executed once the middleware has stopped watching.
333333
```js
334334
const express = require("express");
335335
const webpack = require("webpack");
336+
336337
const compiler = webpack({
337338
/* Webpack configuration */
338339
});
340+
339341
const middleware = require("webpack-dev-middleware");
342+
340343
const instance = middleware(compiler);
341344

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

344348
app.use(instance);
@@ -365,12 +369,16 @@ A function executed once the middleware has invalidated.
365369
```js
366370
const express = require("express");
367371
const webpack = require("webpack");
372+
368373
const compiler = webpack({
369374
/* Webpack configuration */
370375
});
376+
371377
const middleware = require("webpack-dev-middleware");
378+
372379
const instance = middleware(compiler);
373380

381+
// eslint-disable-next-line new-cap
374382
const app = new express();
375383

376384
app.use(instance);
@@ -402,12 +410,16 @@ If the bundle is valid at the time of calling, the callback is executed immediat
402410
```js
403411
const express = require("express");
404412
const webpack = require("webpack");
413+
405414
const compiler = webpack({
406415
/* Webpack configuration */
407416
});
417+
408418
const middleware = require("webpack-dev-middleware");
419+
409420
const instance = middleware(compiler);
410421

422+
// eslint-disable-next-line new-cap
411423
const app = new express();
412424

413425
app.use(instance);
@@ -433,12 +445,16 @@ URL for the requested file.
433445
```js
434446
const express = require("express");
435447
const webpack = require("webpack");
448+
436449
const compiler = webpack({
437450
/* Webpack configuration */
438451
});
452+
439453
const middleware = require("webpack-dev-middleware");
454+
440455
const instance = middleware(compiler);
441456

457+
// eslint-disable-next-line new-cap
442458
const app = new express();
443459

444460
app.use(instance);
@@ -461,10 +477,13 @@ But there is a solution to avoid it - mount the middleware to a non-root route,
461477
```js
462478
const webpack = require("webpack");
463479
const middleware = require("webpack-dev-middleware");
480+
464481
const compiler = webpack({
465482
// webpack options
466483
});
484+
467485
const express = require("express");
486+
468487
const app = express();
469488

470489
// Mounting the middleware to the non-root route allows avoids this.
@@ -500,12 +519,15 @@ Example Implementation:
500519
```js
501520
const express = require("express");
502521
const webpack = require("webpack");
522+
503523
const compiler = webpack({
504524
/* Webpack configuration */
505525
});
526+
506527
const isObject = require("is-object");
507528
const middleware = require("webpack-dev-middleware");
508529

530+
// eslint-disable-next-line new-cap
509531
const app = new express();
510532

511533
// This function makes server rendering of asset references consistent with different webpack chunk/entry configurations
@@ -522,7 +544,7 @@ app.use(middleware(compiler, { serverSideRender: true }));
522544
// The following middleware would not be invoked until the latest build is finished.
523545
app.use((req, res) => {
524546
const { devMiddleware } = res.locals.webpack;
525-
const outputFileSystem = devMiddleware.outputFileSystem;
547+
const { outputFileSystem } = devMiddleware;
526548
const jsonWebpackStats = devMiddleware.stats.toJson();
527549
const { assetsByChunkName, outputPath } = jsonWebpackStats;
528550

@@ -585,7 +607,7 @@ Examples of use with other servers will follow here.
585607

586608
```js
587609
const connect = require("connect");
588-
const http = require("http");
610+
const http = require("node:http");
589611
const webpack = require("webpack");
590612
const webpackConfig = require("./webpack.config.js");
591613
const devMiddleware = require("webpack-dev-middleware");
@@ -604,7 +626,7 @@ http.createServer(app).listen(3000);
604626
### Router
605627

606628
```js
607-
const http = require("http");
629+
const http = require("node:http");
608630
const Router = require("router");
609631
const finalhandler = require("finalhandler");
610632
const webpack = require("webpack");
@@ -615,11 +637,13 @@ const compiler = webpack(webpackConfig);
615637
const devMiddlewareOptions = {
616638
/** Your webpack-dev-middleware-options */
617639
};
640+
641+
// eslint-disable-next-line new-cap
618642
const router = Router();
619643

620644
router.use(devMiddleware(compiler, devMiddlewareOptions));
621645

622-
var server = http.createServer((req, res) => {
646+
const server = http.createServer((req, res) => {
623647
router(req, res, finalhandler(req, res));
624648
});
625649

@@ -675,22 +699,20 @@ const devMiddleware = require("webpack-dev-middleware");
675699
const compiler = webpack(webpackConfig);
676700
const devMiddlewareOptions = {};
677701

678-
(async () => {
679-
const server = Hapi.server({ port: 3000, host: "localhost" });
702+
const server = Hapi.server({ port: 3000, host: "localhost" });
680703

681-
await server.register({
682-
plugin: devMiddleware.hapiPlugin(),
683-
options: {
684-
// The `compiler` option is required
685-
compiler,
686-
...devMiddlewareOptions,
687-
},
688-
});
704+
await server.register({
705+
plugin: devMiddleware.hapiPlugin(),
706+
options: {
707+
// The `compiler` option is required
708+
compiler,
709+
...devMiddlewareOptions,
710+
},
711+
});
689712

690-
await server.start();
713+
await server.start();
691714

692-
console.log("Server running on %s", server.info.uri);
693-
})();
715+
console.log("Server running on %s", server.info.uri);
694716

695717
process.on("unhandledRejection", (err) => {
696718
console.log(err);
@@ -713,11 +735,9 @@ const devMiddlewareOptions = {
713735
/** Your webpack-dev-middleware-options */
714736
};
715737

716-
(async () => {
717-
await fastify.register(require("@fastify/express"));
718-
await fastify.use(devMiddleware(compiler, devMiddlewareOptions));
719-
await fastify.listen(3000);
720-
})();
738+
await fastify.register(require("@fastify/express"));
739+
await fastify.use(devMiddleware(compiler, devMiddlewareOptions));
740+
await fastify.listen(3000);
721741
```
722742

723743
### Hono

eslint.config.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { defineConfig } from "eslint/config";
2+
import configs from "eslint-config-webpack/configs.js";
3+
4+
export default defineConfig([
5+
{
6+
extends: [configs["recommended-dirty"]],
7+
},
8+
]);

0 commit comments

Comments
 (0)