From 04ff80a5dd13291de05956f522985a8d1eaeb144 Mon Sep 17 00:00:00 2001 From: MayankJha014 Date: Fri, 7 Feb 2025 00:26:59 +0530 Subject: [PATCH 1/6] update inquire package --- .../AddOnSpotAttendee/functions/default.md | 2 +- package-lock.json | 355 +++++++++++------- package.json | 2 +- 3 files changed, 219 insertions(+), 140 deletions(-) diff --git a/docs/docs/auto-docs/components/EventRegistrantsModal/AddOnSpotAttendee/functions/default.md b/docs/docs/auto-docs/components/EventRegistrantsModal/AddOnSpotAttendee/functions/default.md index 4e9ddf3e00..cc4fc86e16 100644 --- a/docs/docs/auto-docs/components/EventRegistrantsModal/AddOnSpotAttendee/functions/default.md +++ b/docs/docs/auto-docs/components/EventRegistrantsModal/AddOnSpotAttendee/functions/default.md @@ -6,7 +6,7 @@ > **default**(`props`, `deprecatedLegacyContext`?): `ReactNode` -Defined in: [src/components/EventRegistrantsModal/AddOnSpotAttendee.tsx:21](https://github.com/PalisadoesFoundation/talawa-admin/blob/main/src/components/EventRegistrantsModal/AddOnSpotAttendee.tsx#L21) +Defined in: [src/components/EventRegistrantsModal/AddOnSpotAttendee.tsx:20](https://github.com/PalisadoesFoundation/talawa-admin/blob/main/src/components/EventRegistrantsModal/AddOnSpotAttendee.tsx#L20) Modal component for adding on-spot attendees to an event diff --git a/package-lock.json b/package-lock.json index 5a93808235..98820d1ff8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "i18next": "^23.15.1", "i18next-browser-languagedetector": "^8.0.0", "i18next-http-backend": "^2.6.1", - "inquirer": "^11.0.2", + "inquirer": "^12.4.1", "js-cookie": "^3.0.1", "lcov-result-merger": "^5.0.1", "markdown-toc": "^1.2.0", @@ -3854,55 +3854,75 @@ "license": "BSD-3-Clause" }, "node_modules/@inquirer/checkbox": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz", - "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.1.tgz", + "integrity": "sha512-os5kFd/52gZTl/W6xqMfhaKVJHQM8V/U1P8jcSaQJ/C4Qhdrf2jEXdA/HaxfQs9iiUA/0yzYhk5d3oRHTxGDDQ==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/figures": "^1.0.6", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/confirm": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz", - "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.5.tgz", + "integrity": "sha512-ZB2Cz8KeMINUvoeDi7IrvghaVkYT2RB0Zb31EaLWOE87u276w4wnApv0SH2qWaJ3r0VSUa3BIuz7qAV2ZvsZlg==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0" + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/core": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", - "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.6", - "@inquirer/type": "^2.0.0", - "@types/mute-stream": "^0.0.4", - "@types/node": "^22.5.5", - "@types/wrap-ansi": "^3.0.0", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", - "mute-stream": "^1.0.0", + "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/core/node_modules/signal-exit": { @@ -3932,158 +3952,235 @@ } }, "node_modules/@inquirer/editor": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz", - "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.6.tgz", + "integrity": "sha512-l0smvr8g/KAVdXx4I92sFxZiaTG4kFc06cFZw+qqwTirwdUHMFLnouXBB9OafWhpO3cfEkEz2CdPoCmor3059A==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4", "external-editor": "^3.1.0" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/expand": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz", - "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.8.tgz", + "integrity": "sha512-k0ouAC6L+0Yoj/j0ys2bat0fYcyFVtItDB7h+pDFKaDDSFJey/C/YY1rmIOqkmFVZ5rZySeAQuS8zLcKkKRLmg==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/figures": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.9.tgz", - "integrity": "sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.10.tgz", + "integrity": "sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@inquirer/input": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz", - "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.5.tgz", + "integrity": "sha512-bB6wR5wBCz5zbIVBPnhp94BHv/G4eKbUEjlpCw676pI2chcvzTx1MuwZSCZ/fgNOdqDlAxkhQ4wagL8BI1D3Zg==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0" + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/number": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz", - "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.8.tgz", + "integrity": "sha512-CTKs+dT1gw8dILVWATn8Ugik1OHLkkfY82J+Musb57KpmF6EKyskv8zmMiEJPzOnLTZLo05X/QdMd8VH9oulXw==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0" + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/password": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz", - "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.8.tgz", + "integrity": "sha512-MgA+Z7o3K1df2lGY649fyOBowHGfrKRz64dx3+b6c1w+h2W7AwBoOkHhhF/vfhbs5S4vsKNCuDzS3s9r5DpK1g==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz", - "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.1.tgz", + "integrity": "sha512-r1CiKuDV86BDpvj9DRFR+V+nIjsVBOsa2++dqdPqLYAef8kgHYvmQ8ySdP/ZeAIOWa27YGJZRkENdP3dK0H3gg==", "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^3.0.1", - "@inquirer/confirm": "^4.0.1", - "@inquirer/editor": "^3.0.1", - "@inquirer/expand": "^3.0.1", - "@inquirer/input": "^3.0.1", - "@inquirer/number": "^2.0.1", - "@inquirer/password": "^3.0.1", - "@inquirer/rawlist": "^3.0.1", - "@inquirer/search": "^2.0.1", - "@inquirer/select": "^3.0.1" + "@inquirer/checkbox": "^4.1.1", + "@inquirer/confirm": "^5.1.5", + "@inquirer/editor": "^4.2.6", + "@inquirer/expand": "^4.0.8", + "@inquirer/input": "^4.1.5", + "@inquirer/number": "^3.0.8", + "@inquirer/password": "^4.0.8", + "@inquirer/rawlist": "^4.0.8", + "@inquirer/search": "^3.0.8", + "@inquirer/select": "^4.0.8" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/rawlist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz", - "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.8.tgz", + "integrity": "sha512-hl7rvYW7Xl4un8uohQRUgO6uc2hpn7PKqfcGkCOWC0AA4waBxAv6MpGOFCEDrUaBCP+pXPVqp4LmnpWmn1E1+g==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/search": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz", - "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.8.tgz", + "integrity": "sha512-ihSE9D3xQAupNg/aGDZaukqoUSXG2KfstWosVmFCG7jbMQPaj2ivxWtsB+CnYY/T4D6LX1GHKixwJLunNCffww==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/figures": "^1.0.6", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/select": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz", - "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.8.tgz", + "integrity": "sha512-Io2prxFyN2jOCcu4qJbVoilo19caiD3kqkD3WR0q3yDA5HUCo83v4LrRtg55ZwniYACW64z36eV7gyVbOfORjA==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/figures": "^1.0.6", - "@inquirer/type": "^2.0.0", + "@inquirer/core": "^10.1.6", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", - "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "license": "MIT", - "dependencies": { - "mute-stream": "^1.0.0" - }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@isaacs/cliui": { @@ -6861,19 +6958,11 @@ "@types/unist": "*" } }, - "node_modules/@types/mute-stream": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", - "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/node": { "version": "22.9.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "devOptional": true, "dependencies": { "undici-types": "~6.19.8" } @@ -7052,12 +7141,6 @@ "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz", "integrity": "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==" }, - "node_modules/@types/wrap-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", - "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", - "license": "MIT" - }, "node_modules/@types/ws": { "version": "8.5.14", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", @@ -11457,18 +11540,6 @@ "node": ">=4" } }, - "node_modules/external-editor/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/extract-files": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz", @@ -12733,6 +12804,18 @@ "cross-fetch": "4.0.0" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -12885,22 +12968,29 @@ "dev": true }, "node_modules/inquirer": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.1.0.tgz", - "integrity": "sha512-CmLAZT65GG/v30c+D2Fk8+ceP6pxD6RL+hIUOWAltCmeyEqWYwqu9v76q03OvjyZ3AB0C1Ala2stn1z/rMqGEw==", + "version": "12.4.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.4.1.tgz", + "integrity": "sha512-/V7OyFkeUBFO2jAokUq5emSlcVMHVvzg8bwwZnzmCwErPgbeftsthmPUg71AIi5mR0YmiJOLQ+bTiHVWEjOw7A==", "license": "MIT", "dependencies": { - "@inquirer/core": "^9.2.1", - "@inquirer/prompts": "^6.0.1", - "@inquirer/type": "^2.0.0", - "@types/mute-stream": "^0.0.4", + "@inquirer/core": "^10.1.6", + "@inquirer/prompts": "^7.3.1", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", - "mute-stream": "^1.0.0", + "mute-stream": "^2.0.0", "run-async": "^3.0.0", "rxjs": "^7.8.1" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/internal-slot": { @@ -16428,12 +16518,12 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/nanoid": { @@ -21132,7 +21222,8 @@ "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "devOptional": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", @@ -22074,18 +22165,6 @@ "iconv-lite": "0.4.24" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", diff --git a/package.json b/package.json index da014474c0..81a7dfc555 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "i18next": "^23.15.1", "i18next-browser-languagedetector": "^8.0.0", "i18next-http-backend": "^2.6.1", - "inquirer": "^11.0.2", + "inquirer": "^12.4.1", "js-cookie": "^3.0.1", "lcov-result-merger": "^5.0.1", "markdown-toc": "^1.2.0", From 163791fd77fdd33a68ad808a1a485a17f2c593c4 Mon Sep 17 00:00:00 2001 From: MayankJha014 Date: Fri, 7 Feb 2025 01:27:46 +0530 Subject: [PATCH 2/6] Some changes acc to inquire compatibility --- setup.ts | 14 ++-- .../askAndSetDockerOption.spec.ts | 14 ++-- .../askAndSetDockerOption.ts | 14 ++-- .../askAndUpdatePort/askAndUpdatePort.ts | 16 +++-- .../askAndUpdatePort/askForUpdatePort.spec.ts | 11 ++- .../askForCustomPort/askForCustomPort.spec.ts | 72 +++++++++++-------- .../askForCustomPort/askForCustomPort.ts | 8 ++- src/setup/askForDocker/askForDocker.ts | 14 ++-- 8 files changed, 98 insertions(+), 65 deletions(-) diff --git a/setup.ts b/setup.ts index f43c62d46f..82b14f522a 100644 --- a/setup.ts +++ b/setup.ts @@ -14,12 +14,14 @@ import { askAndUpdateTalawaApiUrl } from './src/setup/askForDocker/askForDocker' // Ask and set up reCAPTCHA const askAndSetRecaptcha = async (): Promise => { try { - const { shouldUseRecaptcha } = await inquirer.prompt({ - type: 'confirm', - name: 'shouldUseRecaptcha', - message: 'Would you like to set up reCAPTCHA?', - default: true, - }); + const { shouldUseRecaptcha } = await inquirer.prompt([ + { + type: 'confirm', + name: 'shouldUseRecaptcha', + message: 'Would you like to set up reCAPTCHA?', + default: true, + }, + ]); if (shouldUseRecaptcha) { const { recaptchaSiteKeyInput } = await inquirer.prompt([ diff --git a/src/setup/askAndSetDockerOption/askAndSetDockerOption.spec.ts b/src/setup/askAndSetDockerOption/askAndSetDockerOption.spec.ts index 6efc8a7a1d..973437027c 100644 --- a/src/setup/askAndSetDockerOption/askAndSetDockerOption.spec.ts +++ b/src/setup/askAndSetDockerOption/askAndSetDockerOption.spec.ts @@ -1,11 +1,15 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; // Mock modules -vi.mock('inquirer', () => ({ - default: { - prompt: vi.fn(), - }, -})); +vi.mock('inquirer', async () => { + const actual = await vi.importActual('inquirer'); + return { + default: { + ...actual, + prompt: vi.fn(), + }, + }; +}); vi.mock('setup/updateEnvFile/updateEnvFile', () => ({ default: vi.fn(), diff --git a/src/setup/askAndSetDockerOption/askAndSetDockerOption.ts b/src/setup/askAndSetDockerOption/askAndSetDockerOption.ts index 877ef92faf..fd3add15c0 100644 --- a/src/setup/askAndSetDockerOption/askAndSetDockerOption.ts +++ b/src/setup/askAndSetDockerOption/askAndSetDockerOption.ts @@ -4,12 +4,14 @@ import { askForDocker } from 'setup/askForDocker/askForDocker'; // Function to manage Docker setup const askAndSetDockerOption = async (): Promise => { - const { useDocker } = await inquirer.prompt({ - type: 'confirm', - name: 'useDocker', - message: 'Would you like to set up with Docker?', - default: false, - }); + const { useDocker } = await inquirer.prompt([ + { + type: 'confirm', + name: 'useDocker', + message: 'Would you like to set up with Docker?', + default: false, + }, + ]); if (useDocker) { console.log('Setting up with Docker...'); diff --git a/src/setup/askAndUpdatePort/askAndUpdatePort.ts b/src/setup/askAndUpdatePort/askAndUpdatePort.ts index 5dfe997288..190d8a7858 100644 --- a/src/setup/askAndUpdatePort/askAndUpdatePort.ts +++ b/src/setup/askAndUpdatePort/askAndUpdatePort.ts @@ -4,13 +4,15 @@ import inquirer from 'inquirer'; // Ask and update the custom port const askAndUpdatePort = async (): Promise => { - const { shouldSetCustomPortResponse } = await inquirer.prompt({ - type: 'confirm', - name: 'shouldSetCustomPortResponse', - message: - 'Would you like to set up a custom port for running Talawa Admin without Docker?', - default: true, - }); + const { shouldSetCustomPortResponse } = await inquirer.prompt([ + { + type: 'confirm', + name: 'shouldSetCustomPortResponse', + message: + 'Would you like to set up a custom port for running Talawa Admin without Docker?', + default: true, + }, + ]); if (shouldSetCustomPortResponse) { const customPort = await askForCustomPort(); diff --git a/src/setup/askAndUpdatePort/askForUpdatePort.spec.ts b/src/setup/askAndUpdatePort/askForUpdatePort.spec.ts index 3f01605a55..5b1b673a82 100644 --- a/src/setup/askAndUpdatePort/askForUpdatePort.spec.ts +++ b/src/setup/askAndUpdatePort/askForUpdatePort.spec.ts @@ -6,7 +6,16 @@ import inquirer from 'inquirer'; vi.mock('setup/askForCustomPort/askForCustomPort'); vi.mock('setup/updateEnvFile/updateEnvFile'); -vi.mock('inquirer'); +// Fix Inquirer mock for v12+ +vi.mock('inquirer', async () => { + const actual = await vi.importActual('inquirer'); + return { + default: { + ...actual, + prompt: vi.fn(), + }, + }; +}); describe('askAndUpdatePort', () => { afterEach(() => { diff --git a/src/setup/askForCustomPort/askForCustomPort.spec.ts b/src/setup/askForCustomPort/askForCustomPort.spec.ts index 08e67cec00..653e1fe46a 100644 --- a/src/setup/askForCustomPort/askForCustomPort.spec.ts +++ b/src/setup/askForCustomPort/askForCustomPort.spec.ts @@ -2,7 +2,15 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import inquirer from 'inquirer'; import { askForCustomPort, validatePort } from './askForCustomPort'; -vi.mock('inquirer'); +vi.mock('inquirer', async () => { + const actual = await vi.importActual('inquirer'); + return { + default: { + ...actual, + prompt: vi.fn(), + }, + }; +}); describe('askForCustomPort', () => { beforeEach(() => { @@ -11,18 +19,20 @@ describe('askForCustomPort', () => { describe('basic port validation', () => { it('should return default port if user provides no input', async () => { - vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce({ - customPort: '4321', - }); + vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce([ + { customPort: '4321' }, + ]); const result = await askForCustomPort(); expect(result).toBe(4321); }); it('should return user-provided port', async () => { - vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce({ - customPort: '8080', - }); + vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce([ + { + customPort: '8080', + }, + ]); const result = await askForCustomPort(); expect(result).toBe(8080); @@ -44,8 +54,8 @@ describe('askForCustomPort', () => { describe('retry mechanism', () => { it('should handle invalid port input and prompt again', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce({ customPort: 'abcd' }) - .mockResolvedValueOnce({ customPort: '8080' }); + .mockResolvedValueOnce([{ customPort: 'abcd' }]) + .mockResolvedValueOnce([{ customPort: '8080' }]); const result = await askForCustomPort(); expect(result).toBe(8080); @@ -53,12 +63,12 @@ describe('askForCustomPort', () => { it('should return default port after maximum retry attempts', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce({ customPort: 'invalid-port-attempt1' }) - .mockResolvedValueOnce({ customPort: 'invalid-port-attempt2' }) - .mockResolvedValueOnce({ customPort: 'invalid-port-attempt3' }) - .mockResolvedValueOnce({ customPort: 'invalid-port-attempt4' }) - .mockResolvedValueOnce({ customPort: 'invalid-port-attempt5' }) - .mockResolvedValueOnce({ customPort: 'invalid-port-attempt6' }); + .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt1' }]) + .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt2' }]) + .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt3' }]) + .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt4' }]) + .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt5' }]) + .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt6' }]); const result = await askForCustomPort(); expect(result).toBe(4321); @@ -68,8 +78,8 @@ describe('askForCustomPort', () => { describe('reserved ports', () => { it('should return user-provided port after confirming reserved port', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: true }); + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: true }]); const result = await askForCustomPort(); expect(result).toBe(80); @@ -77,9 +87,9 @@ describe('askForCustomPort', () => { it('should re-prompt user for port if reserved port confirmation is denied', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: false }) - .mockResolvedValueOnce({ customPort: '8080' }); + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: false }]) + .mockResolvedValueOnce([{ customPort: '8080' }]); const result = await askForCustomPort(); expect(result).toBe(8080); @@ -87,17 +97,17 @@ describe('askForCustomPort', () => { it('should return default port if reserved port confirmation is denied after maximum retry attempts', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: false }) - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: false }) - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: false }) - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: false }) - .mockResolvedValueOnce({ customPort: '80' }) - .mockResolvedValueOnce({ confirmPort: false }) - .mockResolvedValueOnce({ customPort: '80' }); + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: false }]) + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: false }]) + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: false }]) + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: false }]) + .mockResolvedValueOnce([{ customPort: '80' }]) + .mockResolvedValueOnce([{ confirmPort: false }]) + .mockResolvedValueOnce([{ customPort: '80' }]); const result = await askForCustomPort(); expect(result).toBe(4321); diff --git a/src/setup/askForCustomPort/askForCustomPort.ts b/src/setup/askForCustomPort/askForCustomPort.ts index dd0fd51854..00e7ee59d7 100644 --- a/src/setup/askForCustomPort/askForCustomPort.ts +++ b/src/setup/askForCustomPort/askForCustomPort.ts @@ -17,7 +17,7 @@ export function validatePort(input: string): string | boolean { } export async function reservedPortWarning(port: number): Promise { - const { confirmPort } = await inquirer.prompt<{ confirmPort: boolean }>([ + const answer = await inquirer.prompt([ { type: 'confirm', name: 'confirmPort', @@ -26,14 +26,14 @@ export async function reservedPortWarning(port: number): Promise { }, ]); - return confirmPort; + return answer.confirmPort; } export async function askForCustomPort(): Promise { let remainingAttempts = MAX_RETRY_ATTEMPTS; while (remainingAttempts--) { - const { customPort } = await inquirer.prompt<{ customPort: string }>([ + const answer = await inquirer.prompt([ { type: 'input', name: 'customPort', @@ -43,6 +43,8 @@ export async function askForCustomPort(): Promise { }, ]); + const customPort = answer.customPort; + if (customPort && validatePort(customPort) === true) { if (Number(customPort) >= 1024) { return Number(customPort); diff --git a/src/setup/askForDocker/askForDocker.ts b/src/setup/askForDocker/askForDocker.ts index fa926839d4..9437166b60 100644 --- a/src/setup/askForDocker/askForDocker.ts +++ b/src/setup/askForDocker/askForDocker.ts @@ -32,12 +32,14 @@ export const askForDocker = async (): Promise => { // Function to ask and update Talawa API URL export const askAndUpdateTalawaApiUrl = async (): Promise => { try { - const { shouldSetTalawaApiUrlResponse } = await inquirer.prompt({ - type: 'confirm', - name: 'shouldSetTalawaApiUrlResponse', - message: 'Would you like to set up Talawa API endpoint?', - default: true, - }); + const { shouldSetTalawaApiUrlResponse } = await inquirer.prompt([ + { + type: 'confirm', + name: 'shouldSetTalawaApiUrlResponse', + message: 'Would you like to set up Talawa API endpoint?', + default: true, + }, + ]); if (shouldSetTalawaApiUrlResponse) { let endpoint = ''; From 70b1d411c1129bc8126af2ca84bd03d6ef2711b0 Mon Sep 17 00:00:00 2001 From: MayankJha014 Date: Sat, 8 Feb 2025 01:05:02 +0530 Subject: [PATCH 3/6] askForCustomPort testing failing fix --- .../askForCustomPort/askForCustomPort.spec.ts | 63 +++++++++---------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/src/setup/askForCustomPort/askForCustomPort.spec.ts b/src/setup/askForCustomPort/askForCustomPort.spec.ts index 653e1fe46a..21fb6b3c72 100644 --- a/src/setup/askForCustomPort/askForCustomPort.spec.ts +++ b/src/setup/askForCustomPort/askForCustomPort.spec.ts @@ -2,6 +2,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import inquirer from 'inquirer'; import { askForCustomPort, validatePort } from './askForCustomPort'; +// ✅ Fix Inquirer Mocking for v12+ vi.mock('inquirer', async () => { const actual = await vi.importActual('inquirer'); return { @@ -19,20 +20,18 @@ describe('askForCustomPort', () => { describe('basic port validation', () => { it('should return default port if user provides no input', async () => { - vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce([ - { customPort: '4321' }, - ]); + vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce({ + customPort: '4321', + }); const result = await askForCustomPort(); expect(result).toBe(4321); }); it('should return user-provided port', async () => { - vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce([ - { - customPort: '8080', - }, - ]); + vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce({ + customPort: '8080', + }); const result = await askForCustomPort(); expect(result).toBe(8080); @@ -54,8 +53,8 @@ describe('askForCustomPort', () => { describe('retry mechanism', () => { it('should handle invalid port input and prompt again', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce([{ customPort: 'abcd' }]) - .mockResolvedValueOnce([{ customPort: '8080' }]); + .mockResolvedValueOnce({ customPort: 'abcd' }) + .mockResolvedValueOnce({ customPort: '8080' }); const result = await askForCustomPort(); expect(result).toBe(8080); @@ -63,12 +62,12 @@ describe('askForCustomPort', () => { it('should return default port after maximum retry attempts', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt1' }]) - .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt2' }]) - .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt3' }]) - .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt4' }]) - .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt5' }]) - .mockResolvedValueOnce([{ customPort: 'invalid-port-attempt6' }]); + .mockResolvedValueOnce({ customPort: 'invalid-port-attempt1' }) + .mockResolvedValueOnce({ customPort: 'invalid-port-attempt2' }) + .mockResolvedValueOnce({ customPort: 'invalid-port-attempt3' }) + .mockResolvedValueOnce({ customPort: 'invalid-port-attempt4' }) + .mockResolvedValueOnce({ customPort: 'invalid-port-attempt5' }) + .mockResolvedValueOnce({ customPort: 'invalid-port-attempt6' }); const result = await askForCustomPort(); expect(result).toBe(4321); @@ -78,8 +77,8 @@ describe('askForCustomPort', () => { describe('reserved ports', () => { it('should return user-provided port after confirming reserved port', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: true }]); + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: true }); const result = await askForCustomPort(); expect(result).toBe(80); @@ -87,9 +86,9 @@ describe('askForCustomPort', () => { it('should re-prompt user for port if reserved port confirmation is denied', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: false }]) - .mockResolvedValueOnce([{ customPort: '8080' }]); + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: false }) + .mockResolvedValueOnce({ customPort: '8080' }); const result = await askForCustomPort(); expect(result).toBe(8080); @@ -97,17 +96,17 @@ describe('askForCustomPort', () => { it('should return default port if reserved port confirmation is denied after maximum retry attempts', async () => { vi.spyOn(inquirer, 'prompt') - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: false }]) - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: false }]) - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: false }]) - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: false }]) - .mockResolvedValueOnce([{ customPort: '80' }]) - .mockResolvedValueOnce([{ confirmPort: false }]) - .mockResolvedValueOnce([{ customPort: '80' }]); + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: false }) + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: false }) + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: false }) + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: false }) + .mockResolvedValueOnce({ customPort: '80' }) + .mockResolvedValueOnce({ confirmPort: false }) + .mockResolvedValueOnce({ customPort: '80' }); const result = await askForCustomPort(); expect(result).toBe(4321); From d41d3e3c3d0c0d3a23c0753b745c8efebbc1ae18 Mon Sep 17 00:00:00 2001 From: MayankJha014 Date: Sat, 8 Feb 2025 01:25:47 +0530 Subject: [PATCH 4/6] resolve conv --- src/setupTests.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/setupTests.ts b/src/setupTests.ts index 93e692088a..91bb4cdee0 100644 --- a/src/setupTests.ts +++ b/src/setupTests.ts @@ -1,4 +1,3 @@ -import vitestPreviewConfigure from 'vitest-preview'; import '@testing-library/dom'; import { vi } from 'vitest'; global.fetch = vi.fn(); @@ -16,6 +15,8 @@ Object.defineProperty(HTMLMediaElement.prototype, 'muted', { set: () => ({}), }); +import vitestPreviewConfigure from 'vitest-preview'; + // Global CSS here import 'bootstrap/dist/css/bootstrap.css'; import 'bootstrap/dist/js/bootstrap.min.js'; From 8dd929428843e324c814829bf5705230b3d41a3b Mon Sep 17 00:00:00 2001 From: MayankJha014 Date: Sat, 8 Feb 2025 02:11:54 +0530 Subject: [PATCH 5/6] inc code coverage --- src/setup/askForDocker/askForDocker.spec.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/setup/askForDocker/askForDocker.spec.ts b/src/setup/askForDocker/askForDocker.spec.ts index a791b67da9..b2b0aa0a36 100644 --- a/src/setup/askForDocker/askForDocker.spec.ts +++ b/src/setup/askForDocker/askForDocker.spec.ts @@ -2,7 +2,16 @@ import inquirer from 'inquirer'; import { askForDocker } from './askForDocker'; import { describe, test, expect, vi } from 'vitest'; -vi.mock('inquirer'); +// ✅ Fix Inquirer Mocking for v12+ +vi.mock('inquirer', async () => { + const actual = await vi.importActual('inquirer'); + return { + default: { + ...actual, + prompt: vi.fn(), + }, + }; +}); describe('askForDocker', () => { test('should return default Docker port if user provides no input', async () => { From 6d947ada3505cf667da5c464e8f8ab0e9888e0c8 Mon Sep 17 00:00:00 2001 From: MayankJha014 Date: Sat, 8 Feb 2025 02:34:51 +0530 Subject: [PATCH 6/6] inc code covergae --- src/setup/askForDocker/askForDocker.spec.ts | 30 ++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/setup/askForDocker/askForDocker.spec.ts b/src/setup/askForDocker/askForDocker.spec.ts index b2b0aa0a36..b1e9774639 100644 --- a/src/setup/askForDocker/askForDocker.spec.ts +++ b/src/setup/askForDocker/askForDocker.spec.ts @@ -1,5 +1,5 @@ import inquirer from 'inquirer'; -import { askForDocker } from './askForDocker'; +import { askAndUpdateTalawaApiUrl, askForDocker } from './askForDocker'; import { describe, test, expect, vi } from 'vitest'; // ✅ Fix Inquirer Mocking for v12+ @@ -76,3 +76,31 @@ describe('askForDocker', () => { expect(result).toBe('1024'); }); }); + +vi.mock('../askForTalawaApiUrl/askForTalawaApiUrl', () => ({ + askForTalawaApiUrl: vi + .fn() + .mockResolvedValue('https://talawa-api.example.com'), +})); + +vi.mock('../updateEnvFile/updateEnvFile', () => ({ + default: vi.fn(), +})); + +describe('askAndUpdateTalawaApiUrl', () => { + test('should proceed with API setup when user confirms', async () => { + vi.spyOn(inquirer, 'prompt') + .mockResolvedValueOnce({ shouldSetTalawaApiUrlResponse: true }) // ✅ Covers line 35 + .mockResolvedValueOnce({ dockerAppPort: '4321' }); + + await expect(askAndUpdateTalawaApiUrl()).resolves.not.toThrow(); + }); + + test('should skip API setup when user declines', async () => { + vi.spyOn(inquirer, 'prompt').mockResolvedValueOnce({ + shouldSetTalawaApiUrlResponse: false, + }); + + await expect(askAndUpdateTalawaApiUrl()).resolves.not.toThrow(); + }); +});