From d6b7ba62236b14fc5073aaf7ccf11825ca93372c Mon Sep 17 00:00:00 2001 From: jackkav Date: Fri, 12 Apr 2024 10:20:46 +0200 Subject: [PATCH 1/3] skip healthcheck --- src/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 89e32e82..057fe617 100644 --- a/src/index.js +++ b/src/index.js @@ -32,7 +32,9 @@ module.exports = (options, done) => { app.use( morgan("dev", { - skip: (req, res) => options.quiet === "true" && res.statusCode < 400, + skip: (req, res) => + req.baseUrl === "/healthcheck" || + (options.quiet === "true" && res.statusCode < 400), }), ); From c5b1f6b1a04acf27397df864140ba2502b9c86bd Mon Sep 17 00:00:00 2001 From: jackkav Date: Fri, 12 Apr 2024 10:32:09 +0200 Subject: [PATCH 2/3] update biome --- .github/workflows/test.yaml | 2 +- package-lock.json | 144 ++++++++++++++++++++++++++++++++---- package.json | 2 +- 3 files changed, 131 insertions(+), 17 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index abaf5c2e..eb6ca394 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -9,6 +9,6 @@ jobs: with: node-version: 21 - run: npm ci - - uses: biomejs/setup-biome@v1 + - uses: biomejs/setup-biome@v2 - run: biome ci . - run: npm test \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d8095559..4cebdeaa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "mockbin": "bin/mockbin" }, "devDependencies": { - "@biomejs/biome": "1.4.1", + "@biomejs/biome": "1.6.4", "mocha": "^10.2.0", "should": "^13.2.3" }, @@ -42,34 +42,52 @@ } }, "node_modules/@biomejs/biome": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.4.1.tgz", - "integrity": "sha512-JccVAwPbhi37pdxbAGmaOBjUTKEwEjWAhl7rKkVVuXHo4MLASXJ5HR8BTgrImi4/7rTBsGz1tgVD1Kwv1CHGRg==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.6.4.tgz", + "integrity": "sha512-3groVd2oWsLC0ZU+XXgHSNbq31lUcOCBkCcA7sAQGBopHcmL+jmmdoWlY3S61zIh+f2mqQTQte1g6PZKb3JJjA==", "dev": true, "hasInstallScript": true, "bin": { "biome": "bin/biome" }, "engines": { - "node": ">=14.*" + "node": ">=14.21.3" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "1.4.1", - "@biomejs/cli-darwin-x64": "1.4.1", - "@biomejs/cli-linux-arm64": "1.4.1", - "@biomejs/cli-linux-x64": "1.4.1", - "@biomejs/cli-win32-arm64": "1.4.1", - "@biomejs/cli-win32-x64": "1.4.1" + "@biomejs/cli-darwin-arm64": "1.6.4", + "@biomejs/cli-darwin-x64": "1.6.4", + "@biomejs/cli-linux-arm64": "1.6.4", + "@biomejs/cli-linux-arm64-musl": "1.6.4", + "@biomejs/cli-linux-x64": "1.6.4", + "@biomejs/cli-linux-x64-musl": "1.6.4", + "@biomejs/cli-win32-arm64": "1.6.4", + "@biomejs/cli-win32-x64": "1.6.4" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.6.4.tgz", + "integrity": "sha512-2WZef8byI9NRzGajGj5RTrroW9BxtfbP9etigW1QGAtwu/6+cLkdPOWRAs7uFtaxBNiKFYA8j/BxV5zeAo5QOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.4.1.tgz", - "integrity": "sha512-soj3BWhnsM1M2JlzR09cibUzG1owJqetwj/Oo7yg0foijo9lNH9XWXZfJBYDKgW/6Fomn+CC2EcUS+hisQzt9g==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.6.4.tgz", + "integrity": "sha512-uo1zgM7jvzcoDpF6dbGizejDLCqNpUIRkCj/oEK0PB0NUw8re/cn1EnxuOLZqDpn+8G75COLQTOx8UQIBBN/Kg==", "cpu": [ "x64" ], @@ -79,7 +97,103 @@ "darwin" ], "engines": { - "node": ">=14.*" + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.6.4.tgz", + "integrity": "sha512-wAOieaMNIpLrxGc2/xNvM//CIZg7ueWy3V5A4T7gDZ3OL/Go27EKE59a+vMKsBCYmTt7jFl4yHz0TUkUbodA/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.4.tgz", + "integrity": "sha512-Hp8Jwt6rjj0wCcYAEN6/cfwrrPLLlGOXZ56Lei4Pt4jy39+UuPeAVFPeclrrCfxyL1wQ2xPrhd/saTHSL6DoJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.6.4.tgz", + "integrity": "sha512-qTWhuIw+/ePvOkjE9Zxf5OqSCYxtAvcTJtVmZT8YQnmY2I62JKNV2m7tf6O5ViKZUOP0mOQ6NgqHKcHH1eT8jw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.4.tgz", + "integrity": "sha512-wqi0hr8KAx5kBO0B+m5u8QqiYFFBJOSJVSuRqTeGWW+GYLVUtXNidykNqf1JsW6jJDpbkSp2xHKE/bTlVaG2Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.6.4.tgz", + "integrity": "sha512-Wp3FiEeF6v6C5qMfLkHwf4YsoNHr/n0efvoC8jCKO/kX05OXaVExj+1uVQ1eGT7Pvx0XVm/TLprRO0vq/V6UzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.6.4.tgz", + "integrity": "sha512-mz183Di5hTSGP7KjNWEhivcP1wnHLGmOxEROvoFsIxMYtDhzJDad4k5gI/1JbmA0xe4n52vsgqo09tBhrMT/Zg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" } }, "node_modules/@redis/bloom": { diff --git a/package.json b/package.json index 0323f8fb..a92cd4e9 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "clean": "git clean -fdX" }, "devDependencies": { - "@biomejs/biome": "1.4.1", + "@biomejs/biome": "1.6.4", "mocha": "^10.2.0", "should": "^13.2.3" }, From c8b3f40a3ef2506c6b9e4a993c3e6f1f9a82bc62 Mon Sep 17 00:00:00 2001 From: jackkav Date: Fri, 12 Apr 2024 10:35:58 +0200 Subject: [PATCH 3/3] biome fixes --- lib/middleware/body-parser.js | 2 +- lib/middleware/negotiate-content.js | 2 +- lib/routes/bins.js | 2 +- lib/routes/bins/create.js | 2 +- lib/routes/bins/sample.js | 2 +- lib/routes/bins/update.js | 2 +- lib/routes/delay.js | 2 +- lib/routes/redirect.js | 6 +++--- lib/routes/stream.js | 2 +- src/index.js | 2 +- src/static/bin/create.js | 2 +- test/http/index.js | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/middleware/body-parser.js b/lib/middleware/body-parser.js index 8bbd0864..709fbdc9 100644 --- a/lib/middleware/body-parser.js +++ b/lib/middleware/body-parser.js @@ -1,5 +1,5 @@ const Dicer = require("dicer"); -const querystring = require("querystring"); +const querystring = require("node:querystring"); const contentTypeParser = require("content-type"); const util = require("../utils"); diff --git a/lib/middleware/negotiate-content.js b/lib/middleware/negotiate-content.js index b408764a..2d68b125 100644 --- a/lib/middleware/negotiate-content.js +++ b/lib/middleware/negotiate-content.js @@ -8,7 +8,7 @@ module.exports = (req, res, next) => { // am I pretty? const spaces = req.headers["x-pretty-print"] - ? parseInt(req.headers["x-pretty-print"], 10) + ? Number.parseInt(req.headers["x-pretty-print"], 10) : 2; const xmlOpts = { diff --git a/lib/routes/bins.js b/lib/routes/bins.js index 910f141d..b07e81f4 100644 --- a/lib/routes/bins.js +++ b/lib/routes/bins.js @@ -3,7 +3,7 @@ const express = require("express"); const mw = require("../middleware"); const { createClient } = require("redis"); const routes = require("./bins/"); -const URL = require("url").URL; +const URL = require("node:url").URL; module.exports = function bins(dsnStr) { // parse redis dsn diff --git a/lib/routes/bins/create.js b/lib/routes/bins/create.js index 5b12ae61..dbfa82c3 100644 --- a/lib/routes/bins/create.js +++ b/lib/routes/bins/create.js @@ -1,5 +1,5 @@ const debug = require("debug")("mockbin"); -const util = require("util"); +const util = require("node:util"); const uuid = require("uuid"); const validate = require("har-validator"); diff --git a/lib/routes/bins/sample.js b/lib/routes/bins/sample.js index 770df169..ade0ba2a 100644 --- a/lib/routes/bins/sample.js +++ b/lib/routes/bins/sample.js @@ -1,5 +1,5 @@ const debug = require("debug")("mockbin"); -const util = require("util"); +const util = require("node:util"); module.exports = (client) => (req, res, next) => { client.get(`bin:${req.params.uuid}`, (err, value) => { diff --git a/lib/routes/bins/update.js b/lib/routes/bins/update.js index 688db37d..ec348b6d 100644 --- a/lib/routes/bins/update.js +++ b/lib/routes/bins/update.js @@ -1,7 +1,7 @@ const debug = require("debug")("mockbin"); const e = require("express"); const validate = require("har-validator"); -const path = require("path"); +const path = require("node:path"); module.exports = (client) => (req, res, next) => { const id = req.params.uuid; diff --git a/lib/routes/delay.js b/lib/routes/delay.js index 992725b3..8160de58 100644 --- a/lib/routes/delay.js +++ b/lib/routes/delay.js @@ -1,5 +1,5 @@ module.exports = function delay(req, res, next) { - let delay = req.params.ms ? parseInt(req.params.ms, 10) : 200; + let delay = req.params.ms ? Number.parseInt(req.params.ms, 10) : 200; if (delay > 60000) { delay = 60000; diff --git a/lib/routes/redirect.js b/lib/routes/redirect.js index 936b7e54..b22de5ac 100644 --- a/lib/routes/redirect.js +++ b/lib/routes/redirect.js @@ -1,8 +1,8 @@ -const util = require("util"); +const util = require("node:util"); module.exports = function redirect(req, res, next) { - let count = req.params.count ? parseInt(req.params.count, 10) : 1; - const status = parseInt(req.params.status_code, 10) || 302; + let count = req.params.count ? Number.parseInt(req.params.count, 10) : 1; + const status = Number.parseInt(req.params.status_code, 10) || 302; const valid = [300, 301, 302, 303, 307, 308]; if (count > 100) { diff --git a/lib/routes/stream.js b/lib/routes/stream.js index c1d21208..cfeb1a31 100644 --- a/lib/routes/stream.js +++ b/lib/routes/stream.js @@ -5,7 +5,7 @@ module.exports = function stream(req, res, next) { }); // set default chunks to 10 - let chunks = req.params.chunks ? parseInt(req.params.chunks, 10) : 10; + let chunks = req.params.chunks ? Number.parseInt(req.params.chunks, 10) : 10; // max out chunks at 100 if (chunks > 100) { diff --git a/src/index.js b/src/index.js index 057fe617..6080e1fe 100644 --- a/src/index.js +++ b/src/index.js @@ -4,7 +4,7 @@ const debug = require("debug")("mockbin"); const express = require("express"); const methodOverride = require("method-override"); const morgan = require("morgan"); -const path = require("path"); +const path = require("node:path"); const router = require("../lib"); module.exports = (options, done) => { diff --git a/src/static/bin/create.js b/src/static/bin/create.js index 9fab511f..c07509ee 100644 --- a/src/static/bin/create.js +++ b/src/static/bin/create.js @@ -178,7 +178,7 @@ $(() => { }); // fix type issues - response.status = parseInt(response.status, 10); + response.status = Number.parseInt(response.status, 10); $('input[name="response"]').val(JSON.stringify(response)); $("pre code").text(JSON.stringify(response, null, 2)); diff --git a/test/http/index.js b/test/http/index.js index 8cc69a48..0e3c2373 100644 --- a/test/http/index.js +++ b/test/http/index.js @@ -1,7 +1,7 @@ const cookieParser = require("cookie-parser"); const express = require("express"); const mockbin = require("../../lib"); -const path = require("path"); +const path = require("node:path"); const app = express(); let server = null;