diff --git a/.husky/commit-msg b/.husky/commit-msg index e5ed161f68..7103bede77 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,6 +1,3 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - # Section for git-secrets if ! command -v git-secrets &> /dev/null then diff --git a/.husky/pre-commit b/.husky/pre-commit index c690f11633..0fa5937264 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,6 +1,3 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - # Section for git-secrets if ! command -v git-secrets &> /dev/null then diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg index baeaee029c..6c7b0dbf97 100755 --- a/.husky/prepare-commit-msg +++ b/.husky/prepare-commit-msg @@ -1,7 +1,3 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - - # Section for git-secrets if ! command -v git-secrets &> /dev/null then diff --git a/CHANGELOG.md b/CHANGELOG.md index d8ac853a91..f5e75e4ea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,43 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [v6.147.1](https://github.com/opengovsg/FormSG/compare/v6.147.0...v6.147.1) + +- fix: change #black to #000000 in singpass logo [`#7671`](https://github.com/opengovsg/FormSG/pull/7671) +- build: release v6.147.0 [`#7670`](https://github.com/opengovsg/FormSG/pull/7670) + +#### [v6.147.0](https://github.com/opengovsg/FormSG/compare/v6.146.1...v6.147.0) + +> 12 September 2024 + +- chore: standardize singpass logo svg color [`#7669`](https://github.com/opengovsg/FormSG/pull/7669) +- chore: update upload-artifact version [`#7668`](https://github.com/opengovsg/FormSG/pull/7668) +- test: mock date when rendering shimmer dates [`#7663`](https://github.com/opengovsg/FormSG/pull/7663) +- fix: tighten gstatic.cn csp config [`#7666`](https://github.com/opengovsg/FormSG/pull/7666) +- build: merge release v6.146.1 to develop [`#7664`](https://github.com/opengovsg/FormSG/pull/7664) +- chore: remove ga injection to ejs [`#7665`](https://github.com/opengovsg/FormSG/pull/7665) +- test: add ogp-codeql to ci [`#7667`](https://github.com/opengovsg/FormSG/pull/7667) +- chore(deps): bump body-parser and express in /frontend [`#7662`](https://github.com/opengovsg/FormSG/pull/7662) +- fix(deps): bump body-parser and express [`#7661`](https://github.com/opengovsg/FormSG/pull/7661) +- test: mock date within test [`#7653`](https://github.com/opengovsg/FormSG/pull/7653) +- fix: check existence of response id in attachment map for body v3 [`#7659`](https://github.com/opengovsg/FormSG/pull/7659) +- fix(deps): bump libphonenumber-js from 1.11.7 to 1.11.8 in /shared [`#7660`](https://github.com/opengovsg/FormSG/pull/7660) +- build: release v6.146.1 [`#7657`](https://github.com/opengovsg/FormSG/pull/7657) +- chore: fix modal title typo [`#7651`](https://github.com/opengovsg/FormSG/pull/7651) +- fix(deps): bump type-fest from 4.26.0 to 4.26.1 in /shared [`#7650`](https://github.com/opengovsg/FormSG/pull/7650) +- chore: update dropndrag language [`#7649`](https://github.com/opengovsg/FormSG/pull/7649) +- build: merge release v6.146.0 to develop [`#7648`](https://github.com/opengovsg/FormSG/pull/7648) +- fix(deps): bump zod from 3.22.4 to 3.23.8 [`#7646`](https://github.com/opengovsg/FormSG/pull/7646) +- fix(deps): bump dd-trace from 3.37.0 to 5.22.0 [`#7635`](https://github.com/opengovsg/FormSG/pull/7635) +- chore: bump version to v6.147.0 [`378202b`](https://github.com/opengovsg/FormSG/commit/378202b194414a63bc511234048a2dab0b86c180) + #### [v6.146.1](https://github.com/opengovsg/FormSG/compare/v6.146.0...v6.146.1) +> 10 September 2024 + - fix(MRF): disable hasBeenScanned [`#7652`](https://github.com/opengovsg/FormSG/pull/7652) - build: release v6.146.0 [`#7644`](https://github.com/opengovsg/FormSG/pull/7644) +- chore: bump version to v6.146.1 [`cfc3ebd`](https://github.com/opengovsg/FormSG/commit/cfc3ebd056c7d991a31cf945aa48f3713a0edf4f) #### [v6.146.0](https://github.com/opengovsg/FormSG/compare/v6.145.0...v6.146.0) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3bc3892f89..567d8d22ac 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "form-frontend", - "version": "6.146.1", + "version": "6.147.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "form-frontend", - "version": "6.146.1", + "version": "6.147.1", "hasInstallScript": true, "dependencies": { "@chakra-ui/react": "^2.8.2", @@ -23,7 +23,7 @@ "@stripe/react-stripe-js": "^1.15.0", "@stripe/stripe-js": "^1.44.1", "@types/stopword": "^2.0.1", - "axios": "^1.6.4", + "axios": "^1.7.7", "broadcast-channel": "^4.13.0", "browser-image-compression": "^2.0.2", "comlink": "^4.3.1", @@ -11093,11 +11093,11 @@ } }, "node_modules/axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -33364,11 +33364,11 @@ "dev": true }, "axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "requires": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" }, diff --git a/frontend/package.json b/frontend/package.json index e715a5a1fe..40e4459c97 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "form-frontend", - "version": "6.146.1", + "version": "6.147.1", "homepage": ".", "type": "module", "private": true, @@ -19,7 +19,7 @@ "@stripe/react-stripe-js": "^1.15.0", "@stripe/stripe-js": "^1.44.1", "@types/stopword": "^2.0.1", - "axios": "^1.6.4", + "axios": "^1.7.7", "broadcast-channel": "^4.13.0", "browser-image-compression": "^2.0.2", "comlink": "^4.3.1", diff --git a/frontend/src/assets/svgrs/singpass/SingpassFullLogoSvgr.tsx b/frontend/src/assets/svgrs/singpass/SingpassFullLogoSvgr.tsx index 8733c2cc43..fd53c3cb55 100644 --- a/frontend/src/assets/svgrs/singpass/SingpassFullLogoSvgr.tsx +++ b/frontend/src/assets/svgrs/singpass/SingpassFullLogoSvgr.tsx @@ -17,7 +17,7 @@ const MemoSingpassFullLogoSvgr = memo( /> diff --git a/frontend/src/features/admin-form/responses/IndividualResponsePage/IndividualResponsePage.tsx b/frontend/src/features/admin-form/responses/IndividualResponsePage/IndividualResponsePage.tsx index d76a5c511b..f9dc8cbc57 100644 --- a/frontend/src/features/admin-form/responses/IndividualResponsePage/IndividualResponsePage.tsx +++ b/frontend/src/features/admin-form/responses/IndividualResponsePage/IndividualResponsePage.tsx @@ -19,6 +19,7 @@ import Spinner from '~components/Spinner' import { useAdminForm } from '~features/admin-form/common/queries' import { FormActivationSvg } from '~features/admin-form/settings/components/FormActivationSvg' +import { useUser } from '~features/user/queries' import { SecretKeyVerification } from '../components/SecretKeyVerification' import { useStorageResponsesContext } from '../ResponsesPage/storage' @@ -80,6 +81,8 @@ export const IndividualResponsePage = (): JSX.Element => { if (!formId) throw new Error('Missing formId') const { data: form } = useAdminForm() + + const { user } = useUser() const { secretKey } = useStorageResponsesContext() const { data, isLoading, isError } = useIndividualSubmission() @@ -187,14 +190,15 @@ export const IndividualResponsePage = (): JSX.Element => { )} - {form?.responseMode === FormResponseMode.Multirespondent && ( - - )} + {form?.responseMode === FormResponseMode.Multirespondent && + user?.betaFlags?.mrfAdminSubmissionKey && ( + + )} {isLoading || isError ? ( diff --git a/package-lock.json b/package-lock.json index bed01927a7..c5c97daada 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "FormSG", - "version": "6.146.1", + "version": "6.147.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "FormSG", - "version": "6.146.1", + "version": "6.147.1", "hasInstallScript": true, "dependencies": { "@aws-sdk/client-cloudwatch-logs": "^3.536.0", @@ -17,11 +17,10 @@ "@joi/date": "^2.1.0", "@opengovsg/formsg-sdk": "^0.12.0-alpha.1", "@opengovsg/myinfo-gov-client": "^4.1.2", - "@opengovsg/sgid-client": "^2.0.0", + "@opengovsg/sgid-client": "^2.2.0", "@react-email/components": "^0.0.15", "@react-email/render": "^0.0.12", "@stablelib/base64": "^1.0.1", - "abortcontroller-polyfill": "^1.7.5", "aws-info": "^1.2.0", "aws-sdk": "^2.1659.0", "axios": "^1.7.4", @@ -50,12 +49,10 @@ "express-request-id": "^1.4.1", "express-session": "^1.18.0", "express-winston": "^4.2.0", - "fetch-readablestream": "^0.2.0", "file-saver": "^2.0.5", - "font-awesome": "4.7.0", "fp-ts": "^2.16.8", "helmet": "^7.1.0", - "hot-shots": "^10.0.0", + "hot-shots": "^10.1.1", "html-entities": "^2.5.2", "html-escaper": "^3.0.3", "http-errors": "^2.0.0", @@ -89,10 +86,8 @@ "promise-timeout": "^1.3.0", "puppeteer-core": "22.6.3", "react-email": "^2.1.3", - "selectize": "0.12.6", "slick-carousel": "1.8.1", "sns-validator": "^0.3.5", - "sortablejs": "~1.14.0", "spark-md5": "^3.0.2", "sqs-consumer": "^5.7.0", "sqs-producer": "^2.1.0", @@ -107,8 +102,6 @@ "uuid": "^10.0.0", "uuid-by-string": "^4.0.0", "validator": "^13.12.0", - "web-streams-polyfill": "^3.2.1", - "whatwg-fetch": "^3.6.2", "winston": "^3.13.0", "winston-cloudwatch": "^6.2.0", "zod": "^3.23.8" @@ -117,8 +110,7 @@ "@babel/core": "^7.24.3", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-env": "^7.25.3", - "@opengovsg/credits-generator": "^1.0.6", - "@opengovsg/mockpass": "^4.3.2", + "@opengovsg/mockpass": "^4.3.4", "@playwright/test": "^1.45.1", "@stoplight/prism-cli": "^5.5.4", "@types/bcrypt": "^5.0.0", @@ -164,8 +156,6 @@ "axios-mock-adapter": "^1.22.0", "concurrently": "^7.6.0", "copyfiles": "^2.4.1", - "core-js": "^3.38.1", - "coveralls": "^3.1.1", "env-cmd": "^10.1.0", "eslint": "^8.57.0", "eslint-config-prettier": "^8.10.0", @@ -177,7 +167,7 @@ "eslint-plugin-typesafe": "^0.5.2", "form-data": "^4.0.0", "htmlhint": "^1.1.4", - "husky": "^8.0.3", + "husky": "^9.1.6", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "jest-extended": "^3.2.4", @@ -6151,18 +6141,6 @@ "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==" }, - "node_modules/@opengovsg/credits-generator": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@opengovsg/credits-generator/-/credits-generator-1.0.6.tgz", - "integrity": "sha512-c0M9pKpn0J9D3Rdx4gcL9p7JGp0mfAbUijXF3FUfzWKeTjw60wYkh+vRR8DrezDLGP2hMtUU0K0PpaMO7TmveA==", - "dev": true, - "dependencies": { - "crawler": "^1.2.1" - }, - "bin": { - "credits-generator": "index.js" - } - }, "node_modules/@opengovsg/formsg-sdk": { "version": "0.12.0-alpha.1", "resolved": "https://registry.npmjs.org/@opengovsg/formsg-sdk/-/formsg-sdk-0.12.0-alpha.1.tgz", @@ -6174,9 +6152,9 @@ } }, "node_modules/@opengovsg/mockpass": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@opengovsg/mockpass/-/mockpass-4.3.2.tgz", - "integrity": "sha512-ufIs6TuKBXfkRYExQLDp5EdinIW+381i9RSngNK77Iesw/WDWDw210+Ry30ne5uKoDPXFdF197llqyzxcx4WsQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@opengovsg/mockpass/-/mockpass-4.3.4.tgz", + "integrity": "sha512-BIr1EDN5Jail0lEuRyX+NOXvRE1jGcB6Q1GAg+zZlmU4MZiXxCh8/6LmT3kg/DiR2Ltsd2UYkNbFf7YVoytPsQ==", "dev": true, "dependencies": { "base-64": "^1.0.0", @@ -6267,9 +6245,9 @@ } }, "node_modules/@opengovsg/sgid-client": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@opengovsg/sgid-client/-/sgid-client-2.0.0.tgz", - "integrity": "sha512-zqcVQz03zB7dAwWh2MJVRAmHYjK1EryqOPnbBgrkr8Jx8BjtcjFa4cCrHstwWP1kVkGomhi0C7e3TRvf1qYSFQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opengovsg/sgid-client/-/sgid-client-2.2.0.tgz", + "integrity": "sha512-xx/duuvncxp3vLzz+A0CW5kD/+zq19M23H7ueCh1ySPcB1fixUqsYKJAukk2En6FTI62jUizeJVjXOsd7rhl+A==", "dependencies": { "jose": "4.9.2", "node-rsa": "1.1.1", @@ -10467,10 +10445,6 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "license": "MIT" - }, "node_modules/abstract-logging": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", @@ -10676,10 +10650,6 @@ "node": ">=4" } }, - "node_modules/ansicolors": { - "version": "0.2.1", - "license": "MIT" - }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -10950,14 +10920,6 @@ "util": "0.10.3" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "dev": true, @@ -11178,19 +11140,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.10.0", - "dev": true, - "license": "MIT" - }, "node_modules/axios": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", @@ -11637,19 +11586,6 @@ "node": ">= 10.0.0" } }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "dev": true, - "license": "Unlicense" - }, "node_modules/big.js": { "version": "5.2.2", "dev": true, @@ -11762,18 +11698,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/bottleneckp": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/bottleneckp/-/bottleneckp-1.1.3.tgz", - "integrity": "sha512-f3XqkhYX2xuSxgZNtk/XqT1CHgYLTHK90SVQZjEZqOr+F6ryZA3xEsMQWqWFpRItTbc4X/dnjsE8p+gnr16qgA==", - "dev": true - }, "node_modules/bowser": { "version": "2.11.0", "license": "MIT" @@ -12104,17 +12028,6 @@ } ] }, - "node_modules/cardinal": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "ansicolors": "~0.2.1", - "redeyed": "~1.0.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, "node_modules/caseless": { "version": "0.12.0", "dev": true, @@ -12160,33 +12073,6 @@ "node": ">=4.0.0" } }, - "node_modules/cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==", - "dev": true, - "dependencies": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/chokidar": { "version": "3.5.3", "funding": [ @@ -13060,17 +12946,6 @@ "node": ">=10" } }, - "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -13100,39 +12975,6 @@ "node": ">= 0.10" } }, - "node_modules/coveralls": { - "version": "3.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - }, - "bin": { - "coveralls": "bin/coveralls.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/crawler": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/crawler/-/crawler-1.4.0.tgz", - "integrity": "sha512-rFg8/AtpQ5c8SItxwamlP4fGClnDd/n5GOdFakq0KtCdTzXL2HqzROyrAfEWPYuFzX2n+avafe3hQiFGKKOLXw==", - "dev": true, - "dependencies": { - "bottleneckp": "~1.1.3", - "cheerio": "^0.22.0", - "iconv-lite": "^0.4.8", - "lodash": "^4.17.10", - "request": "~2.88.0", - "seenreq": "^3.0.0", - "type-is": "^1.6.14" - } - }, "node_modules/create-ecdh": { "version": "4.0.4", "dev": true, @@ -13233,27 +13075,6 @@ "version": "1.0.0", "license": "MIT" }, - "node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -13302,17 +13123,6 @@ "dev": true, "license": "MIT" }, - "node_modules/dashdash": { - "version": "1.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/data-uri-to-buffer": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", @@ -13910,16 +13720,6 @@ "node": ">=10" } }, - "node_modules/dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, "node_modules/domain-browser": { "version": "1.2.0", "dev": true, @@ -13929,36 +13729,11 @@ "npm": ">=1.2" } }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, "node_modules/dompurify": { "version": "2.3.9", "dev": true, "license": "(MPL-2.0 OR Apache-2.0)" }, - "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, "node_modules/dotenv": { "version": "16.0.3", "license": "BSD-2-Clause", @@ -13989,15 +13764,6 @@ "version": "0.2.0", "license": "MIT" }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "license": "Apache-2.0", @@ -14206,12 +13972,6 @@ "node": ">=8.6" } }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, "node_modules/env-cmd": { "version": "10.1.0", "dev": true, @@ -15431,17 +15191,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "3.0.0", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -15975,14 +15724,6 @@ "@types/yauzl": "^2.9.1" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "license": "MIT" @@ -16098,10 +15839,6 @@ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, - "node_modules/fetch-readablestream": { - "version": "0.2.0", - "license": "MIT" - }, "node_modules/figgy-pudding": { "version": "3.5.2", "dev": true, @@ -16336,13 +16073,6 @@ } } }, - "node_modules/font-awesome": { - "version": "4.7.0", - "license": "(OFL-1.1 AND MIT)", - "engines": { - "node": ">=0.10.3" - } - }, "node_modules/for-each": { "version": "0.3.3", "license": "MIT", @@ -16390,14 +16120,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, "node_modules/form-data": { "version": "4.0.0", "license": "MIT", @@ -16773,14 +16495,6 @@ "node": ">=0.10.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { "version": "7.1.6", "license": "ISC", @@ -16917,26 +16631,6 @@ "integrity": "sha512-cUduQxa5p3TFtGmb55mrRbkk/3EJCsLSeFrCIuTakQHQlYVWXeW2L9IUQUHyoHLI4UgpBNaN2JrZ0He1jPu+vg==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -17140,9 +16834,9 @@ } }, "node_modules/hot-shots": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.0.0.tgz", - "integrity": "sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.1.1.tgz", + "integrity": "sha512-KTsH9hb+YZHH0IIRf22y0X8mPw8j521W5xRAUeaUlGNBDsf44ixE7ZeyXbUHd/nQ1n04UEhi2ja05/QVOS/CgQ==", "engines": { "node": ">=10.0.0" }, @@ -17392,34 +17086,6 @@ "node": ">=8" } }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/http-errors": { "version": "2.0.0", "license": "MIT", @@ -17463,20 +17129,6 @@ "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==", "dev": true }, - "node_modules/http-signature": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/http-status-codes": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", @@ -17507,22 +17159,16 @@ "node": ">=16.17.0" } }, - "node_modules/humanize": { - "version": "0.0.9", - "engines": { - "node": "*" - } - }, "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.1.6", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz", + "integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==", "dev": true, "bin": { - "husky": "lib/bin.js" + "husky": "bin.js" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" @@ -18125,11 +17771,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -18187,11 +17828,6 @@ "whatwg-fetch": "^3.4.1" } }, - "node_modules/isstream": { - "version": "0.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -20586,11 +20222,6 @@ "node": ">=4" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "dev": true, - "license": "MIT" - }, "node_modules/jsdom": { "version": "24.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", @@ -20791,10 +20422,6 @@ "bluebird": "*" } }, - "node_modules/json-schema": { - "version": "0.2.3", - "dev": true - }, "node_modules/json-schema-compare": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", @@ -20944,20 +20571,6 @@ "node": ">=10" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "node_modules/jszip": { "version": "3.10.1", "license": "(MIT OR GPL-3.0-or-later)", @@ -21048,14 +20661,6 @@ "version": "2.0.0", "license": "MIT" }, - "node_modules/lcov-parse": { - "version": "1.0.0", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "lcov-parse": "bin/cli.js" - } - }, "node_modules/leac": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz", @@ -21470,18 +21075,6 @@ "version": "4.2.0", "license": "MIT" }, - "node_modules/lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==", - "dev": true - }, - "node_modules/lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==", - "dev": true - }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -21497,34 +21090,10 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true - }, - "node_modules/lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==", - "dev": true - }, "node_modules/lodash.find": { "version": "4.6.0", "license": "MIT" }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true - }, - "node_modules/lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", - "dev": true - }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -21563,12 +21132,6 @@ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", - "dev": true - }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, @@ -21584,29 +21147,6 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==", - "dev": true - }, - "node_modules/lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==", - "dev": true - }, - "node_modules/lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==", - "dev": true - }, "node_modules/lodash.sortby": { "version": "4.7.0", "license": "MIT" @@ -21616,14 +21156,6 @@ "dev": true, "license": "MIT" }, - "node_modules/log-driver": { - "version": "1.2.7", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=0.8.6" - } - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -22350,12 +21882,6 @@ "node": ">=8.6" } }, - "node_modules/microplugin": { - "version": "0.0.3", - "engines": { - "node": "*" - } - }, "node_modules/miller-rabin": { "version": "4.0.1", "dev": true, @@ -23359,15 +22885,6 @@ "asn1": "^0.2.4" } }, - "node_modules/node-url-utils": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-url-utils/-/node-url-utils-0.4.0.tgz", - "integrity": "sha512-cg9J2VQ0nNvrZR+edoDaAoInvGRgi2r/LCSwOwNCgVASBo0rQiDbSwa4s0MpEcpPf1p4qokC14BXMx5TPxSU5w==", - "dev": true, - "engines": { - "node": ">=0.2.x" - } - }, "node_modules/nodemailer": { "version": "6.9.13", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.13.tgz", @@ -23458,28 +22975,11 @@ "set-blocking": "^2.0.0" } }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0" - } - }, "node_modules/nwsapi": { "version": "2.2.10", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==" }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "license": "MIT", @@ -23740,18 +23240,6 @@ "node": "^19 || ^18 || ^16 || ^14" } }, - "node_modules/optimist": { - "version": "0.6.1", - "license": "MIT/X11", - "dependencies": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "node_modules/optimist/node_modules/minimist": { - "version": "0.0.10", - "license": "MIT" - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -24209,11 +23697,6 @@ "version": "1.2.0", "license": "MIT" }, - "node_modules/performance-now": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", @@ -25028,15 +24511,6 @@ } ] }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/querystring": { "version": "0.2.0", "engines": { @@ -25582,13 +25056,6 @@ "node": ">= 0.10" } }, - "node_modules/redeyed": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "esprima": "~3.0.0" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -25802,57 +25269,6 @@ "node": ">=0.10" } }, - "node_modules/request": { - "version": "2.88.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "license": "MIT", @@ -26199,15 +25615,6 @@ "version": "2.1.0", "license": "BSD-3-Clause" }, - "node_modules/seenreq": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/seenreq/-/seenreq-3.0.0.tgz", - "integrity": "sha512-wSe7hb83TKkyweL8Jq5a1xuStmqfwxiJn2SXjA/Wns42aUJjlWzPzj/jWaomOCRY5ZpIRkiyh/+5pNz/20363A==", - "dev": true, - "dependencies": { - "node-url-utils": "^0.4.0" - } - }, "node_modules/selderee": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz", @@ -26219,20 +25626,6 @@ "url": "https://ko-fi.com/killymxi" } }, - "node_modules/selectize": { - "version": "0.12.6", - "license": "Apache-2.0", - "dependencies": { - "microplugin": "0.0.3", - "sifter": "^0.5.1" - }, - "engines": { - "node": "*" - }, - "peerDependencies": { - "jquery": "^1.7.0, ^2, ^3" - } - }, "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -26543,31 +25936,6 @@ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz", "integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==" }, - "node_modules/sifter": { - "version": "0.5.4", - "license": "Apache-2.0", - "dependencies": { - "async": "^2.6.0", - "cardinal": "^1.0.0", - "csv-parse": "^4.6.5", - "humanize": "^0.0.9", - "optimist": "^0.6.1" - }, - "bin": { - "sifter": "bin/sifter.js" - } - }, - "node_modules/sifter/node_modules/async": { - "version": "2.6.4", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/sifter/node_modules/csv-parse": { - "version": "4.16.3", - "license": "MIT" - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -26946,10 +26314,6 @@ "react-dom": "^18.0.0" } }, - "node_modules/sortablejs": { - "version": "1.14.0", - "license": "MIT" - }, "node_modules/source-list-map": { "version": "2.0.1", "dev": true, @@ -27080,35 +26444,6 @@ "node": ">=12.0.0" } }, - "node_modules/sshpk": { - "version": "1.16.1", - "dev": true, - "license": "MIT", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "dev": true, - "license": "Unlicense" - }, "node_modules/stack-trace": { "version": "0.0.10", "license": "MIT", @@ -28152,18 +27487,6 @@ "node": ">=0.6" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -28567,17 +27890,6 @@ "dev": true, "license": "MIT" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/tweetnacl": { "version": "1.0.3", "license": "Unlicense" @@ -29271,19 +28583,6 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/vm-browserify": { "version": "1.1.2", "dev": true, @@ -29592,13 +28891,6 @@ "defaults": "^1.0.3" } }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -29953,6 +29245,7 @@ }, "node_modules/whatwg-fetch": { "version": "3.6.2", + "dev": true, "license": "MIT" }, "node_modules/whatwg-mimetype": { @@ -30168,13 +29461,6 @@ "node": ">=0.10.0" } }, - "node_modules/wordwrap": { - "version": "0.0.3", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/worker-farm": { "version": "1.7.0", "dev": true, diff --git a/package.json b/package.json index 31070e8708..5352ff0109 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "FormSG", "description": "Form Manager for Government", - "version": "6.146.1", + "version": "6.147.1", "homepage": "https://form.gov.sg", "authors": [ "FormSG " @@ -48,7 +48,7 @@ "lint:frontend": "npm run --prefix frontend lint", "lint-ci": "eslint src/ shared/ --quiet", "version": "auto-changelog -p && git add CHANGELOG.md", - "prepare": "husky install", + "prepare": "husky", "pre-commit": "lint-staged", "storybook": "npm run --prefix frontend storybook", "postinstall:frontend": "npm --prefix frontend install", @@ -63,11 +63,10 @@ "@joi/date": "^2.1.0", "@opengovsg/formsg-sdk": "^0.12.0-alpha.1", "@opengovsg/myinfo-gov-client": "^4.1.2", - "@opengovsg/sgid-client": "^2.0.0", + "@opengovsg/sgid-client": "^2.2.0", "@react-email/components": "^0.0.15", "@react-email/render": "^0.0.12", "@stablelib/base64": "^1.0.1", - "abortcontroller-polyfill": "^1.7.5", "aws-info": "^1.2.0", "aws-sdk": "^2.1659.0", "axios": "^1.7.4", @@ -96,12 +95,10 @@ "express-request-id": "^1.4.1", "express-session": "^1.18.0", "express-winston": "^4.2.0", - "fetch-readablestream": "^0.2.0", "file-saver": "^2.0.5", - "font-awesome": "4.7.0", "fp-ts": "^2.16.8", "helmet": "^7.1.0", - "hot-shots": "^10.0.0", + "hot-shots": "^10.1.1", "html-entities": "^2.5.2", "html-escaper": "^3.0.3", "http-errors": "^2.0.0", @@ -135,10 +132,8 @@ "promise-timeout": "^1.3.0", "puppeteer-core": "22.6.3", "react-email": "^2.1.3", - "selectize": "0.12.6", "slick-carousel": "1.8.1", "sns-validator": "^0.3.5", - "sortablejs": "~1.14.0", "spark-md5": "^3.0.2", "sqs-consumer": "^5.7.0", "sqs-producer": "^2.1.0", @@ -153,8 +148,6 @@ "uuid": "^10.0.0", "uuid-by-string": "^4.0.0", "validator": "^13.12.0", - "web-streams-polyfill": "^3.2.1", - "whatwg-fetch": "^3.6.2", "winston": "^3.13.0", "winston-cloudwatch": "^6.2.0", "zod": "^3.23.8" @@ -163,8 +156,7 @@ "@babel/core": "^7.24.3", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-env": "^7.25.3", - "@opengovsg/credits-generator": "^1.0.6", - "@opengovsg/mockpass": "^4.3.2", + "@opengovsg/mockpass": "^4.3.4", "@playwright/test": "^1.45.1", "@stoplight/prism-cli": "^5.5.4", "@types/bcrypt": "^5.0.0", @@ -210,8 +202,6 @@ "axios-mock-adapter": "^1.22.0", "concurrently": "^7.6.0", "copyfiles": "^2.4.1", - "core-js": "^3.38.1", - "coveralls": "^3.1.1", "env-cmd": "^10.1.0", "eslint": "^8.57.0", "eslint-config-prettier": "^8.10.0", @@ -223,7 +213,7 @@ "eslint-plugin-typesafe": "^0.5.2", "form-data": "^4.0.0", "htmlhint": "^1.1.4", - "husky": "^8.0.3", + "husky": "^9.1.6", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "jest-extended": "^3.2.4", diff --git a/shared/types/user.ts b/shared/types/user.ts index 54928ff0d4..5431572f70 100644 --- a/shared/types/user.ts +++ b/shared/types/user.ts @@ -23,6 +23,7 @@ export const UserBase = z.object({ postmanSms: z.boolean().optional(), // TODO: (MRF-email-notif) Remove betaFlag when MRF email notifications is out of beta mrfEmailNotifications: z.boolean().optional(), + mrfAdminSubmissionKey: z.boolean().optional(), }) .optional(), flags: z.record(z.nativeEnum(SeenFlags), z.number()).optional(), diff --git a/src/app/models/user.server.model.ts b/src/app/models/user.server.model.ts index 6fad04bcb6..a2d00f9852 100644 --- a/src/app/models/user.server.model.ts +++ b/src/app/models/user.server.model.ts @@ -77,6 +77,7 @@ const compileUserModel = (db: Mongoose) => { postmanSms: Boolean, // TODO: (MRF-email-notif) Remove betaFlag when MRF email notifications is out of beta mrfEmailNotifications: Boolean, + mrfAdminSubmissionKey: Boolean, }, flags: { type: Schema.Types.Map, // of SeenFlags