diff --git a/.circleci/config.yml b/.circleci/config.yml index 9665967b9..5fca5c203 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -90,6 +90,34 @@ jobs: command: yarn add -D @nestjs/{common,core,platform-express,testing}@^8.0.0 - *run-integration + integration_tests_node_18_nestjs_9xx: + working_directory: ~/nest + docker: + - image: cimg/node:18.12.1 + steps: + - checkout + - *update-npm + - *install-yarn + - *install-deps + - run: + name: Install nestjs 9.x + command: yarn add -D @nestjs/{common,core,platform-express,testing}@^9.0.0 + - *run-integration + + integration_tests_node_18_nestjs_10xx: + working_directory: ~/nest + docker: + - image: cimg/node:18.12.1 + steps: + - checkout + - *update-npm + - *install-yarn + - *install-deps + - run: + name: Install nestjs 10.x + command: yarn add -D @nestjs/{common,core,platform-express,testing}@^10.0.0 + - *run-integration + integration_tests_node_18_rxjs_6xx: working_directory: ~/nest docker: @@ -103,11 +131,38 @@ jobs: name: Install rxjs 6.x command: yarn add -D rxjs@^6.0.0 - *run-integration + + integration_tests_node_20: + working_directory: ~/nest + docker: + - image: cimg/node:20.8.1 + steps: + - checkout + - *update-npm + - *install-yarn + - *install-deps + - *run-lint + - *run-integration + + + integration_tests_node_20_nestjs_10xx: + working_directory: ~/nest + docker: + - image: cimg/node:20.8.1 + steps: + - checkout + - *update-npm + - *install-yarn + - *install-deps + - run: + name: Install nestjs 10.x + command: yarn add -D @nestjs/{common,core,platform-express,testing}@^10.0.0 + - *run-integration coverage: working_directory: ~/nest docker: - - image: cimg/node:18.12.1 + - image: cimg/node:20.8.1 steps: - checkout - *update-npm @@ -128,6 +183,11 @@ workflows: - integration_tests_node_18 - integration_tests_node_18_nestjs_7xx - integration_tests_node_18_rxjs_6xx + - integration_tests_node_18_nestjs_9xx + - integration_tests_node_18_nestjs_10xx + - integration_tests_node_20 + - integration_tests_node_20_nestjs_10xx + coverage: jobs: - coverage diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index dfc63479d..9f96278ef 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -18,7 +18,7 @@ jobs: - name: setup node uses: actions/setup-node@v3 with: - node-version: "18" + node-version: "20" # - name: publish version # id: publish_version diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 42ae949b5..134d95c10 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -18,6 +18,7 @@ jobs: - "14" - "16" - "18" + - "20" runs-on: ubuntu-latest name: Test on node ${{ matrix.node }} @@ -67,6 +68,8 @@ jobs: supported: - "@nestjs/{common,core,platform-express,testing}@^7.0.0" - "@nestjs/{common,core,platform-express,testing}@^8.0.0" + - "@nestjs/{common,core,platform-express,testing}@^9.0.0" + - "@nestjs/{common,core,platform-express,testing}@^10.0.0" - rxjs@^6.0.0 name: Support for ${{ matrix.supported }} diff --git a/package.json b/package.json index 8eee31700..48bf6497c 100644 --- a/package.json +++ b/package.json @@ -60,10 +60,10 @@ "@commitlint/prompt-cli": "17.3.0", "@compodoc/compodoc": "1.1.19", "@faker-js/faker": "7.6.0", - "@nestjs/common": "9.2.1", - "@nestjs/core": "9.2.1", - "@nestjs/platform-express": "9.2.1", - "@nestjs/testing": "9.2.1", + "@nestjs/common": "10.2.7", + "@nestjs/core": "10.2.7", + "@nestjs/platform-express": "10.2.7", + "@nestjs/testing": "10.2.7", "@release-it/conventional-changelog": "5.1.1", "@types/jest": "29.2.4", "@types/nock": "11.1.0", @@ -90,12 +90,12 @@ "typescript": "4.9.4" }, "engines": { - "node": "^14.0.0 || >=16.0.0 || ^18.0.0" + "node": "^14.0.0 || >=16.0.0 || ^18.0.0 || ^20.0.0" }, "peerDependencies": { - "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0", + "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0", "got": "^11.8.6", "reflect-metadata": "^0.1.13", "rxjs": "^6.0.0 || ^7.0.0" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 312527048..5d0c73832 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2830,45 +2830,49 @@ resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== -"@nestjs/common@9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-9.2.1.tgz#24de19ee85a8f1747288980fe517b12753cf66ea" - integrity sha512-nZuo3oDsSSlC5mti/M2aCWTEIfHPGDXmBwWgPeCpRbrNz3IWd109rkajll+yxgidVjznAdBS9y00JkAVJblNYw== +"@lukeed/csprng@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@lukeed/csprng/-/csprng-1.1.0.tgz#1e3e4bd05c1cc7a0b2ddbd8a03f39f6e4b5e6cfe" + integrity sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA== + +"@nestjs/common@10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.2.7.tgz#339db2efa33d3822dd81d2993bd44b538a7451b6" + integrity sha512-cUtCRXiUstDmh4bSBhVbq4cI439Gngp4LgLGLBmd5dqFQodfXKnSD441ldYfFiLz4rbUsnoMJz/8ZjuIEI+B7A== dependencies: + uid "2.0.2" iterare "1.2.1" - tslib "2.4.1" - uuid "9.0.0" + tslib "2.6.2" -"@nestjs/core@9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-9.2.1.tgz#598e51a421a0aaafc568c1a02499f7c1f9491caf" - integrity sha512-a9GkXuu8uXgNgCVW+17iI8kLCltO+HwHpU2IhR+32JKnN2WEQ1YEWU4t3GJ2MNq44YkjIw9zrKvFkjJBlYrNbQ== +"@nestjs/core@10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-10.2.7.tgz#26ca5cc63504b54a08c4cdc6da9300c9b8904fde" + integrity sha512-5GSu53QUUcwX17sNmlJPa1I0wIeAZOKbedyVuQx0ZAwWVa9g0wJBbsNP+R4EJ+j5Dkdzt/8xkiZvnKt8RFRR8g== dependencies: + uid "2.0.2" "@nuxtjs/opencollective" "0.3.2" fast-safe-stringify "2.1.1" iterare "1.2.1" - object-hash "3.0.0" path-to-regexp "3.2.0" - tslib "2.4.1" - uuid "9.0.0" + tslib "2.6.2" -"@nestjs/platform-express@9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-9.2.1.tgz#74b88a531239eaee3fe23af2f2912ebef313866f" - integrity sha512-7PecaXt8lrdS1p6Vb1X/am3GGv+EO1VahyDzaEGOK6C0zwhc0VPfLtwihkjjfhS6BjpRIXXgviwEjONUvxVZnA== +"@nestjs/platform-express@10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-10.2.7.tgz#b2ef2df01c0c757a3d356659460563a5246e7d0f" + integrity sha512-p+kp6aJtkgAdVpUrCVmM6MKtOvjsbt7QofBiZMidjYesZkMeG5gZ1D2SK8XzvQ8VXHJfFgEdY2xcKGB+wJLOYQ== dependencies: - body-parser "1.20.1" + body-parser "1.20.2" cors "2.8.5" express "4.18.2" multer "1.4.4-lts.1" - tslib "2.4.1" + tslib "2.6.2" -"@nestjs/testing@9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-9.2.1.tgz#2a3f64214d58ec4ab878862395407947671e4ece" - integrity sha512-lemXZdRSuqoZ87l0orCrS/c7gqwxeduIFOd21g9g2RUeQ4qlWPegbQDKASzbfC28klPyrgJLW4MNq7uv2JwV8w== +"@nestjs/testing@10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-10.2.7.tgz#50408ccb4c809d216a12d60ac7932fd6ad7fedf4" + integrity sha512-d2SIqiJIf/7NSILeNNWSdRvTTpHSouGgisGHwf5PVDC7z4/yXZw/wPO9eJhegnxFlqk6n2LW4QBTmMzbqjAfHA== dependencies: - tslib "2.4.1" + tslib "2.6.2" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -4486,6 +4490,24 @@ body-parser@1.20.1: type-is "~1.6.18" unpipe "1.0.0" +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -5168,6 +5190,11 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" @@ -9389,11 +9416,6 @@ object-assign@^4, object-assign@^4.1.1, object-assign@latest: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - object-inspect@^1.12.2, object-inspect@^1.6.0, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" @@ -10157,6 +10179,16 @@ raw-body@2.5.1, raw-body@^2.2.0: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + rc@1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -11578,6 +11610,11 @@ tslib@2.4.1, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +tslib@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tslib@^1.11.1, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -11718,6 +11755,13 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== +uid@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/uid/-/uid-2.0.2.tgz#4b5782abf0f2feeefc00fa88006b2b3b7af3e3b9" + integrity sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g== + dependencies: + "@lukeed/csprng" "^1.0.0" + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -11944,11 +11988,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"