diff --git a/knip.json b/knip.json index efdded2b..5a87f1f6 100644 --- a/knip.json +++ b/knip.json @@ -16,6 +16,9 @@ "entry": ["src/index.ts"], "project": ["src/**/*.{ts,js}"] }, - "v6y-libs/*": {} + "v6y-libs/*": { + "entry": ["src/index.ts"], + "project": ["src/**/*.{ts,tsx,js,jsx}"] + } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7fbc08eb..b3012b5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1031,9 +1031,6 @@ importers: v6y-libs/core-logic: dependencies: - '@sequelize/core': - specifier: '=7.0.0-alpha.43' - version: 7.0.0-alpha.43 '@types/adm-zip': specifier: '=0.5.7' version: 0.5.7 @@ -1064,9 +1061,6 @@ importers: axios: specifier: '=1.12.0' version: 1.12.0 - axios-retry: - specifier: '=4.5.0' - version: 4.5.0(axios@1.12.0) bcrypt: specifier: '=6.0.0' version: 6.0.0 @@ -1100,9 +1094,6 @@ importers: lodash: specifier: '=4.17.21' version: 4.17.21 - morgan: - specifier: '=1.10.0' - version: 1.10.0 package-manager-detector: specifier: '=1.2.0' version: 1.2.0 @@ -1127,9 +1118,6 @@ importers: spdy: specifier: '=4.0.2' version: 4.0.2 - superagent: - specifier: '=10.1.1' - version: 10.1.1 unixify: specifier: '=1.0.0' version: 1.0.0 @@ -1139,16 +1127,10 @@ importers: winston-daily-rotate-file: specifier: '=5.0.0' version: 5.0.0(winston@3.17.0) - winston-transport: - specifier: '=4.9.0' - version: 4.9.0 devDependencies: '@eslint/js': specifier: '=10.0.1' version: 10.0.1(eslint@10.0.1(jiti@2.6.1)) - '@trivago/prettier-plugin-sort-imports': - specifier: '=6.0.0' - version: 6.0.0(@vue/compiler-sfc@3.5.13)(prettier@3.8.1) '@types/bcrypt': specifier: '=6.0.0' version: 6.0.0 @@ -1167,18 +1149,15 @@ importers: '@vitest/ui': specifier: '=4.0.14' version: 4.0.14(vitest@3.0.5) - chai: - specifier: '=6.2.1' - version: 6.2.1 eslint: specifier: '=10.0.1' version: 10.0.1(jiti@2.6.1) eslint-config-prettier: specifier: '=10.0.1' version: 10.0.1(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-prettier: - specifier: '=5.2.1' - version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@10.0.1(eslint@10.0.1(jiti@2.6.1)))(eslint@10.0.1(jiti@2.6.1))(prettier@3.8.1) + jsdom: + specifier: '=25.0.1' + version: 25.0.1 sequelize-mock: specifier: '=0.10.2' version: 0.10.2 @@ -1190,7 +1169,7 @@ importers: version: 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.7.3) vitest: specifier: '=3.0.5' - version: 3.0.5(@types/debug@4.1.12)(@types/node@25.2.3)(@vitest/ui@4.0.14)(jsdom@29.0.1)(lightningcss@1.31.1)(msw@2.12.10(@types/node@25.2.3)(typescript@5.7.3)) + version: 3.0.5(@types/debug@4.1.12)(@types/node@25.2.3)(@vitest/ui@4.0.14)(jsdom@25.0.1)(lightningcss@1.31.1)(msw@2.12.10(@types/node@25.2.3)(typescript@5.7.3)) v6y-libs/ui-kit: dependencies: @@ -1706,6 +1685,9 @@ packages: resolution: {integrity: sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==} engines: {node: '>=14'} + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@asamuzakjp/css-color@5.0.1': resolution: {integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -2458,10 +2440,21 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + '@csstools/color-helpers@6.0.2': resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} engines: {node: '>=20.19.0'} + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-calc@3.1.1': resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} engines: {node: '>=20.19.0'} @@ -2469,6 +2462,13 @@ packages: '@csstools/css-parser-algorithms': ^4.0.0 '@csstools/css-tokenizer': ^4.0.0 + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-color-parser@4.0.2': resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==} engines: {node: '>=20.19.0'} @@ -2476,6 +2476,12 @@ packages: '@csstools/css-parser-algorithms': ^4.0.0 '@csstools/css-tokenizer': ^4.0.0 + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms@4.0.0': resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} engines: {node: '>=20.19.0'} @@ -2490,6 +2496,10 @@ packages: css-tree: optional: true + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + '@csstools/css-tokenizer@4.0.0': resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} engines: {node: '>=20.19.0'} @@ -5878,10 +5888,6 @@ packages: resolution: {integrity: sha512-uLfgBi+7IBNay8ECBO2mVMGZAc1VgZWEChxm4lv+TobGdG82LnXMjuNGo/BSSZZL4UmkWhxEHP2f5ziLNwGWMA==} hasBin: true - basic-auth@2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} - basic-ftp@5.0.5: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} @@ -6395,6 +6401,10 @@ packages: css.escape@1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} + engines: {node: '>=18'} + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -6409,6 +6419,10 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + data-urls@7.0.0: resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -7751,6 +7765,10 @@ packages: hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + html-encoding-sniffer@6.0.0: resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -7849,6 +7867,10 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} engines: {node: '>=0.10.0'} @@ -8323,6 +8345,15 @@ packages: resolution: {integrity: sha512-AzJlSLvKtXYkQm93DKE1cRN3rf6pkpv3fm5TVuvECwoqljQlCM/56ujHn9xPcE7wyUnH5+yHr7tcTiveIoMBoQ==} hasBin: true + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + jsdom@29.0.1: resolution: {integrity: sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} @@ -9016,10 +9047,6 @@ packages: moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - morgan@1.10.0: - resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} - engines: {node: '>= 0.8.0'} - mpath@0.9.0: resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==} engines: {node: '>=4.0.0'} @@ -9250,6 +9277,9 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + nwsapi@2.2.23: + resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + nx@22.0.2: resolution: {integrity: sha512-cQD3QqZDPJMnvE4UGmVwCc6l7ll+u8a93brIAOujOxocyMNARXzyVub8Uxqy0QSr2ayFGmEINb6BJvY+EooT5Q==} hasBin: true @@ -9308,10 +9338,6 @@ packages: obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -9458,6 +9484,9 @@ packages: parse-statements@1.0.11: resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + parse5@8.0.0: resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} @@ -10460,6 +10489,12 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} + rrweb-cssom@0.7.1: + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} + + rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} + run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -11084,11 +11119,6 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - superagent@10.1.1: - resolution: {integrity: sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==} - engines: {node: '>=14.18.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net - superagent@9.0.2: resolution: {integrity: sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==} engines: {node: '>=14.18.0'} @@ -11231,6 +11261,9 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + tldts-core@7.0.23: resolution: {integrity: sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==} @@ -11240,6 +11273,10 @@ packages: tldts-icann@7.0.23: resolution: {integrity: sha512-LMc6V1KOHFjKDU8wyDsIEJdV8o2bpc2OaYw2NxncJB2oZxJMPpiNVAbiu1HnqsUy81fkK1QWwFztVqY81hUFEg==} + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + tldts@7.0.23: resolution: {integrity: sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==} hasBin: true @@ -11292,6 +11329,10 @@ packages: resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} hasBin: true + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} + tough-cookie@6.0.0: resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==} engines: {node: '>=16'} @@ -11805,10 +11846,19 @@ packages: engines: {node: '>= 10.13.0'} hasBin: true + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + whatwg-mimetype@5.0.0: resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} engines: {node: '>=20'} @@ -12354,6 +12404,14 @@ snapshots: '@apollo/utils.withrequired@2.0.1': {} + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 + '@asamuzakjp/css-color@5.0.1': dependencies: '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) @@ -13507,13 +13565,27 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@csstools/color-helpers@5.1.0': {} + '@csstools/color-helpers@6.0.2': {} + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/color-helpers': 6.0.2 @@ -13521,6 +13593,10 @@ snapshots: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-tokenizer': 4.0.0 @@ -13529,6 +13605,8 @@ snapshots: optionalDependencies: css-tree: 3.2.1 + '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-tokenizer@4.0.0': {} '@ctrl/tinycolor@3.6.1': {} @@ -17196,10 +17274,6 @@ snapshots: baseline-browser-mapping@2.8.10: {} - basic-auth@2.0.1: - dependencies: - safe-buffer: 5.1.2 - basic-ftp@5.0.5: {} bcrypt@6.0.0: @@ -17740,6 +17814,11 @@ snapshots: css.escape@1.5.1: {} + cssstyle@4.6.0: + dependencies: + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 + csstype@3.2.3: {} damerau-levenshtein@1.0.8: {} @@ -17748,6 +17827,11 @@ snapshots: data-uri-to-buffer@6.0.2: {} + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + data-urls@7.0.0: dependencies: whatwg-mimetype: 5.0.0 @@ -19496,6 +19580,10 @@ snapshots: readable-stream: 2.3.8 wbuf: 1.7.3 + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + html-encoding-sniffer@6.0.0: dependencies: '@exodus/bytes': 1.15.0 @@ -19627,6 +19715,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + iconv-lite@0.7.0: dependencies: safer-buffer: 2.1.2 @@ -20117,6 +20209,34 @@ snapshots: gitignore-to-glob: 0.3.0 jscpd-sarif-reporter: 4.0.3 + jsdom@25.0.1: + dependencies: + cssstyle: 4.6.0 + data-urls: 5.0.0 + decimal.js: 10.6.0 + form-data: 4.0.4 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.23 + parse5: 7.3.0 + rrweb-cssom: 0.7.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.19.0 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + jsdom@29.0.1: dependencies: '@asamuzakjp/css-color': 5.0.1 @@ -20881,16 +21001,6 @@ snapshots: moo@0.5.2: {} - morgan@1.10.0: - dependencies: - basic-auth: 2.0.1 - debug: 2.6.9 - depd: 2.0.0 - on-finished: 2.3.0 - on-headers: 1.0.2 - transitivePeerDependencies: - - supports-color - mpath@0.9.0: {} mquery@6.0.0: {} @@ -21130,6 +21240,8 @@ snapshots: dependencies: path-key: 4.0.0 + nwsapi@2.2.23: {} + nx@22.0.2(@swc-node/register@1.9.2(@swc/core@1.15.18)(@swc/types@0.1.25)(typescript@5.7.3))(@swc/core@1.15.18): dependencies: '@napi-rs/wasm-runtime': 0.2.4 @@ -21237,10 +21349,6 @@ snapshots: obuf@1.1.2: {} - on-finished@2.3.0: - dependencies: - ee-first: 1.1.1 - on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -21449,6 +21557,10 @@ snapshots: parse-statements@1.0.11: {} + parse5@7.3.0: + dependencies: + entities: 6.0.1 + parse5@8.0.0: dependencies: entities: 6.0.1 @@ -22618,6 +22730,10 @@ snapshots: transitivePeerDependencies: - supports-color + rrweb-cssom@0.7.1: {} + + rrweb-cssom@0.8.0: {} + run-async@2.4.1: {} run-parallel@1.2.0: @@ -23396,20 +23512,6 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - superagent@10.1.1: - dependencies: - component-emitter: 1.3.1 - cookiejar: 2.1.4 - debug: 4.4.0(supports-color@5.5.0) - fast-safe-stringify: 2.1.1 - form-data: 4.0.4 - formidable: 3.5.2 - methods: 1.1.2 - mime: 2.6.0 - qs: 6.14.0 - transitivePeerDependencies: - - supports-color - superagent@9.0.2: dependencies: component-emitter: 1.3.1 @@ -23558,6 +23660,8 @@ snapshots: tinyspy@3.0.2: {} + tldts-core@6.1.86: {} + tldts-core@7.0.23: {} tldts-core@7.0.27: {} @@ -23566,6 +23670,10 @@ snapshots: dependencies: tldts-core: 7.0.23 + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 + tldts@7.0.23: dependencies: tldts-core: 7.0.23 @@ -23606,6 +23714,10 @@ snapshots: touch@3.1.1: {} + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.86 + tough-cookie@6.0.0: dependencies: tldts: 7.0.23 @@ -24181,6 +24293,44 @@ snapshots: - supports-color - terser + vitest@3.0.5(@types/debug@4.1.12)(@types/node@25.2.3)(@vitest/ui@4.0.14)(jsdom@25.0.1)(lightningcss@1.31.1)(msw@2.12.10(@types/node@25.2.3)(typescript@5.7.3)): + dependencies: + '@vitest/expect': 3.0.5 + '@vitest/mocker': 3.0.5(msw@2.12.10(@types/node@25.2.3)(typescript@5.7.3))(vite@5.4.14(@types/node@25.2.3)(lightningcss@1.31.1)) + '@vitest/pretty-format': 3.0.7 + '@vitest/runner': 3.0.5 + '@vitest/snapshot': 3.0.5 + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 + chai: 5.1.2 + debug: 4.4.3 + expect-type: 1.1.0 + magic-string: 0.30.19 + pathe: 2.0.3 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 5.4.14(@types/node@25.2.3)(lightningcss@1.31.1) + vite-node: 3.0.5(@types/node@25.2.3)(lightningcss@1.31.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/debug': 4.1.12 + '@types/node': 25.2.3 + '@vitest/ui': 4.0.14(vitest@3.0.5) + jsdom: 25.0.1 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vitest@3.0.5(@types/debug@4.1.12)(@types/node@25.2.3)(@vitest/ui@4.0.14)(jsdom@29.0.1)(lightningcss@1.31.1)(msw@2.12.10(@types/node@25.2.3)(typescript@5.7.3)): dependencies: '@vitest/expect': 3.0.5 @@ -24274,8 +24424,14 @@ snapshots: - bufferutil - utf-8-validate + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-mimetype@3.0.0: {} + whatwg-mimetype@4.0.0: {} + whatwg-mimetype@5.0.0: {} whatwg-url@14.2.0: diff --git a/v6y-apps/bff/src/resolvers/account/AccountMutations.ts b/v6y-apps/bff/src/resolvers/account/AccountMutations.ts index 86e0dd18..4c32f455 100644 --- a/v6y-apps/bff/src/resolvers/account/AccountMutations.ts +++ b/v6y-apps/bff/src/resolvers/account/AccountMutations.ts @@ -5,8 +5,8 @@ import { AccountUpdatePasswordType, AppLogger, SearchQueryType, + hashPassword, } from '@v6y/core-logic'; -import { hashPassword } from '@v6y/core-logic/src/core/PasswordUtils.ts'; /** * Create or edit account diff --git a/v6y-apps/bff/src/resolvers/account/AccountQueries.ts b/v6y-apps/bff/src/resolvers/account/AccountQueries.ts index bf8a2918..615171a9 100644 --- a/v6y-apps/bff/src/resolvers/account/AccountQueries.ts +++ b/v6y-apps/bff/src/resolvers/account/AccountQueries.ts @@ -5,8 +5,8 @@ import { AppLogger, SearchQueryType, generateAuthenticationToken, + validatePassword, } from '@v6y/core-logic'; -import { validatePassword } from '@v6y/core-logic/src/core/PasswordUtils.ts'; /** * Fetch the Account details by parameters diff --git a/v6y-libs/core-logic/package.json b/v6y-libs/core-logic/package.json index 39719c31..2786c8fe 100644 --- a/v6y-libs/core-logic/package.json +++ b/v6y-libs/core-logic/package.json @@ -12,6 +12,19 @@ "type": "git", "url": "https://github.com/ekino/v6y" }, + "knip": { + "entry": [ + "src/index.ts", + "eslint.config.mjs", + "vitest.config.mjs" + ], + "project": [ + "src/**/*.{ts,tsx,js,jsx}", + "*.config.mjs" + ], + "ignoreDependencies": ["pg", "pg-hstore"], + "ignoreBinaries": ["prettier"] + }, "scripts": { "build:tsc": "tsc --project ./tsconfig.json", "check:tsc": "tsc --noEmit --project ./tsconfig.json", @@ -27,25 +40,22 @@ }, "devDependencies": { "@eslint/js": "=10.0.1", - "@trivago/prettier-plugin-sort-imports": "=6.0.0", "@types/bcrypt": "=6.0.0", "@types/jsonwebtoken": "=9.0.7", "@types/passport": "=1.0.17", "@types/passport-jwt": "=4.0.1", "@vitest/coverage-v8": "=3.0.5", "@vitest/ui": "=4.0.14", - "chai": "=6.2.1", "eslint": "=10.0.1", "eslint-config-prettier": "=10.0.1", - "eslint-plugin-prettier": "=5.2.1", "globals": "=16.4.0", + "jsdom": "=25.0.1", "sequelize-mock": "=0.10.2", "typescript": "=5.7.3", "typescript-eslint": "=8.56.0", "vitest": "=3.0.5" }, "dependencies": { - "@sequelize/core": "=7.0.0-alpha.43", "@types/adm-zip": "=0.5.7", "@types/cors": "=2.8.17", "@types/file-saver": "=2.0.7", @@ -56,7 +66,6 @@ "@types/unixify": "=1.0.2", "adm-zip": "=0.5.16", "axios": "=1.13.5", - "axios-retry": "=4.5.0", "bcrypt": "=6.0.0", "compare-versions": "=6.1.1", "cors": "=2.8.5", @@ -68,7 +77,6 @@ "json-2-csv": "=5.5.7", "jsonwebtoken": "=9.0.2", "lodash": "=4.17.23", - "morgan": "=1.10.0", "package-manager-detector": "=1.2.0", "passport": "=0.7.0", "passport-jwt": "=4.0.1", @@ -77,10 +85,8 @@ "semver": "=7.6.3", "sequelize": "=6.37.8", "spdy": "=4.0.2", - "superagent": "=10.1.1", "unixify": "=1.0.0", "winston": "=3.17.0", - "winston-daily-rotate-file": "=5.0.0", - "winston-transport": "=4.9.0" + "winston-daily-rotate-file": "=5.0.0" } } diff --git a/v6y-libs/core-logic/src/index.ts b/v6y-libs/core-logic/src/index.ts index 9746ddf4..82d24f4f 100644 --- a/v6y-libs/core-logic/src/index.ts +++ b/v6y-libs/core-logic/src/index.ts @@ -2,6 +2,7 @@ import MonitoringApi from './apis/MonitoringApi.ts'; import RepositoryApi from './apis/RepositoryApi.ts'; import AppLogger from './core/AppLogger.ts'; import AuditUtils from './core/AuditUtils.ts'; +import { hashPassword, validatePassword } from './core/PasswordUtils.ts'; import PerformancesUtils from './core/PerformancesUtils.ts'; import SemverUtils from './core/SemverUtils.ts'; import ServerUtils from './core/ServerUtils.ts'; @@ -43,6 +44,8 @@ export { AuditUtils, WorkerHelper, ZipUtils, + hashPassword, + validatePassword, ApplicationProvider, KeywordProvider, DataBaseManager,