diff --git a/apps/OpenSign/package-lock.json b/apps/OpenSign/package-lock.json index 888e55a5c..5571578e4 100644 --- a/apps/OpenSign/package-lock.json +++ b/apps/OpenSign/package-lock.json @@ -14,7 +14,7 @@ "@radix-ui/themes": "^3.1.3", "@react-pdf/renderer": "^3.4.4", "@reduxjs/toolkit": "^2.2.7", - "axios": "^1.7.4", + "axios": "^1.7.5", "file-saver": "^2.0.5", "i18next": "^23.14.0", "i18next-browser-languagedetector": "^8.0.0", @@ -5948,15 +5948,6 @@ "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -7201,9 +7192,9 @@ } }, "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz", + "integrity": "sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -16959,9 +16950,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -24656,11 +24647,10 @@ } }, "node_modules/webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -24669,7 +24659,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", diff --git a/apps/OpenSign/package.json b/apps/OpenSign/package.json index f139bdaca..f33c5aba4 100644 --- a/apps/OpenSign/package.json +++ b/apps/OpenSign/package.json @@ -9,7 +9,7 @@ "@radix-ui/themes": "^3.1.3", "@react-pdf/renderer": "^3.4.4", "@reduxjs/toolkit": "^2.2.7", - "axios": "^1.7.4", + "axios": "^1.7.5", "file-saver": "^2.0.5", "i18next": "^23.14.0", "i18next-browser-languagedetector": "^8.0.0", diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 7e4e04772..83eb56de0 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -623,5 +623,7 @@ "rotate-left": "Rotate left", "rotate-alert-mssg": "All widgets on this page will be lost. Are you sure you want to proceed?", "templateid": "Template-Id", - "bulksendsubcriptionalert": "Please upgrade to Professional or Team plan to use quicksend." + "bulksendsubcriptionalert": "Please upgrade to Professional or Team plan to use quicksend.", + "generate-test-token":"Generate Test Token", + "regenerate-test-token":"Regenerate Test Token" } diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 66bbb12e1..376a16011 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -622,5 +622,7 @@ "rotate-left": "Faire pivoter à gauche", "rotate-alert-mssg": "Tous les widgets de cette page seront perdus. Êtes-vous sûr de vouloir continuer ?", "templateid": "ID de modèle", - "bulksendsubcriptionalert": "Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend." + "bulksendsubcriptionalert": "Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend.", + "generate-test-token": "Générer jeton de test", + "regenerate-test-token":"Régénérer le jeton de test" } diff --git a/apps/OpenSign/src/components/shared/fields/SignersInput.js b/apps/OpenSign/src/components/shared/fields/SignersInput.js index 153d833fe..0bfed21f1 100644 --- a/apps/OpenSign/src/components/shared/fields/SignersInput.js +++ b/apps/OpenSign/src/components/shared/fields/SignersInput.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import Select from "react-select"; +import AsyncSelect from "react-select/async"; import AddSigner from "../../AddSigner"; import Parse from "parse"; import Tooltip from "../../../primitives/Tooltip"; @@ -35,7 +35,6 @@ const AddSignerModal = ({ isOpen, children }) => { const SignersInput = (props) => { const { t } = useTranslation(); const [state, setState] = useState(undefined); - // const [editFormData, setEditFormData] = useState([]); const [selected, setSelected] = useState([]); const [isModal, setIsModel] = useState(false); const onChange = (selectedOptions) => setSelected(selectedOptions); @@ -46,40 +45,6 @@ const SignersInput = (props) => { setSelected(newValue); }; - const GetSelectListData = async () => { - try { - const currentUser = Parse.User.current(); - const contactbook = new Parse.Query("contracts_Contactbook"); - contactbook.equalTo( - "CreatedBy", - Parse.User.createWithoutData(currentUser.id) - ); - contactbook.notEqualTo("IsDeleted", true); - const contactRes = await contactbook.find(); - if (contactRes) { - const res = JSON.parse(JSON.stringify(contactRes)); - let list = []; - - // let _selected = []; - res.forEach((x) => { - let obj = { - label: x.Name, - value: x.objectId, - isChecked: true - }; - - list.push(obj); - }); - setState(list); - } - } catch (error) { - console.log("err", error); - } - }; - - useEffect(() => { - GetSelectListData(); - }, []); useEffect(() => { if (props.isReset && props.isReset === true) { setSelected([]); @@ -118,7 +83,46 @@ const SignersInput = (props) => { setSelected([data]); } }; + const loadOptions = async (inputValue) => { + try { + const currentUser = Parse.User.current(); + const contactbook = new Parse.Query("contracts_Contactbook"); + contactbook.equalTo( + "CreatedBy", + Parse.User.createWithoutData(currentUser.id) + ); + if (inputValue.length > 1) { + contactbook.matches("Name", new RegExp(inputValue, "i")); + } + contactbook.notEqualTo("IsDeleted", true); + const contactRes = await contactbook.find(); + if (contactRes) { + const res = JSON.parse(JSON.stringify(contactRes)); + //compareArrays is a function where compare between two array (total signersList and dcument signers list) + //and filter signers from total signer's list which already present in document's signers list + const compareArrays = (res, signerObj) => { + return res.filter( + (item1) => + !signerObj.find((item2) => item2.objectId === item1.objectId) + ); + }; + //get update signer's List if signersdata is present + const updateSignersList = + props?.signersData && compareArrays(res, props?.signersData); + + const result = updateSignersList ? updateSignersList : res; + setState(result); + return await result.map((item) => ({ + label: item.Name, + value: item.objectId, + isChecked: true + })); + } + } catch (error) { + console.log("err", error); + } + }; return (
- setIsSubscribeNews(e.target.checked)} /> diff --git a/apps/OpenSign/src/pages/GenerateToken.js b/apps/OpenSign/src/pages/GenerateToken.js index 52fcd2413..4748e5c93 100644 --- a/apps/OpenSign/src/pages/GenerateToken.js +++ b/apps/OpenSign/src/pages/GenerateToken.js @@ -32,6 +32,7 @@ function GenerateToken() { price: (75.0).toFixed(2) }); const [isFormLoader, setIsFormLoader] = useState(false); + const [apitestToken, setApiTestToken] = useState(""); const quantityList = [500, 1000, 5000, 50000]; useEffect(() => { fetchToken(); @@ -61,11 +62,15 @@ function GenerateToken() { setAmount((obj) => ({ ...obj, totalapis: allowedapis })); SetApiToken(res?.data?.result?.result); } - setIsLoader(false); + const body = { email: Parse?.User?.current()?.getEmail() || "" }; + const testurl = "https://sandbox.opensignlabs.com/api/gettesttoken"; + const testRes = await axios.post(testurl, body); + setApiTestToken(testRes.data?.token); } catch (err) { SetApiToken(); - setIsLoader(false); console.log("Err", err); + } finally { + setIsLoader(false); } }; const handleSubmit = async (e) => { @@ -160,6 +165,41 @@ function GenerateToken() { setIsFormLoader(false); } }; + + const handleGenerateTestToken = async (e) => { + e.preventDefault(); + setIsLoader(true); + // setIsModal((obj) => ({ ...obj, generateapi: false })); + try { + const url = "https://sandbox.opensignlabs.com/api/generatetesttoken"; + const headers = { + "Content-Type": "application/json", + token: apitestToken || "1" + }; + const extUser = JSON.parse(localStorage.getItem("Extand_Class"))?.[0]; + const body = { + name: extUser?.Name, + email: extUser?.Email, + phone: extUser?.Phone, + company: extUser?.Company, + jobTitle: extUser?.JobTitle + }; + const res = await axios.post(url, body, { headers: headers }); + if (res) { + setApiTestToken(res.data?.token); + setIsAlert({ type: "success", msg: t("token-generated") }); + } else { + console.error("Error while generating Token"); + setIsAlert({ type: "danger", msg: t("something-went-wrong-mssg") }); + } + } catch (error) { + setIsAlert({ type: "danger", msg: t("something-went-wrong-mssg") }); + console.log("while generating Token", error); + } finally { + setIsLoader(false); + setTimeout(() => setIsAlert({ type: "success", msg: "" }), 1500); + } + }; return ( @@ -179,6 +219,34 @@ function GenerateToken() { /> </h1> <ul className="w-full flex flex-col p-2 text-sm"> + <li className="flex flex-col md:flex-row justify-between items-center border-y-[1px] border-gray-300 break-all py-2"> + <div className="w-full md:w-[70%] flex-col md:flex-row text-xs md:text-[15px] flex items-center gap-x-5"> + <span className="ml-1">API Test Token :</span>{" "} + <span id="token" className="md:text-end py-2 md:py-0"> + <span + className="cursor-pointer" + onClick={() => copytoclipboard(apitestToken)} + > + {apitestToken ? apitestToken : "_____"} + </span> + <button + className="op-btn op-btn-accent op-btn-outline op-btn-sm ml-2 cursor-pointer" + onClick={() => copytoclipboard(apitestToken)} + > + <i className="fa-light fa-copy"></i> + </button> + </span> + </div> + <button + onClick={handleGenerateTestToken} + // onClick={apitestToken ? handleModal : handleGenerateTestToken} + className="op-btn op-btn-primary" + > + {apitestToken + ? t("regenerate-test-token") + : t("generate-test-token")} + </button> + </li> <li className="flex flex-col md:flex-row justify-between items-center border-y-[1px] border-gray-300 break-all py-2"> <div className="w-full md:w-[70%] flex-col md:flex-row text-xs md:text-[15px] flex items-center gap-x-5"> <span className="ml-1">{t("api-token")}:</span>{" "} diff --git a/apps/OpenSign/src/pages/Login.js b/apps/OpenSign/src/pages/Login.js index 3454d57e8..9159c5678 100644 --- a/apps/OpenSign/src/pages/Login.js +++ b/apps/OpenSign/src/pages/Login.js @@ -21,7 +21,6 @@ import { saveLanguageInLocal } from "../constant/Utils"; import Loader from "../primitives/Loader"; -import { paidUrl } from "../json/plansArr"; import { useTranslation } from "react-i18next"; import SelectLanguage from "../components/pdf/SelectLanguage"; @@ -81,13 +80,8 @@ function Login() { } setState({ ...state, [name]: value }); }; - const handlePaidRoute = (plan) => { - const route = paidUrl(plan); - if (route === "/subscription") { - navigate(route); - } else { - openInNewTab(route, "_self"); - } + const handlePaidRoute = () => { + navigate("/subscription"); }; const handleSubmit = async (event) => { localStorage.removeItem("accesstoken"); diff --git a/apps/OpenSign/src/pages/UserProfile.js b/apps/OpenSign/src/pages/UserProfile.js index 7dd49f055..1158137a9 100644 --- a/apps/OpenSign/src/pages/UserProfile.js +++ b/apps/OpenSign/src/pages/UserProfile.js @@ -390,24 +390,25 @@ function UserProfile() { ]; //function for update TourStatus const closeTour = async () => { - setIsProfileTour(true); - if (isDontShow) { - let updatedTourStatus = []; - if (tourStatus.length > 0) { - updatedTourStatus = [...tourStatus]; - const profileIndex = tourStatus.findIndex( - (obj) => obj["profileTour"] === false || obj["profileTour"] === true - ); - if (profileIndex !== -1) { - updatedTourStatus[profileIndex] = { profileTour: true }; + try { + setIsProfileTour(true); + if (isDontShow) { + let updatedTourStatus = []; + if (tourStatus.length > 0) { + updatedTourStatus = [...tourStatus]; + const profileIndex = tourStatus.findIndex( + (obj) => obj["profileTour"] === false || obj["profileTour"] === true + ); + if (profileIndex !== -1) { + updatedTourStatus[profileIndex] = { profileTour: true }; + } else { + updatedTourStatus.push({ profileTour: true }); + } } else { - updatedTourStatus.push({ profileTour: true }); + updatedTourStatus = [{ profileTour: true }]; } - } else { - updatedTourStatus = [{ profileTour: true }]; - } - await axios - .put( + + await axios.put( `${localStorage.getItem("baseUrl")}classes/contracts_Users/${ extendUser?.[0]?.objectId }`, @@ -421,14 +422,15 @@ function UserProfile() { sessionToken: localStorage.getItem("accesstoken") } } - ) - .then(() => { - // const json = Listdata.data; - }) - .catch((err) => { - console.log("axois err ", err); - alert(t("something-went-wrong-mssg")); - }); + ); + const res = await Parse.Cloud.run("getUserDetails"); + const json = JSON.parse(JSON.stringify([res])); + const extRes = JSON.stringify(json); + localStorage.setItem("Extand_Class", extRes); + } + } catch (err) { + console.log("axois err ", err); + alert(t("something-went-wrong-mssg")); } }; const handleDontShow = (isChecked) => { diff --git a/apps/OpenSignServer/cloud/parsefunction/ContractUsersAftersave.js b/apps/OpenSignServer/cloud/parsefunction/ContractUsersAftersave.js deleted file mode 100644 index a6b41394c..000000000 --- a/apps/OpenSignServer/cloud/parsefunction/ContractUsersAftersave.js +++ /dev/null @@ -1,40 +0,0 @@ -async function ContractUsersAftersave(request) { - console.log('In contracts_Users aftersave'); - - if (!request.original) { - const shareWithTeam = request.object.get('ShareWithTeam'); - const newACL = new Parse.ACL(); - const contactbook = new Parse.Object('contracts_Contactbook'); - contactbook.set('Name', request.object.get('Name')); - contactbook.set('Email', request.object.get('Email')); - contactbook.set('ExtUserPtr', request.object.get('objectId')); - if (request.object?.get('Phone')) { - contactbook.set('Phone', request.object.get('Phone')); - } - contactbook.set('ExtUserPtr', { - __type: 'Pointer', - className: 'contracts_Users', - objectId: request.object.id, - }); - contactbook.set('UserId', request.object.get('UserId')); - - // newACL.setPublicReadAccess(false); - // newACL.setPublicWriteAccess(false); - const tenant_Id = request.object.get('TenantId'); - if (shareWithTeam) { - if (tenant_Id) { - newACL.setReadAccess('tenant_' + tenant_Id.id, true); - newACL.setWriteAccess('tenant_' + tenant_Id.id, true); - } - newACL.setReadAccess(request.user, true); - newACL.setWriteAccess(request.user, true); - } else { - newACL.setReadAccess(request.user, true); - newACL.setWriteAccess(request.user, true); - } - - contactbook.setACL(newACL); - contactbook.save(null, { useMasterkey: true }); - } -} -export default ContractUsersAftersave; diff --git a/apps/OpenSignServer/cloud/parsefunction/ExtUserAftersave.js b/apps/OpenSignServer/cloud/parsefunction/ExtUserAftersave.js index 59a23b354..cde28c232 100644 --- a/apps/OpenSignServer/cloud/parsefunction/ExtUserAftersave.js +++ b/apps/OpenSignServer/cloud/parsefunction/ExtUserAftersave.js @@ -14,7 +14,7 @@ async function ExtUserAftersave(request) { const updateSub = new Parse.Object('contracts_Subscriptions'); updateSub.id = resSub.id; updateSub.increment('UsersCount', 1); - updateSub.save(null, { useMasterKey: true }); + await updateSub.save(null, { useMasterKey: true }); } else { const addSub = new Parse.Object('contracts_Subscriptions'); addSub.set('UsersCount', 1); @@ -33,7 +33,7 @@ async function ExtUserAftersave(request) { className: 'partners_Tenant', objectId: extUser.get('TenantId').id, }); - addSub.save(null, { useMasterKey: true }); + await addSub.save(null, { useMasterKey: true }); } } } catch (err) { diff --git a/apps/OpenSignServer/package-lock.json b/apps/OpenSignServer/package-lock.json index 641e91475..de0053f96 100644 --- a/apps/OpenSignServer/package-lock.json +++ b/apps/OpenSignServer/package-lock.json @@ -16,7 +16,7 @@ "@signpdf/signer-p12": "^3.2.4", "@signpdf/signpdf": "^3.2.4", "aws-sdk": "^2.1681.0", - "axios": "^1.7.4", + "axios": "^1.7.5", "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.19.2", @@ -25,7 +25,7 @@ "googleapis": "^140.0.1", "jsonschema": "^1.4.1", "mailgun.js": "^10.2.3", - "mongoose": "^8.5.3", + "mongoose": "^8.5.4", "multer": "^1.4.5-lts.1", "multer-s3": "^3.0.1", "node-forge": "^1.3.1", @@ -35,12 +35,12 @@ "parse-server": "^7.2.0", "parse-server-api-mail-adapter": "^4.0.0", "pdf-lib": "^1.17.1", - "posthog-node": "^4.0.1", + "posthog-node": "^4.1.1", "ws": "^8.18.0" }, "devDependencies": { "@babel/eslint-parser": "^7.25.1", - "eslint": "^9.9.0", + "eslint": "^9.9.1", "jasmine": "^5.2.0", "mongodb-runner": "^5.6.5", "nodemon": "^3.1.4", @@ -1624,9 +1624,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", - "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dependencies": { "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", @@ -1670,9 +1670,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz", - "integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -4162,9 +4162,9 @@ "integrity": "sha512-u5w79Rd7SU4JaIlA/zFqG+gOiuq25q5VLyZ8E+ijJeILuTxVzZgp2CaGw/UTw6pXYN9XMO9yiqj/nEHmhTG5CA==" }, "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz", + "integrity": "sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -5394,15 +5394,15 @@ } }, "node_modules/eslint": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.0.tgz", - "integrity": "sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz", + "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.1", + "@eslint/config-array": "^0.18.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.9.0", + "@eslint/js": "9.9.1", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -7927,9 +7927,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -8228,9 +8228,9 @@ } }, "node_modules/mongoose": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.3.tgz", - "integrity": "sha512-OubSDbsAclDFGHjV82MsKyIGQWFc42Ot1l+0dhRS6U9xODM7rm/ES/WpOQd8Ds9j0Mx8QzxZtrSCnBh6o9wUqw==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.4.tgz", + "integrity": "sha512-nG3eehhWf9l1q80WuHvp5DV+4xDNFpDWLE5ZgcFD5tslUV2USJ56ogun8gaZ62MKAocJnoStjAdno08b8U57hg==", "dependencies": { "bson": "^6.7.0", "kareem": "2.6.3", @@ -10095,11 +10095,11 @@ } }, "node_modules/posthog-node": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-4.0.1.tgz", - "integrity": "sha512-rtqm2h22QxLGBrW2bLYzbRhliIrqgZ0k+gF0LkQ1SNdeD06YE5eilV0MxZppFSxC8TfH0+B0cWCuebEnreIDgQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-4.1.1.tgz", + "integrity": "sha512-hva26cNSz62H76blhWUF8mZmE3Q81KTrkkpHEZlD00qDov/phLQCrKQnxwjiAN3yI9pv/0/uwte6Gluy1xBmUA==", "dependencies": { - "axios": "^1.6.2", + "axios": "^1.7.4", "rusha": "^0.8.14" }, "engines": { diff --git a/apps/OpenSignServer/package.json b/apps/OpenSignServer/package.json index b09e006fa..4ec91fff2 100644 --- a/apps/OpenSignServer/package.json +++ b/apps/OpenSignServer/package.json @@ -25,7 +25,7 @@ "@signpdf/signer-p12": "^3.2.4", "@signpdf/signpdf": "^3.2.4", "aws-sdk": "^2.1681.0", - "axios": "^1.7.4", + "axios": "^1.7.5", "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.19.2", @@ -34,7 +34,7 @@ "googleapis": "^140.0.1", "jsonschema": "^1.4.1", "mailgun.js": "^10.2.3", - "mongoose": "^8.5.3", + "mongoose": "^8.5.4", "multer": "^1.4.5-lts.1", "multer-s3": "^3.0.1", "node-forge": "^1.3.1", @@ -44,13 +44,13 @@ "parse-server": "^7.2.0", "parse-server-api-mail-adapter": "^4.0.0", "pdf-lib": "^1.17.1", - "posthog-node": "^4.0.1", + "posthog-node": "^4.1.1", "ws": "^8.18.0" }, "type": "module", "devDependencies": { "@babel/eslint-parser": "^7.25.1", - "eslint": "^9.9.0", + "eslint": "^9.9.1", "jasmine": "^5.2.0", "mongodb-runner": "^5.6.5", "nodemon": "^3.1.4", diff --git a/package-lock.json b/package-lock.json index 05f399c8c..e1ebfdd1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,15 +15,15 @@ } }, "node_modules/ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, "dependencies": { - "type-fest": "^1.0.2" + "environment": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -78,31 +78,31 @@ } }, "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "dependencies": { - "restore-cursor": "^4.0.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, "dependencies": { "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" + "string-width": "^7.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -115,12 +115,12 @@ "dev": true }, "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/cross-spawn": { @@ -138,9 +138,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -154,17 +154,23 @@ } } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/eventemitter3": { "version": "5.0.1", @@ -207,6 +213,18 @@ "node": ">=8" } }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", @@ -283,30 +301,33 @@ "dev": true }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lint-staged": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.1.0.tgz", - "integrity": "sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.9.tgz", + "integrity": "sha512-BZAt8Lk3sEnxw7tfxM7jeZlPRuT4M68O0/CwZhhaw6eeWu0Lz5eERE3m386InivXB64fp/mDID452h48tvKlRQ==", "dev": true, "dependencies": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "2.1.0", - "listr2": "7.0.2", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" + "chalk": "~5.3.0", + "commander": "~12.1.0", + "debug": "~4.3.6", + "execa": "~8.0.1", + "lilconfig": "~3.1.2", + "listr2": "~8.2.4", + "micromatch": "~4.0.7", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.5.0" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -319,41 +340,72 @@ } }, "node_modules/listr2": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-7.0.2.tgz", - "integrity": "sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", "dev": true, "dependencies": { - "cli-truncate": "^3.1.0", + "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", - "log-update": "^5.0.1", - "rfdc": "^1.3.0", - "wrap-ansi": "^8.1.0" + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" } }, "node_modules/log-update": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", - "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "dependencies": { - "ansi-escapes": "^5.0.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^5.0.0", - "strip-ansi": "^7.0.1", - "wrap-ansi": "^8.0.1" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -361,12 +413,12 @@ "dev": true }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -385,6 +437,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -482,55 +546,40 @@ } }, "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "mimic-function": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, "node_modules/shebang-command": { @@ -592,17 +641,17 @@ } }, "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -647,18 +696,6 @@ "node": ">=8.0" } }, - "node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -675,27 +712,30 @@ } }, "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" }