From 28f43140352365c441be115dff34f55dc5958047 Mon Sep 17 00:00:00 2001 From: Yann Bertrand <5855339+yannbertrand@users.noreply.github.com> Date: Mon, 12 Aug 2024 22:40:12 +0200 Subject: [PATCH 1/2] chore(api): replace qs with neoqs https://github.com/es-tooling/module-replacements/blob/main/docs/modules/qs.md --- api/package-lock.json | 35 +++++++++++--------- api/package.json | 2 +- api/server.js | 4 +-- api/tests/tooling/server/http-test-server.js | 4 +-- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/api/package-lock.json b/api/package-lock.json index 869e467d567..ff7143c9f00 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -53,6 +53,7 @@ "lodash": "^4.17.21", "micromatch": "^4.0.5", "ms": "^2.1.3", + "neoqs": "^6.12.7", "node-cache": "^5.1.2", "node-stream-zip": "^1.15.0", "nodemailer": "^6.9.6", @@ -64,7 +65,6 @@ "pg-connection-string": "^2.5.0", "pino": "^9.0.0", "pino-pretty": "^11.0.0", - "qs": "6.12.3", "randomstring": "^1.2.2", "redlock": "^4.2.0", "samlify": "^2.8.5", @@ -4350,6 +4350,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -5128,6 +5129,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -5560,6 +5562,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4" @@ -5572,6 +5575,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7185,6 +7189,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -7366,6 +7371,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" @@ -7536,6 +7542,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" @@ -7548,6 +7555,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7560,6 +7568,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -9581,6 +9590,12 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "license": "MIT" }, + "node_modules/neoqs": { + "version": "6.12.7", + "resolved": "https://registry.npmjs.org/neoqs/-/neoqs-6.12.7.tgz", + "integrity": "sha512-SQS9qvPl7rhDWy/7vOChlDBotYKCtO0gnabeT8NXeWLRQVKwjt+lECEuVx63PJXW/c0VQXzy0B4+GUEvXq5SrA==", + "license": "BSD-3-Clause" + }, "node_modules/nise": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/nise/-/nise-6.0.0.tgz", @@ -9925,6 +9940,7 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -10804,21 +10820,6 @@ "node": ">=6" } }, - "node_modules/qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -11758,6 +11759,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -11812,6 +11814,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", diff --git a/api/package.json b/api/package.json index d265e70ea5f..2e3f8683191 100644 --- a/api/package.json +++ b/api/package.json @@ -59,6 +59,7 @@ "lodash": "^4.17.21", "micromatch": "^4.0.5", "ms": "^2.1.3", + "neoqs": "^6.12.7", "node-cache": "^5.1.2", "node-stream-zip": "^1.15.0", "nodemailer": "^6.9.6", @@ -70,7 +71,6 @@ "pg-connection-string": "^2.5.0", "pino": "^9.0.0", "pino-pretty": "^11.0.0", - "qs": "6.12.3", "randomstring": "^1.2.2", "redlock": "^4.2.0", "samlify": "^2.8.5", diff --git a/api/server.js b/api/server.js index 98bfcd62611..d7a4a1bd3c0 100644 --- a/api/server.js +++ b/api/server.js @@ -1,6 +1,6 @@ import Oppsy from '@1024pix/oppsy'; import Hapi from '@hapi/hapi'; -import Qs from 'qs'; +import { parse } from 'neoqs'; import { setupErrorHandling } from './config/server-setup-error-handling.js'; import { knex } from './db/knex-database-connection.js'; @@ -95,7 +95,7 @@ const createBareServer = function () { }, port, query: { - parser: (query) => Qs.parse(query), + parser: (query) => parse(query), }, router: { isCaseSensitive: false, diff --git a/api/tests/tooling/server/http-test-server.js b/api/tests/tooling/server/http-test-server.js index 2a420d8c53c..7e2e2f66f99 100644 --- a/api/tests/tooling/server/http-test-server.js +++ b/api/tests/tooling/server/http-test-server.js @@ -1,5 +1,5 @@ import Hapi from '@hapi/hapi'; -import Qs from 'qs'; +import { parse } from 'neoqs'; import { setupErrorHandling } from '../../../config/server-setup-error-handling.js'; import { authentication } from '../../../lib/infrastructure/authentication.js'; @@ -13,7 +13,7 @@ const routesConfig = { }, }, query: { - parser: (query) => Qs.parse(query), + parser: (query) => parse(query), }, }; From 9e95ed137aa494f1e77e6e6d1657060a42bd6baf Mon Sep 17 00:00:00 2001 From: Yann Bertrand <5855339+yannbertrand@users.noreply.github.com> Date: Tue, 13 Aug 2024 14:28:46 +0200 Subject: [PATCH 2/2] sr(api): remove unnecessary eslint patch fixupPluginRule on import plugin --- api/eslint.config.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/eslint.config.cjs b/api/eslint.config.cjs index 29d12e7795a..bb47f8ac349 100644 --- a/api/eslint.config.cjs +++ b/api/eslint.config.cjs @@ -16,7 +16,7 @@ module.exports = [ prettier, { plugins: { 'chai-expect': fixupPluginRules(chai) } }, n, - { plugins: { import: fixupPluginRules(_import) } }, + { plugins: { import: _import } }, { plugins: { knex: fixupPluginRules(knex) } }, { plugins: { unicorn } }, {