From b590802da880172adc8b76da617ddb9e17eb98a7 Mon Sep 17 00:00:00 2001 From: Alex H Date: Fri, 23 May 2025 15:25:37 +0200 Subject: [PATCH 1/2] feat(json-api-nestjs,json-api-nestjs-microorm,json-api-nestjs-sdk,json-api-nestjs-shared,json-api-nestjs-typeorm): up nestjs --- .github/workflows/new-release.yml | 108 ++-- libs/json-api/json-api-nestjs/project.json | 23 +- package-lock.json | 559 ++++++++++++++------- package.json | 28 +- tsconfig.base.json | 1 - 5 files changed, 466 insertions(+), 253 deletions(-) diff --git a/.github/workflows/new-release.yml b/.github/workflows/new-release.yml index 93f8bcc..35a04a6 100644 --- a/.github/workflows/new-release.yml +++ b/.github/workflows/new-release.yml @@ -82,64 +82,64 @@ on: jobs: -# compute-projects: -# uses: ./.github/workflows/compute-projects.yml -# with: -# tagChoice: ${{ github.event.inputs.tagChoice }} -# project1: ${{ github.event.inputs.project1 }} -# project2: ${{ github.event.inputs.project2 }} -# project3: ${{ github.event.inputs.project3 }} -# project4: ${{ github.event.inputs.project4 }} -# -# test: -# needs: [compute-projects] -# uses: ./.github/workflows/test.yml -# with: -# mainBranch: "last-tag" -# secrets: -# NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} -# -# e2e-test: -# needs: [test] -# uses: ./.github/workflows/e2e-test.yml -# with: -# mainBranch: "last-tag" -# secrets: -# NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} -# -# build: -# needs: [test, e2e-test] -# uses: ./.github/workflows/build.yml -# with: -# mainBranch: "last-tag" -# secrets: -# NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} -# -# upload-badge: -# needs: [ test, e2e-test ] -# uses: ./.github/workflows/upload-badge.yml -# with: -# mainBranch: "last-tag" -# secrets: -# NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} -# GIST_SECRET: ${{ secrets.GIST_SECRET }} -# GIST_ID: ${{ secrets.GIST_ID }} + compute-projects: + uses: ./.github/workflows/compute-projects.yml + with: + tagChoice: ${{ github.event.inputs.tagChoice }} + project1: ${{ github.event.inputs.project1 }} + project2: ${{ github.event.inputs.project2 }} + project3: ${{ github.event.inputs.project3 }} + project4: ${{ github.event.inputs.project4 }} -# bump-version: -# needs: [build] -# uses: ./.github/workflows/bump-version.yml -# with: -# projects: ${{ needs.compute-projects.outputs.finalProjects }} -# beta-release: ${{ fromJSON(github.event.inputs.beta-release) }} -# dry-run: ${{ fromJSON(github.event.inputs.dry-run) }} -# secrets: -# NPM_TOKEN: ${{ secrets.NPM_TOKEN }} -# GITHUB_TOKEN_SECRET: ${{ secrets.GITHUB_TOKEN }} -# PAT: ${{secrets.PAT}} + test: + needs: [compute-projects] + uses: ./.github/workflows/test.yml + with: + mainBranch: "last-tag" + secrets: + NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} + + e2e-test: + needs: [test] + uses: ./.github/workflows/e2e-test.yml + with: + mainBranch: "last-tag" + secrets: + NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} + + build: + needs: [test, e2e-test] + uses: ./.github/workflows/build.yml + with: + mainBranch: "last-tag" + secrets: + NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} + + upload-badge: + needs: [ test, e2e-test ] + uses: ./.github/workflows/upload-badge.yml + with: + mainBranch: "last-tag" + secrets: + NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} + GIST_SECRET: ${{ secrets.GIST_SECRET }} + GIST_ID: ${{ secrets.GIST_ID }} + + bump-version: + needs: [build] + uses: ./.github/workflows/bump-version.yml + with: + projects: ${{ needs.compute-projects.outputs.finalProjects }} + beta-release: ${{ fromJSON(github.event.inputs.beta-release) }} + dry-run: ${{ fromJSON(github.event.inputs.dry-run) }} + secrets: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN_SECRET: ${{ secrets.GITHUB_TOKEN }} + PAT: ${{secrets.PAT}} publish: if: ${{ fromJSON(github.event.inputs.dry-run) == false }} -# needs: [bump-version] + needs: [bump-version] uses: ./.github/workflows/publish.yml secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/libs/json-api/json-api-nestjs/project.json b/libs/json-api/json-api-nestjs/project.json index dc351db..87b820d 100644 --- a/libs/json-api/json-api-nestjs/project.json +++ b/libs/json-api/json-api-nestjs/project.json @@ -5,7 +5,7 @@ "projectType": "library", "tags": ["type:lib", "lib:json-api-nestjs", "lib:json-api-nestjs", "type:publish"], "targets": { - "build": { + "build-common": { "executor": "@nx/js:tsc", "outputs": [ "{options.outputPath}" @@ -23,6 +23,27 @@ "updateBuildableProjectDepsInPackageJson": true } }, + "build": { + "executor": "nx:run-commands", + "dependsOn": [ + "build-common" + ], + "options": { + "outputPath": "dist/{projectRoot}", + "commands": [ + { + "command": "mkdir -p node_modules/@klerick && rm -rf node_modules/@klerick/json-api-nestjs", + "forwardAllArgs": false + }, + { + "command": "ln -s $(pwd)/dist/{projectRoot} node_modules/@klerick/json-api-nestjs", + "forwardAllArgs": false + } + ], + "cwd": "./", + "parallel": false + } + }, "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" diff --git a/package-lock.json b/package-lock.json index daadefb..b00c0e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,21 +18,21 @@ "@angular/platform-browser": "^19.2.1", "@angular/platform-browser-dynamic": "^19.2.1", "@angular/router": "^19.2.1", - "@mikro-orm/cli": "^6.4.3", - "@mikro-orm/core": "^6.4.3", - "@mikro-orm/migrations": "^6.4.3", - "@mikro-orm/mysql": "^6.4.3", - "@mikro-orm/nestjs": "^6.1.1", - "@mikro-orm/postgresql": "^6.4.3", - "@mikro-orm/sql-highlighter": "^1.0.1", - "@nestjs/common": "^11.0.10", - "@nestjs/core": "^11.0.10", - "@nestjs/platform-express": "11.0.10", - "@nestjs/platform-socket.io": "^11.0.10", - "@nestjs/platform-ws": "^11.0.10", - "@nestjs/swagger": "^11.0.4", + "@mikro-orm/cli": "^6.4.0", + "@mikro-orm/core": "^6.4.0", + "@mikro-orm/migrations": "^6.4.0", + "@mikro-orm/mysql": "^6.4.0", + "@mikro-orm/nestjs": "^6.1.0", + "@mikro-orm/postgresql": "^6.4.0", + "@mikro-orm/sql-highlighter": "^1.0.0", + "@nestjs/common": "^11.1.0", + "@nestjs/core": "^11.1.0", + "@nestjs/platform-express": "^11.1.0", + "@nestjs/platform-socket.io": "^11.1.0", + "@nestjs/platform-ws": "^11.1.0", + "@nestjs/swagger": "^11.2.0", "@nestjs/typeorm": "^11.0.0", - "@nestjs/websockets": "^11.0.10", + "@nestjs/websockets": "^11.1.0", "axios": "^1.6.0", "change-case-commonjs": "^5.4.4", "class-transformer": "^0.5.1", @@ -5374,10 +5374,13 @@ } }, "node_modules/@nestjs/common": { - "version": "11.0.10", - "license": "MIT", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.1.tgz", + "integrity": "sha512-crzp+1qeZ5EGL0nFTPy9NrVMAaUWewV5AwtQyv6SQ9yQPXwRl9W9hm1pt0nAtUu5QbYMbSuo7lYcF81EjM+nCA==", "dependencies": { + "file-type": "20.5.0", "iterare": "1.2.1", + "load-esm": "1.0.2", "tslib": "2.8.1", "uid": "2.0.2" }, @@ -5386,8 +5389,8 @@ "url": "https://opencollective.com/nest" }, "peerDependencies": { - "class-transformer": "*", - "class-validator": "*", + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", "reflect-metadata": "^0.1.12 || ^0.2.0", "rxjs": "^7.1.0" }, @@ -5401,9 +5404,10 @@ } }, "node_modules/@nestjs/core": { - "version": "11.0.10", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.1.tgz", + "integrity": "sha512-UFoUAgLKFT+RwHTANJdr0dF7p0qS9QjkaUPjg8aafnjM/qxxxrUVDB49nVvyMlk+Hr1+vvcNaOHbWWQBxoZcHA==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "@nuxt/opencollective": "0.4.1", "fast-safe-stringify": "2.1.1", @@ -5458,12 +5462,13 @@ } }, "node_modules/@nestjs/platform-express": { - "version": "11.0.10", - "license": "MIT", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.1.tgz", + "integrity": "sha512-IUxk380qnUtz0PCRQ5i+o9UHlGMrFzGPIJxDwyt3JZZwx2AngOlcEcm5e+7YeJQEr2QYX2QyC4tUQg0zde+D7A==", "dependencies": { "cors": "2.8.5", - "express": "5.0.1", - "multer": "1.4.5-lts.1", + "express": "5.1.0", + "multer": "1.4.5-lts.2", "path-to-regexp": "8.2.0", "tslib": "2.8.1" }, @@ -5478,7 +5483,8 @@ }, "node_modules/@nestjs/platform-express/node_modules/accepts": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" @@ -5489,7 +5495,8 @@ }, "node_modules/@nestjs/platform-express/node_modules/content-disposition": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", "dependencies": { "safe-buffer": "5.2.1" }, @@ -5499,16 +5506,18 @@ }, "node_modules/@nestjs/platform-express/node_modules/cookie-signature": { "version": "1.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "engines": { "node": ">=6.6.0" } }, "node_modules/@nestjs/platform-express/node_modules/debug": { - "version": "4.3.6", - "license": "MIT", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -5520,97 +5529,82 @@ } }, "node_modules/@nestjs/platform-express/node_modules/express": { - "version": "5.0.1", - "license": "MIT", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", "dependencies": { "accepts": "^2.0.0", - "body-parser": "^2.0.1", + "body-parser": "^2.2.0", "content-disposition": "^1.0.0", - "content-type": "~1.0.4", - "cookie": "0.7.1", + "content-type": "^1.0.5", + "cookie": "^0.7.1", "cookie-signature": "^1.2.1", - "debug": "4.3.6", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "^2.0.0", - "fresh": "2.0.0", - "http-errors": "2.0.0", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", - "methods": "~1.1.2", "mime-types": "^3.0.0", - "on-finished": "2.4.1", - "once": "1.4.0", - "parseurl": "~1.3.3", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "router": "^2.0.0", - "safe-buffer": "5.2.1", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", "send": "^1.1.0", - "serve-static": "^2.1.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "^2.0.0", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@nestjs/platform-express/node_modules/finalhandler": { - "version": "2.0.0", - "license": "MIT", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, "engines": { "node": ">= 0.8" } }, - "node_modules/@nestjs/platform-express/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@nestjs/platform-express/node_modules/finalhandler/node_modules/encodeurl": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/@nestjs/platform-express/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, "node_modules/@nestjs/platform-express/node_modules/fresh": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "engines": { "node": ">= 0.8" } }, "node_modules/@nestjs/platform-express/node_modules/media-typer": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "engines": { "node": ">= 0.8" } }, "node_modules/@nestjs/platform-express/node_modules/merge-descriptors": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "engines": { "node": ">=18" }, @@ -5619,41 +5613,63 @@ } }, "node_modules/@nestjs/platform-express/node_modules/mime-db": { - "version": "1.53.0", - "license": "MIT", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "engines": { "node": ">= 0.6" } }, "node_modules/@nestjs/platform-express/node_modules/mime-types": { - "version": "3.0.0", - "license": "MIT", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", "dependencies": { - "mime-db": "^1.53.0" + "mime-db": "^1.54.0" }, "engines": { "node": ">= 0.6" } }, + "node_modules/@nestjs/platform-express/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, "node_modules/@nestjs/platform-express/node_modules/negotiator": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "engines": { "node": ">= 0.6" } }, + "node_modules/@nestjs/platform-express/node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@nestjs/platform-express/node_modules/send": { - "version": "1.1.0", - "license": "MIT", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", "dependencies": { "debug": "^4.3.5", - "destroy": "^1.2.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", - "fresh": "^0.5.2", + "fresh": "^2.0.0", "http-errors": "^2.0.0", - "mime-types": "^2.1.35", + "mime-types": "^3.0.1", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", @@ -5663,50 +5679,24 @@ "node": ">= 18" } }, - "node_modules/@nestjs/platform-express/node_modules/send/node_modules/fresh": { - "version": "0.5.2", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@nestjs/platform-express/node_modules/send/node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@nestjs/platform-express/node_modules/send/node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@nestjs/platform-express/node_modules/send/node_modules/ms": { - "version": "2.1.3", - "license": "MIT" - }, "node_modules/@nestjs/platform-express/node_modules/serve-static": { - "version": "2.1.0", - "license": "MIT", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", - "send": "^1.0.0" + "send": "^1.2.0" }, "engines": { "node": ">= 18" } }, "node_modules/@nestjs/platform-express/node_modules/type-is": { - "version": "2.0.0", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", @@ -5717,8 +5707,9 @@ } }, "node_modules/@nestjs/platform-socket.io": { - "version": "11.0.10", - "license": "MIT", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-11.1.1.tgz", + "integrity": "sha512-Bsc8ouysUFasWiO8RKEvppqYM5LNkHfbyIJQTy3V6+PUdYhblkvmOq8QtjuHpv6DiBI4siUcxACx/90/CdXLkQ==", "dependencies": { "socket.io": "4.8.1", "tslib": "2.8.1" @@ -5734,11 +5725,12 @@ } }, "node_modules/@nestjs/platform-ws": { - "version": "11.0.10", - "license": "MIT", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/platform-ws/-/platform-ws-11.1.1.tgz", + "integrity": "sha512-3Zl7dZTcq4ML/WrlqOZzGWBO9oF0jwiGn/f1+XiDTEaX75WUGWKSaGbIaaRr0v9zSRWmP56OqaAvWm+hiJdeVg==", "dependencies": { "tslib": "2.8.1", - "ws": "8.18.0" + "ws": "8.18.2" }, "funding": { "type": "opencollective", @@ -5750,6 +5742,26 @@ "rxjs": "^7.1.0" } }, + "node_modules/@nestjs/platform-ws/node_modules/ws": { + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/@nestjs/schematics": { "version": "11.0.1", "dev": true, @@ -5840,15 +5852,16 @@ } }, "node_modules/@nestjs/swagger": { - "version": "11.0.4", - "license": "MIT", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.2.0.tgz", + "integrity": "sha512-5wolt8GmpNcrQv34tIPUtPoV1EeFbCetm40Ij3+M0FNNnf2RJ3FyWfuQvI8SBlcJyfaounYVTKzKHreFXsUyOg==", "dependencies": { "@microsoft/tsdoc": "0.15.1", "@nestjs/mapped-types": "2.1.0", "js-yaml": "4.1.0", "lodash": "4.17.21", "path-to-regexp": "8.2.0", - "swagger-ui-dist": "5.19.0" + "swagger-ui-dist": "5.21.0" }, "peerDependencies": { "@fastify/static": "^8.0.0", @@ -5908,8 +5921,9 @@ } }, "node_modules/@nestjs/websockets": { - "version": "11.0.10", - "license": "MIT", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-11.1.1.tgz", + "integrity": "sha512-gxwQoGx5bW5IvparzrX1UOGXz87eqY0fK5Y6yb14z6tSSubQTciNjCDm5osDEkRyRCG6ZB0F+eXF6dRUjwTlBQ==", "dependencies": { "iterare": "1.2.1", "object-hash": "3.0.0", @@ -8444,8 +8458,9 @@ }, "node_modules/@scarf/scarf": { "version": "1.4.0", - "hasInstallScript": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "hasInstallScript": true }, "node_modules/@schematics/angular": { "version": "19.2.1", @@ -8874,6 +8889,49 @@ "@swc/counter": "^0.1.3" } }, + "node_modules/@tokenizer/inflate": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", + "integrity": "sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==", + "dependencies": { + "debug": "^4.4.0", + "fflate": "^0.8.2", + "token-types": "^6.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@tokenizer/inflate/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@tokenizer/inflate/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "dev": true, @@ -10922,7 +10980,8 @@ }, "node_modules/append-field": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" }, "node_modules/arg": { "version": "4.1.3", @@ -11551,14 +11610,15 @@ } }, "node_modules/body-parser": { - "version": "2.1.0", - "license": "MIT", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.0", "http-errors": "^2.0.0", - "iconv-lite": "^0.5.2", + "iconv-lite": "^0.6.3", "on-finished": "^2.4.1", "qs": "^6.14.0", "raw-body": "^3.0.0", @@ -11569,8 +11629,9 @@ } }, "node_modules/body-parser/node_modules/debug": { - "version": "4.4.0", - "license": "MIT", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dependencies": { "ms": "^2.1.3" }, @@ -11584,10 +11645,11 @@ } }, "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.5.2", - "license": "MIT", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -11595,23 +11657,26 @@ }, "node_modules/body-parser/node_modules/media-typer": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/mime-db": { - "version": "1.53.0", - "license": "MIT", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "engines": { "node": ">= 0.6" } }, "node_modules/body-parser/node_modules/mime-types": { - "version": "3.0.0", - "license": "MIT", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", "dependencies": { - "mime-db": "^1.53.0" + "mime-db": "^1.54.0" }, "engines": { "node": ">= 0.6" @@ -11619,11 +11684,13 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/body-parser/node_modules/qs": { "version": "6.14.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dependencies": { "side-channel": "^1.1.0" }, @@ -11636,7 +11703,8 @@ }, "node_modules/body-parser/node_modules/raw-body": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -11647,19 +11715,10 @@ "node": ">= 0.8" } }, - "node_modules/body-parser/node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.6.3", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/body-parser/node_modules/type-is": { - "version": "2.0.0", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", @@ -11843,6 +11902,8 @@ }, "node_modules/busboy": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { "streamsearch": "^1.1.0" }, @@ -12590,10 +12651,11 @@ }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "engines": [ "node >= 0.8" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -13383,6 +13445,7 @@ }, "node_modules/destroy": { "version": "1.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.8", @@ -14712,6 +14775,11 @@ } } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "node_modules/figlet": { "version": "1.8.0", "license": "MIT", @@ -14748,6 +14816,23 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-type": { + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-20.5.0.tgz", + "integrity": "sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==", + "dependencies": { + "@tokenizer/inflate": "^0.2.6", + "strtok3": "^10.2.0", + "token-types": "^6.0.0", + "uint8array-extras": "^1.4.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -18314,6 +18399,24 @@ "@lmdb/lmdb-win32-x64": "3.2.6" } }, + "node_modules/load-esm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.2.tgz", + "integrity": "sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + }, + { + "type": "buymeacoffee", + "url": "https://buymeacoffee.com/borewit" + } + ], + "engines": { + "node": ">=13.2.0" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -18967,6 +19070,7 @@ }, "node_modules/methods": { "version": "1.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -19377,8 +19481,10 @@ } }, "node_modules/multer": { - "version": "1.4.5-lts.1", - "license": "MIT", + "version": "1.4.5-lts.2", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.2.tgz", + "integrity": "sha512-VzGiVigcG9zUAoCNU+xShztrlr1auZOlurXynNvO9GiWD1/mTBbUljOKY+qMeazBqXgRnjzeEgJI/wyjJUHg9A==", + "deprecated": "Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version.", "dependencies": { "append-field": "^1.0.0", "busboy": "^1.0.0", @@ -20897,6 +21003,18 @@ "node": ">=8" } }, + "node_modules/peek-readable": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-7.0.0.tgz", + "integrity": "sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/peek-stream": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", @@ -22080,6 +22198,7 @@ "version": "6.13.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, "dependencies": { "side-channel": "^1.0.6" }, @@ -22632,9 +22751,12 @@ } }, "node_modules/router": { - "version": "2.1.0", - "license": "MIT", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" @@ -22643,9 +22765,31 @@ "node": ">= 18" } }, + "node_modules/router/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/router/node_modules/is-promise": { "version": "4.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + }, + "node_modules/router/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/run-applescript": { "version": "7.0.0", @@ -24030,6 +24174,8 @@ }, "node_modules/streamsearch": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { "node": ">=10.0.0" } @@ -24161,6 +24307,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strtok3": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.2.2.tgz", + "integrity": "sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/style-loader": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", @@ -24353,8 +24515,9 @@ } }, "node_modules/swagger-ui-dist": { - "version": "5.19.0", - "license": "Apache-2.0", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.21.0.tgz", + "integrity": "sha512-E0K3AB6HvQd8yQNSMR7eE5bk+323AUxjtCz/4ZNKiahOlPhPJxqn3UPIGs00cyY/dhrTDJ61L7C/a8u6zhGrZg==", "dependencies": { "@scarf/scarf": "=1.4.0" } @@ -24777,6 +24940,22 @@ "node": ">=0.6" } }, + "node_modules/token-types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.0.tgz", + "integrity": "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/tough-cookie": { "version": "4.1.3", "dev": true, @@ -25174,7 +25353,8 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/typeorm": { "version": "0.3.20", @@ -25406,6 +25586,17 @@ "node": ">=8" } }, + "node_modules/uint8array-extras": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", + "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/umzug": { "version": "3.8.2", "license": "MIT", @@ -25598,6 +25789,7 @@ }, "node_modules/utils-merge": { "version": "1.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4.0" @@ -26569,6 +26761,7 @@ }, "node_modules/ws": { "version": "8.18.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" diff --git a/package.json b/package.json index 0c9d183..e7747b2 100644 --- a/package.json +++ b/package.json @@ -40,21 +40,21 @@ "@angular/platform-browser": "^19.2.1", "@angular/platform-browser-dynamic": "^19.2.1", "@angular/router": "^19.2.1", - "@mikro-orm/cli": "^6.4.3", - "@mikro-orm/core": "^6.4.3", - "@mikro-orm/migrations": "^6.4.3", - "@mikro-orm/mysql": "^6.4.3", - "@mikro-orm/nestjs": "^6.1.1", - "@mikro-orm/postgresql": "^6.4.3", - "@mikro-orm/sql-highlighter": "^1.0.1", - "@nestjs/common": "^11.0.10", - "@nestjs/core": "^11.0.10", - "@nestjs/platform-express": "11.0.10", - "@nestjs/platform-socket.io": "^11.0.10", - "@nestjs/platform-ws": "^11.0.10", - "@nestjs/swagger": "^11.0.4", + "@mikro-orm/cli": "^6.4.0", + "@mikro-orm/core": "^6.4.0", + "@mikro-orm/migrations": "^6.4.0", + "@mikro-orm/mysql": "^6.4.0", + "@mikro-orm/nestjs": "^6.1.0", + "@mikro-orm/postgresql": "^6.4.0", + "@mikro-orm/sql-highlighter": "^1.0.0", + "@nestjs/common": "^11.1.0", + "@nestjs/core": "^11.1.0", + "@nestjs/platform-express": "^11.1.0", + "@nestjs/platform-socket.io": "^11.1.0", + "@nestjs/platform-ws": "^11.1.0", + "@nestjs/swagger": "^11.2.0", "@nestjs/typeorm": "^11.0.0", - "@nestjs/websockets": "^11.0.10", + "@nestjs/websockets": "^11.1.0", "axios": "^1.6.0", "change-case-commonjs": "^5.4.4", "class-transformer": "^0.5.1", diff --git a/tsconfig.base.json b/tsconfig.base.json index a1a3c88..5afe9ed 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -15,7 +15,6 @@ "skipDefaultLibCheck": true, "baseUrl": ".", "paths": { - "@klerick/json-api-nestjs": ["dist/libs/json-api/json-api-nestjs"], "@klerick/json-api-nestjs-microorm": [ "dist/libs/json-api/json-api-nestjs-microorm" ], From 56278d8035e8b4679a42441ea25baf0dfc6d045b Mon Sep 17 00:00:00 2001 From: Alex H Date: Fri, 23 May 2025 15:51:09 +0200 Subject: [PATCH 2/2] ci: change build command --- .../json-api-nestjs-microorm/package.json | 18 ------ .../json-api-nestjs-microorm/project.json | 26 ++++++++- .../json-api/json-api-nestjs-sdk/package.json | 18 ------ .../json-api/json-api-nestjs-sdk/project.json | 3 + .../json-api-nestjs-shared/package.json | 20 +------ .../json-api-nestjs-shared/project.json | 3 + .../json-api-nestjs-typeorm/package.json | 20 +------ .../json-api-nestjs-typeorm/project.json | 26 ++++++++- libs/json-api/json-api-nestjs/package.json | 18 ------ libs/json-api/json-api-nestjs/project.json | 3 + package.json | 3 + tools/scripts/prepare-package-json.mjs | 56 +++++++++++++++++++ 12 files changed, 120 insertions(+), 94 deletions(-) create mode 100644 tools/scripts/prepare-package-json.mjs diff --git a/libs/json-api/json-api-nestjs-microorm/package.json b/libs/json-api/json-api-nestjs-microorm/package.json index 3380d59..2c9b0ed 100644 --- a/libs/json-api/json-api-nestjs-microorm/package.json +++ b/libs/json-api/json-api-nestjs-microorm/package.json @@ -1,21 +1,6 @@ { "name": "@klerick/json-api-nestjs-microorm", "version": "0.1.0-beta.1", - "license": "MIT", - "private": false, - "contributors": [ - { - "email": "klerick666@gmain.com", - "name": "Aleksandr Kharkovey" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/klerick/nestjs-json-api.git" - }, - "engines": { - "node": ">= 20.0.0" - }, "type": "commonjs", "main": "./src/index.js", "types": "./src/index.d.ts", @@ -33,8 +18,5 @@ "tslib": ">2.3.0", "reflect-metadata": "^0.1.12 || ^0.2.0", "rxjs": "^7.1.0" - }, - "publishConfig": { - "access": "public" } } diff --git a/libs/json-api/json-api-nestjs-microorm/project.json b/libs/json-api/json-api-nestjs-microorm/project.json index 1a2d4b7..61aaaeb 100644 --- a/libs/json-api/json-api-nestjs-microorm/project.json +++ b/libs/json-api/json-api-nestjs-microorm/project.json @@ -10,7 +10,7 @@ "type:publish" ], "targets": { - "build": { + "build-common": { "dependsOn": [ { "projects": [ @@ -37,6 +37,30 @@ "updateBuildableProjectDepsInPackageJson": true } }, + "build": { + "executor": "nx:run-commands", + "dependsOn": [ + "build-common" + ], + "options": { + "outputPath": "dist/{projectRoot}", + "commands": [ + { + "command": "node tools/scripts/prepare-package-json.mjs json-api-nestjs-microorm" + }, + { + "command": "mkdir -p node_modules/@klerick && rm -rf node_modules/@klerick/json-api-nestjs-microorm", + "forwardAllArgs": false + }, + { + "command": "ln -s $(pwd)/dist/{projectRoot} node_modules/@klerick/json-api-nestjs-microorm", + "forwardAllArgs": false + } + ], + "cwd": "./", + "parallel": false + } + }, "test": { "executor": "@nx/jest:jest", "outputs": [ diff --git a/libs/json-api/json-api-nestjs-sdk/package.json b/libs/json-api/json-api-nestjs-sdk/package.json index 338b837..9b56563 100644 --- a/libs/json-api/json-api-nestjs-sdk/package.json +++ b/libs/json-api/json-api-nestjs-sdk/package.json @@ -1,21 +1,6 @@ { "name": "@klerick/json-api-nestjs-sdk", "version": "10.0.0-beta.1", - "license": "MIT", - "private": false, - "contributors": [ - { - "email": "klerick666@gmain.com", - "name": "Aleksandr Kharkovey" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/klerick/nestjs-json-api.git" - }, - "engines": { - "node": ">= 20.0.0" - }, "description": "Helper for client JsonAPi Plugin for NestJs", "keywords": [ "nestjs", @@ -57,8 +42,5 @@ "./mjs/src/ngModule.d.ts" ] } - }, - "publishConfig": { - "access": "public" } } diff --git a/libs/json-api/json-api-nestjs-sdk/project.json b/libs/json-api/json-api-nestjs-sdk/project.json index 0a58414..d2f005f 100644 --- a/libs/json-api/json-api-nestjs-sdk/project.json +++ b/libs/json-api/json-api-nestjs-sdk/project.json @@ -76,6 +76,9 @@ "command": "cp dist/{projectRoot}/cjs/package.json dist/{projectRoot}/package.json", "forwardAllArgs": false }, + { + "command": "node tools/scripts/prepare-package-json.mjs json-api-nestjs-sdk" + }, { "command": "mkdir -p node_modules/@klerick && rm -rf node_modules/@klerick/json-api-nestjs-sdk", "forwardAllArgs": false diff --git a/libs/json-api/json-api-nestjs-shared/package.json b/libs/json-api/json-api-nestjs-shared/package.json index b7dbe2e..b558f2f 100644 --- a/libs/json-api/json-api-nestjs-shared/package.json +++ b/libs/json-api/json-api-nestjs-shared/package.json @@ -1,21 +1,6 @@ { "name": "@klerick/json-api-nestjs-shared", "version": "1.0.0-beta.1", - "license": "MIT", - "private": false, - "contributors": [ - { - "email": "klerick666@gmain.com", - "name": "Aleksandr Kharkovey" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/klerick/nestjs-json-api.git" - }, - "engines": { - "node": ">= 20.0.0" - }, "description": "Shared Helper for JsonApi Plugin for NestJs", "keywords": [ "nestjs", @@ -34,8 +19,5 @@ "type": "commonjs", "main": "./cjs/src/index.js", "types": "./cjs/src/index.d.ts", - "module": "./mjs/src/index.js", - "publishConfig": { - "access": "public" - } + "module": "./mjs/src/index.js" } diff --git a/libs/json-api/json-api-nestjs-shared/project.json b/libs/json-api/json-api-nestjs-shared/project.json index a49a81e..cdbecda 100644 --- a/libs/json-api/json-api-nestjs-shared/project.json +++ b/libs/json-api/json-api-nestjs-shared/project.json @@ -58,6 +58,9 @@ "command": "[ ! -f dist/{projectRoot}/cjs/package.json ] || cp dist/{projectRoot}/cjs/package.json dist/{projectRoot}/package.json", "forwardAllArgs": false }, + { + "command": "node tools/scripts/prepare-package-json.mjs json-api-nestjs-shared" + }, { "command": "mkdir -p node_modules/@klerick && rm -rf node_modules/@klerick/json-api-nestjs-shared", "forwardAllArgs": false diff --git a/libs/json-api/json-api-nestjs-typeorm/package.json b/libs/json-api/json-api-nestjs-typeorm/package.json index 4c723b1..ffe277b 100644 --- a/libs/json-api/json-api-nestjs-typeorm/package.json +++ b/libs/json-api/json-api-nestjs-typeorm/package.json @@ -1,21 +1,6 @@ { "name": "@klerick/json-api-nestjs-typeorm", "version": "0.1.0-beta.1", - "license": "MIT", - "private": false, - "contributors": [ - { - "email": "klerick666@gmain.com", - "name": "Aleksandr Kharkovey" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/klerick/nestjs-json-api.git" - }, - "engines": { - "node": ">= 20.0.0" - }, "dependencies": { "tslib": ">2.3.0", "reflect-metadata": "^0.1.12 || ^0.2.0", @@ -33,8 +18,5 @@ "typeorm", "microorm", "CRUD" - ], - "publishConfig": { - "access": "public" - } + ] } diff --git a/libs/json-api/json-api-nestjs-typeorm/project.json b/libs/json-api/json-api-nestjs-typeorm/project.json index 10a9c9b..b592262 100644 --- a/libs/json-api/json-api-nestjs-typeorm/project.json +++ b/libs/json-api/json-api-nestjs-typeorm/project.json @@ -5,7 +5,7 @@ "projectType": "library", "tags": ["type:lib", "lib:json-api-nestjs", "lib:json-api-nestjs-typeorm", "type:publish"], "targets": { - "build": { + "build-common": { "executor": "@nx/js:tsc", "outputs": ["{options.outputPath}"], "options": { @@ -19,6 +19,30 @@ "updateBuildableProjectDepsInPackageJson": true } }, + "build": { + "executor": "nx:run-commands", + "dependsOn": [ + "build-common" + ], + "options": { + "outputPath": "dist/{projectRoot}", + "commands": [ + { + "command": "node tools/scripts/prepare-package-json.mjs json-api-nestjs-typeorm" + }, + { + "command": "mkdir -p node_modules/@klerick && rm -rf node_modules/@klerick/json-api-nestjs-typeorm", + "forwardAllArgs": false + }, + { + "command": "ln -s $(pwd)/dist/{projectRoot} node_modules/@klerick/json-api-nestjs-typeorm", + "forwardAllArgs": false + } + ], + "cwd": "./", + "parallel": false + } + }, "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" diff --git a/libs/json-api/json-api-nestjs/package.json b/libs/json-api/json-api-nestjs/package.json index 315de9c..c9e4e85 100644 --- a/libs/json-api/json-api-nestjs/package.json +++ b/libs/json-api/json-api-nestjs/package.json @@ -1,21 +1,6 @@ { "name": "@klerick/json-api-nestjs", "version": "10.0.0-beta.1", - "license": "MIT", - "private": false, - "contributors": [ - { - "email": "klerick666@gmain.com", - "name": "Aleksandr Kharkovey" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/klerick/nestjs-json-api.git" - }, - "engines": { - "node": ">= 20.0.0" - }, "type": "commonjs", "description": "JsonApi Plugin for NestJs", "keywords": [ @@ -31,8 +16,5 @@ "tslib": ">2.3.0", "reflect-metadata": "^0.1.12 || ^0.2.0", "rxjs": "^7.1.0" - }, - "publishConfig": { - "access": "public" } } diff --git a/libs/json-api/json-api-nestjs/project.json b/libs/json-api/json-api-nestjs/project.json index 87b820d..daecf48 100644 --- a/libs/json-api/json-api-nestjs/project.json +++ b/libs/json-api/json-api-nestjs/project.json @@ -31,6 +31,9 @@ "options": { "outputPath": "dist/{projectRoot}", "commands": [ + { + "command": "node tools/scripts/prepare-package-json.mjs json-api-nestjs" + }, { "command": "mkdir -p node_modules/@klerick && rm -rf node_modules/@klerick/json-api-nestjs", "forwardAllArgs": false diff --git a/package.json b/package.json index e7747b2..73de074 100644 --- a/package.json +++ b/package.json @@ -140,5 +140,8 @@ "libs/microorm-database/src/lib/config-cli.ts" ], "tsConfigPath": "./libs/microorm-database/tsconfig.lib.json" + }, + "publishConfig": { + "access": "public" } } diff --git a/tools/scripts/prepare-package-json.mjs b/tools/scripts/prepare-package-json.mjs new file mode 100644 index 0000000..ec6e9e3 --- /dev/null +++ b/tools/scripts/prepare-package-json.mjs @@ -0,0 +1,56 @@ +import { execSync } from 'child_process'; +import { readFileSync, writeFileSync, existsSync, unlinkSync } from 'fs'; +import { join } from 'path'; + +import devkit from '@nx/devkit'; +const { readCachedProjectGraph, workspaceRoot } = devkit; +const [, , name] = process.argv; +const graph = readCachedProjectGraph(); +const project = graph.nodes[name]; + +const outputPath = project.data?.targets?.build?.options?.outputPath; +process.chdir(outputPath); +const sharedProperty = [ + 'license', + 'contributors', + 'repository', + 'engines', + 'private', + 'files', + 'publishConfig', +]; + +try { + const mainJson = JSON.parse( + readFileSync(join(workspaceRoot, 'package.json')).toString() + ); + const json = JSON.parse(readFileSync(`package.json`).toString()); + + for (const props of sharedProperty) { + if (!mainJson[props] || json[props]) continue; + json[props] = mainJson[props]; + } + removeDepFromOtherLib(graph, name, json); + writeFileSync(`package.json`, JSON.stringify(json, null, 2)); +} catch (e) { + console.log(e); + console.error(`Error reading package.json file from library build output.`); +} + +function removeDepFromOtherLib(graph, name, json) { + const libsName = Object.values(graph.nodes) + .filter((i) => i.data.tags.includes('type:publish')) + .map((i) => i.data.metadata.js.packageName); + + if (!('peerDependencies' in json)) return; + + json['peerDependencies'] = Object.entries(json['peerDependencies']).reduce( + (acum, [name, value]) => { + if (libsName.includes(name)) { + acum[name] = `^${value}`; + } + return acum; + }, + {} + ); +}