Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nestjs/nest
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v10.0.5
Choose a base ref
...
head repository: nestjs/nest
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v10.1.0
Choose a head ref

Commits on Jul 31, 2022

  1. Copy the full SHA
    f022a62 View commit details
  2. Copy the full SHA
    899bd93 View commit details

Commits on Jul 3, 2023

  1. chore(deps-dev): bump eslint from 8.43.0 to 8.44.0

    Bumps [eslint](https://github.com/eslint/eslint) from 8.43.0 to 8.44.0.
    - [Release notes](https://github.com/eslint/eslint/releases)
    - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
    - [Commits](eslint/eslint@v8.43.0...v8.44.0)
    
    ---
    updated-dependencies:
    - dependency-name: eslint
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 3, 2023
    Copy the full SHA
    50586d3 View commit details
  2. Copy the full SHA
    a7b440c View commit details
  3. Copy the full SHA
    510f6c7 View commit details
  4. Merge pull request #11959 from nestjs/dependabot/npm_and_yarn/eslint-…

    …8.44.0
    
    chore(deps-dev): bump eslint from 8.43.0 to 8.44.0
    kamilmysliwiec authored Jul 3, 2023
    Copy the full SHA
    db663d7 View commit details
  5. Merge pull request #11951 from nestjs/renovate/ts-jest-29.x

    chore(deps): update dependency ts-jest to v29.1.1
    kamilmysliwiec authored Jul 3, 2023
    Copy the full SHA
    c553098 View commit details
  6. Merge pull request #11941 from nestjs/renovate/typescript-eslint-mono…

    …repo
    
    chore(deps): update typescript-eslint monorepo to v5.60.1
    kamilmysliwiec authored Jul 3, 2023
    Copy the full SHA
    7ac42c0 View commit details
  7. Copy the full SHA
    9711237 View commit details
  8. Update Readme.md

    kamilmysliwiec authored Jul 3, 2023
    Copy the full SHA
    883d0fb View commit details
  9. Copy the full SHA
    23eaa2f View commit details

Commits on Jul 4, 2023

  1. chore(deps): bump fastify from 4.19.1 to 4.19.2

    Bumps [fastify](https://github.com/fastify/fastify) from 4.19.1 to 4.19.2.
    - [Release notes](https://github.com/fastify/fastify/releases)
    - [Commits](fastify/fastify@v4.19.1...v4.19.2)
    
    ---
    updated-dependencies:
    - dependency-name: fastify
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 4, 2023
    Copy the full SHA
    eed0eac View commit details
  2. chore(deps-dev): bump @typescript-eslint/eslint-plugin

    Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.60.1 to 5.61.0.
    - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
    - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
    - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.61.0/packages/eslint-plugin)
    
    ---
    updated-dependencies:
    - dependency-name: "@typescript-eslint/eslint-plugin"
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 4, 2023
    Copy the full SHA
    36be45e View commit details
  3. Merge pull request #11895 from nestjs/renovate/mysql2-3.x

    fix(deps): update dependency mysql2 to v3.4.3
    kamilmysliwiec authored Jul 4, 2023
    Copy the full SHA
    e85fa8f View commit details
  4. Merge pull request #11963 from nestjs/renovate/node-20.x

    chore(deps): update dependency @types/node to v20.3.3
    kamilmysliwiec authored Jul 4, 2023
    Copy the full SHA
    29af086 View commit details
  5. Merge pull request #11968 from nestjs/dependabot/npm_and_yarn/fastify…

    …-4.19.2
    
    chore(deps): bump fastify from 4.19.1 to 4.19.2
    kamilmysliwiec authored Jul 4, 2023
    Copy the full SHA
    edb9f84 View commit details
  6. Merge pull request #11969 from nestjs/dependabot/npm_and_yarn/typescr…

    …ipt-eslint/eslint-plugin-5.61.0
    
    chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.1 to 5.61.0
    kamilmysliwiec authored Jul 4, 2023
    Copy the full SHA
    eef6708 View commit details
  7. Copy the full SHA
    3dc9387 View commit details

Commits on Jul 5, 2023

  1. docs(): replace HTTP with HTTPS on readme

    Subin Lee committed Jul 5, 2023
    Copy the full SHA
    632b45a View commit details

Commits on Jul 6, 2023

  1. chore(deps-dev): bump core-js from 3.31.0 to 3.31.1

    Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.31.0 to 3.31.1.
    - [Release notes](https://github.com/zloirock/core-js/releases)
    - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
    - [Commits](https://github.com/zloirock/core-js/commits/v3.31.1/packages/core-js)
    
    ---
    updated-dependencies:
    - dependency-name: core-js
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 6, 2023
    Copy the full SHA
    42c2408 View commit details

Commits on Jul 7, 2023

  1. chore(deps-dev): bump mongoose from 7.3.1 to 7.3.2

    Bumps [mongoose](https://github.com/Automattic/mongoose) from 7.3.1 to 7.3.2.
    - [Release notes](https://github.com/Automattic/mongoose/releases)
    - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
    - [Commits](Automattic/mongoose@7.3.1...7.3.2)
    
    ---
    updated-dependencies:
    - dependency-name: mongoose
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 7, 2023
    Copy the full SHA
    04ac9ee View commit details

Commits on Jul 8, 2023

  1. chore(deps): bump protobufjs from 7.2.2 to 7.2.4

    Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.2 to 7.2.4.
    - [Release notes](https://github.com/protobufjs/protobuf.js/releases)
    - [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
    - [Commits](protobufjs/protobuf.js@protobufjs-v7.2.2...protobufjs-v7.2.4)
    
    ---
    updated-dependencies:
    - dependency-name: protobufjs
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 8, 2023
    Copy the full SHA
    1d7e0d0 View commit details
  2. chore(deps): bump protobufjs from 7.2.3 to 7.2.4 in /sample/04-grpc

    Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.3 to 7.2.4.
    - [Release notes](https://github.com/protobufjs/protobuf.js/releases)
    - [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
    - [Commits](protobufjs/protobuf.js@protobufjs-v7.2.3...protobufjs-v7.2.4)
    
    ---
    updated-dependencies:
    - dependency-name: protobufjs
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 8, 2023
    Copy the full SHA
    9c2c7d8 View commit details

Commits on Jul 10, 2023

  1. chore(deps-dev): bump @types/node from 20.3.3 to 20.4.1

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.3.3 to 20.4.1.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 10, 2023
    Copy the full SHA
    09a1987 View commit details
  2. chore(deps-dev): bump nodemon from 2.0.22 to 3.0.1

    Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.22 to 3.0.1.
    - [Release notes](https://github.com/remy/nodemon/releases)
    - [Commits](remy/nodemon@v2.0.22...v3.0.1)
    
    ---
    updated-dependencies:
    - dependency-name: nodemon
      dependency-type: direct:development
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 10, 2023
    Copy the full SHA
    d8a7d50 View commit details

Commits on Jul 11, 2023

  1. chore(deps-dev): bump mysql2 from 3.4.3 to 3.5.1

    Bumps [mysql2](https://github.com/sidorares/node-mysql2) from 3.4.3 to 3.5.1.
    - [Release notes](https://github.com/sidorares/node-mysql2/releases)
    - [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md)
    - [Commits](sidorares/node-mysql2@v3.4.3...v3.5.1)
    
    ---
    updated-dependencies:
    - dependency-name: mysql2
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 11, 2023
    Copy the full SHA
    e65b3e4 View commit details
  2. Merge pull request #12003 from nestjs/dependabot/npm_and_yarn/mysql2-…

    …3.5.1
    
    chore(deps-dev): bump mysql2 from 3.4.3 to 3.5.1
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    09f601e View commit details
  3. Merge pull request #11998 from nestjs/dependabot/npm_and_yarn/nodemon…

    …-3.0.1
    
    chore(deps-dev): bump nodemon from 2.0.22 to 3.0.1
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    f372f98 View commit details
  4. Merge pull request #11997 from nestjs/dependabot/npm_and_yarn/types/n…

    …ode-20.4.1
    
    chore(deps-dev): bump @types/node from 20.3.3 to 20.4.1
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    88e3c58 View commit details
  5. Merge pull request #11994 from nestjs/dependabot/npm_and_yarn/sample/…

    …04-grpc/protobufjs-7.2.4
    
    chore(deps): bump protobufjs from 7.2.3 to 7.2.4 in /sample/04-grpc
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    7c163b6 View commit details
  6. Merge pull request #11993 from nestjs/dependabot/npm_and_yarn/protobu…

    …fjs-7.2.4
    
    chore(deps): bump protobufjs from 7.2.2 to 7.2.4
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    4cabf5c View commit details
  7. chore(deps-dev): bump prettier from 2.8.8 to 3.0.0

    Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.0.
    - [Release notes](https://github.com/prettier/prettier/releases)
    - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
    - [Commits](prettier/prettier@2.8.8...3.0.0)
    
    ---
    updated-dependencies:
    - dependency-name: prettier
      dependency-type: direct:development
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 11, 2023
    Copy the full SHA
    74ce525 View commit details
  8. Merge pull request #11989 from nestjs/dependabot/npm_and_yarn/mongoos…

    …e-7.3.2
    
    chore(deps-dev): bump mongoose from 7.3.1 to 7.3.2
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    2e4ac00 View commit details
  9. Merge pull request #11981 from nestjs/dependabot/npm_and_yarn/prettie…

    …r-3.0.0
    
    chore(deps-dev): bump prettier from 2.8.8 to 3.0.0
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    a5700bb View commit details
  10. Merge pull request #11980 from nestjs/dependabot/npm_and_yarn/core-js…

    …-3.31.1
    
    chore(deps-dev): bump core-js from 3.31.0 to 3.31.1
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    72071bc View commit details
  11. Merge pull request #11972 from nestjs/renovate/graphql-tools-monorepo

    fix(deps): update dependency @graphql-tools/utils to v10.0.3
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    f4119c2 View commit details
  12. Copy the full SHA
    9829a8a View commit details
  13. Merge pull request #11975 from kingsubin/fix-readme-http

    docs(): replace HTTP with HTTPS on readme
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    c2b7242 View commit details
  14. Merge pull request #11973 from nestjs/renovate/babel-monorepo

    chore(deps): update babel monorepo
    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    91defcc View commit details
  15. Update package.json

    kamilmysliwiec authored Jul 11, 2023
    Copy the full SHA
    d8800d6 View commit details
  16. Copy the full SHA
    3ab560c View commit details

Commits on Jul 12, 2023

  1. Copy the full SHA
    334bb27 View commit details
  2. Merge pull request #12009 from KKSzymanowski/master

    fix(core): Initialize application only once
    kamilmysliwiec authored Jul 12, 2023
    Copy the full SHA
    b6eec5e View commit details
  3. Merge pull request #12004 from nestjs/renovate/jest-monorepo

    chore(deps): update jest monorepo
    kamilmysliwiec authored Jul 12, 2023
    Copy the full SHA
    d07bcea View commit details
  4. chore(deps-dev): bump @typescript-eslint/parser from 5.60.1 to 5.62.0

    Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.60.1 to 5.62.0.
    - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
    - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
    - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.62.0/packages/parser)
    
    ---
    updated-dependencies:
    - dependency-name: "@typescript-eslint/parser"
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 12, 2023
    Copy the full SHA
    c886f04 View commit details
  5. Copy the full SHA
    93824ab View commit details

Commits on Jul 13, 2023

  1. chore(deps-dev): bump mongoose from 7.3.2 to 7.3.4

    Bumps [mongoose](https://github.com/Automattic/mongoose) from 7.3.2 to 7.3.4.
    - [Release notes](https://github.com/Automattic/mongoose/releases)
    - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
    - [Commits](Automattic/mongoose@7.3.2...7.3.4)
    
    ---
    updated-dependencies:
    - dependency-name: mongoose
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 13, 2023
    Copy the full SHA
    0b0f5cb View commit details
  2. chore(deps-dev): bump @types/node from 20.4.1 to 20.4.2

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.4.1 to 20.4.2.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Jul 13, 2023
    Copy the full SHA
    ca1a153 View commit details
  3. Merge pull request #12016 from nestjs/dependabot/npm_and_yarn/types/n…

    …ode-20.4.2
    
    chore(deps-dev): bump @types/node from 20.4.1 to 20.4.2
    kamilmysliwiec authored Jul 13, 2023
    Copy the full SHA
    fc43b50 View commit details
  4. Merge pull request #12015 from nestjs/dependabot/npm_and_yarn/mongoos…

    …e-7.3.4
    
    chore(deps-dev): bump mongoose from 7.3.2 to 7.3.4
    kamilmysliwiec authored Jul 13, 2023
    Copy the full SHA
    8c63321 View commit details
Showing with 25,803 additions and 25,214 deletions.
  1. +21 −48 Readme.md
  2. +63 −0 integration/injector/e2e/circular-custom-providers.spec.ts
  3. +29 −0 integration/lazy-modules/e2e/lazy-import-global-modules.spec.ts
  4. +16 −0 integration/lazy-modules/src/app.module.ts
  5. +12 −0 integration/lazy-modules/src/eager.module.ts
  6. +13 −0 integration/lazy-modules/src/global.module.ts
  7. +12 −0 integration/lazy-modules/src/lazy.module.ts
  8. +8 −0 integration/lazy-modules/src/main.ts
  9. +1 −1 lerna.json
  10. +438 −140 package-lock.json
  11. +11 −11 package.json
  12. +1 −1 packages/common/Readme.md
  13. +1 −1 packages/common/package.json
  14. +5 −2 packages/common/pipes/file/file-type.validator.ts
  15. +5 −4 packages/common/pipes/file/file-validator.interface.ts
  16. +5 −2 packages/common/pipes/file/max-file-size.validator.ts
  17. +1 −1 packages/core/Readme.md
  18. +1 −1 packages/core/errors/exceptions/circular-dependency.exception.ts
  19. +40 −19 packages/core/injector/container.ts
  20. +28 −13 packages/core/injector/injector.ts
  21. +7 −3 packages/core/injector/instance-wrapper.ts
  22. +1 −0 packages/core/injector/lazy-module-loader/lazy-module-loader.ts
  23. +56 −0 packages/core/injector/settlement-signal.ts
  24. +4 −0 packages/core/nest-application.ts
  25. +2 −2 packages/core/package.json
  26. +34 −9 packages/core/scanner.ts
  27. +5 −5 packages/core/test/injector/injector.spec.ts
  28. +1 −1 packages/core/test/inspector/graph-inspector.spec.ts
  29. +4 −4 packages/core/test/nest-application-context.spec.ts
  30. +25 −0 packages/core/test/nest-application.spec.ts
  31. +10 −4 packages/core/test/repl/native-functions/debug-repl-fn.spec.ts
  32. +10 −4 packages/core/test/repl/native-functions/methods-repl-fn.spec.ts
  33. +1 −1 packages/microservices/Readme.md
  34. +12 −1 packages/microservices/client/client-grpc.ts
  35. +1 −0 packages/microservices/interfaces/microservice-configuration.interface.ts
  36. +3 −3 packages/microservices/package.json
  37. +14 −2 packages/microservices/server/server-grpc.ts
  38. +61 −4 packages/microservices/test/client/client-grpc.spec.ts
  39. +35 −7 packages/microservices/test/server/server-grpc.spec.ts
  40. +1 −1 packages/platform-express/Readme.md
  41. +3 −3 packages/platform-express/package.json
  42. +1 −1 packages/platform-fastify/Readme.md
  43. +9 −3 packages/platform-fastify/interfaces/external/fastify-static-options.interface.ts
  44. +3 −3 packages/platform-fastify/package.json
  45. +1 −1 packages/platform-socket.io/Readme.md
  46. +1 −1 packages/platform-socket.io/package.json
  47. +1 −1 packages/platform-ws/Readme.md
  48. +1 −1 packages/platform-ws/package.json
  49. +1 −1 packages/testing/Readme.md
  50. +1 −1 packages/testing/package.json
  51. +1 −1 packages/websockets/Readme.md
  52. +3 −3 packages/websockets/package.json
  53. +3 −3 readme_jp.md
  54. +3 −3 readme_kr.md
  55. +3 −3 readme_zh.md
  56. +686 −688 sample/01-cats-app/package-lock.json
  57. +6 −6 sample/01-cats-app/package.json
  58. +4 −2 sample/02-gateways/e2e/events-gateway/gateway.e2e-spec.ts
  59. +686 −688 sample/02-gateways/package-lock.json
  60. +6 −6 sample/02-gateways/package.json
  61. +679 −681 sample/03-microservices/package-lock.json
  62. +5 −5 sample/03-microservices/package.json
  63. +701 −703 sample/04-grpc/package-lock.json
  64. +5 −5 sample/04-grpc/package.json
  65. +709 −711 sample/05-sql-typeorm/package-lock.json
  66. +7 −7 sample/05-sql-typeorm/package.json
  67. +702 −704 sample/06-mongoose/package-lock.json
  68. +6 −6 sample/06-mongoose/package.json
  69. +693 −695 sample/07-sequelize/package-lock.json
  70. +7 −7 sample/07-sequelize/package.json
  71. +95 −95 sample/08-webpack/package-lock.json
  72. +3 −3 sample/08-webpack/package.json
  73. +880 −974 sample/09-babel-example/package-lock.json
  74. +8 −8 sample/09-babel-example/package.json
  75. +679 −681 sample/10-fastify/package-lock.json
  76. +5 −5 sample/10-fastify/package.json
  77. +695 −697 sample/11-swagger/package-lock.json
  78. +5 −5 sample/11-swagger/package.json
  79. +779 −742 sample/12-graphql-schema-first/package-lock.json
  80. +6 −6 sample/12-graphql-schema-first/package.json
  81. +686 −688 sample/13-mongo-typeorm/package-lock.json
  82. +6 −6 sample/13-mongo-typeorm/package.json
  83. +702 −704 sample/14-mongoose-base/package-lock.json
  84. +6 −6 sample/14-mongoose-base/package.json
  85. +695 −697 sample/15-mvc/package-lock.json
  86. +5 −5 sample/15-mvc/package.json
  87. +695 −697 sample/16-gateways-ws/package-lock.json
  88. +5 −5 sample/16-gateways-ws/package.json
  89. +679 −681 sample/17-mvc-fastify/package-lock.json
  90. +5 −5 sample/17-mvc-fastify/package.json
  91. +695 −697 sample/18-context/package-lock.json
  92. +5 −5 sample/18-context/package.json
  93. +702 −704 sample/19-auth-jwt/package-lock.json
  94. +6 −6 sample/19-auth-jwt/package.json
  95. +695 −697 sample/20-cache/package-lock.json
  96. +5 −5 sample/20-cache/package.json
  97. +695 −697 sample/21-serializer/package-lock.json
  98. +5 −5 sample/21-serializer/package.json
  99. +733 −735 sample/22-graphql-prisma/package-lock.json
  100. +5 −5 sample/22-graphql-prisma/package.json
  101. +733 −735 sample/23-graphql-code-first/package-lock.json
  102. +5 −5 sample/23-graphql-code-first/package.json
  103. +695 −697 sample/24-serve-static/package-lock.json
  104. +5 −5 sample/24-serve-static/package.json
  105. +2 −2 sample/25-dynamic-modules/README.md
  106. +702 −704 sample/25-dynamic-modules/package-lock.json
  107. +6 −6 sample/25-dynamic-modules/package.json
  108. +2 −2 sample/26-queues/README.md
  109. +702 −704 sample/26-queues/package-lock.json
  110. +6 −6 sample/26-queues/package.json
  111. +2 −2 sample/27-scheduling/README.md
  112. +702 −704 sample/27-scheduling/package-lock.json
  113. +6 −6 sample/27-scheduling/package.json
  114. +2 −2 sample/28-sse/README.md
  115. +702 −704 sample/28-sse/package-lock.json
  116. +6 −6 sample/28-sse/package.json
  117. +702 −704 sample/29-file-upload/package-lock.json
  118. +6 −6 sample/29-file-upload/package.json
  119. +702 −704 sample/30-event-emitter/package-lock.json
  120. +6 −6 sample/30-event-emitter/package.json
  121. +2 −2 sample/31-graphql-federation-code-first/gateway/README.md
  122. +337 −338 sample/31-graphql-federation-code-first/gateway/package-lock.json
  123. +6 −6 sample/31-graphql-federation-code-first/gateway/package.json
  124. +2 −2 sample/31-graphql-federation-code-first/posts-application/README.md
  125. +337 −338 sample/31-graphql-federation-code-first/posts-application/package-lock.json
  126. +6 −6 sample/31-graphql-federation-code-first/posts-application/package.json
  127. +2 −2 sample/31-graphql-federation-code-first/users-application/README.md
  128. +337 −338 sample/31-graphql-federation-code-first/users-application/package-lock.json
  129. +6 −6 sample/31-graphql-federation-code-first/users-application/package.json
  130. +2 −2 sample/32-graphql-federation-schema-first/gateway/README.md
  131. +756 −758 sample/32-graphql-federation-schema-first/gateway/package-lock.json
  132. +6 −6 sample/32-graphql-federation-schema-first/gateway/package.json
  133. +2 −2 sample/32-graphql-federation-schema-first/posts-application/README.md
  134. +756 −758 sample/32-graphql-federation-schema-first/posts-application/package-lock.json
  135. +6 −6 sample/32-graphql-federation-schema-first/posts-application/package.json
  136. +2 −2 sample/32-graphql-federation-schema-first/users-application/README.md
  137. +740 −742 sample/32-graphql-federation-schema-first/users-application/package-lock.json
  138. +6 −6 sample/32-graphql-federation-schema-first/users-application/package.json
  139. +673 −675 sample/33-graphql-mercurius/package-lock.json
  140. +5 −5 sample/33-graphql-mercurius/package.json
69 changes: 21 additions & 48 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@

## Description

Nest is a framework for building efficient, scalable <a href="http://nodejs.org" target="_blank">Node.js</a> server-side applications. It uses modern JavaScript, is built with <a href="http://www.typescriptlang.org" target="_blank">TypeScript</a> (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).
Nest is a framework for building efficient, scalable <a href="https://nodejs.org" target="_blank">Node.js</a> server-side applications. It uses modern JavaScript, is built with <a href="https://www.typescriptlang.org" target="_blank">TypeScript</a> (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).

<p>Under the hood, Nest makes use of <a href="https://expressjs.com/" target="_blank">Express</a>, but also, provides compatibility with a wide range of other libraries, like e.g. <a href="https://github.com/fastify/fastify" target="_blank">Fastify</a>, allowing for easy use of the myriad third-party plugins which are available.</p>

@@ -58,24 +58,25 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr>
<td><a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
<td><a href="https://www.redhat.com" target="_blank"><img src="https://nestjs.com/img/red-hat-logo.svg" width="200" valign="middle" /></a></td>
<td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://nx.dev" target="_blank"><img src="https://nestjs.com/img/nx-logo.png" height="45" valign="middle" /></a></td>
<td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td><td>
<a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/amplication-logo.svg" width="190" valign="middle" /></a></td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td>
</tr></table>

#### Gold Sponsors

<table style="text-align:center;"><tr><td>
<table style="text-align:center;"><tr>
<td><a href="https://www.redhat.com" target="_blank"><img src="https://nestjs.com/img/red-hat-logo.svg" width="200" valign="middle" /></a></td>
<td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://nx.dev" target="_blank"><img src="https://nestjs.com/img/nx-logo.png" height="45" valign="middle" /></a></td><td>
<a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/amplication-logo.svg" width="190" valign="middle" /></a></td>
<td>
<a href="https://weld.app/" target="_blank"><img src="https://nestjs.com/img/weld-logo.svg" width="140" valign="middle" /></a></td>
<td>
<a href="https://intrinsic.ventures/" target="_blank"><img src="https://nestjs.com/img/intrinisic-logo.png" width="210" valign="middle" /></a></td>
<a href="https://intrinsic.ventures/" target="_blank"><img src="https://nestjs.com/img/intrinisic-logo.png" width="210" valign="middle" /></a></td></tr><tr>
<td>
<a href="https://jetbrains.com/" target="_blank"><img src="https://nestjs.com/img/jetbrains-logo.svg" width="110" valign="middle" /></a></td><td>
<a href="https://jetbrains.com/" target="_blank"><img src="https://nestjs.com/img/jetbrains-logo.svg" width="90" valign="middle" /></a></td><td>
<a href="https://snyk.co/nestjs" target="_blank"><img src="https://nestjs.com/img/snyk-logo-black.png" width="185" valign="middle" /></a></td><td>
<a href="https://fuseautotech.com/" target="_blank"><img src="https://nestjs.com/img/fuse-logo.svg" width="105" valign="middle" /></a></td>
<td>
@@ -85,58 +86,30 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Silver Sponsors

<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://www.myleodsc.com/" target="_blank"><img src="https://nestjs.com/img/myleo-logo.png" width="180" valign="middle" /></td><td>
<a href="https://careers.meetdandy.com/?gh_src=063ba61e3us" target="_blank"><img src="https://nestjs.com/img/dandy-roles-logo.svg" width="150" valign="middle" /></td><td>
<a href="https://www.castlecraft.in" target="_blank"><img src="https://nestjs.com/img/castlecraft-logo.png" width="150" valign="middle" /></td>
<td><a href="https://www.tinystacks.com" target="_blank"><img src="https://nestjs.com/img/tinystacks-logo.png#1" width="140" valign="middle" /></td>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/n-inc-logo.svg" width="120" valign="middle" /></td></tr><tr>
<td><a href="https://bilberrry.com/" target="_blank"><img src="https://nestjs.com/img/bilberrry-logo.svg" width="180" valign="middle" /></td>
<td><a href="https://ipinfo.ai/" target="_blank"><img src="https://nestjs.com/img/ipinfo-logo.png" width="130" valign="middle" /></td>
<td><a href="https://chax.at" target="_blank"><img src="https://nestjs.com/img/chaxat-logo.png" width="100" valign="middle" /></td></tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/n-inc-logo.svg" width="120" valign="middle" /></td></tr>
</table>

#### Sponsors

<table><tr><td align="center" valign="middle">
<a href="https://www.swingdev.io" target="_blank"><img src="https://nestjs.com/img/swingdev-logo.svg#1" width="110" valign="middle" /> </a></td><td align="center" valign="middle">
<a href="https://www.novologic.com/" target="_blank"><img src="https://nestjs.com/img/novologic.png" width="110" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://ever.co/" target="_blank"><img src="https://nestjs.com/img/ever-logo.png" width="72" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://blokt.com" target="_blank"><img src="https://nestjs.com/img/blokt-logo.png" width="120" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="http://architectnow.net/" target="_blank"><img src="https://nestjs.com/img/architectnow.png" width="125" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://quander.io/" target="_blank"><img src="https://nestjs.com/img/quander.png" width="100" valign="middle" /></a> </td></tr><tr><td align="center" valign="middle">
<a href="https://mantro.net/" target="_blank"><img src="https://nestjs.com/img/mantro-logo.svg" width="95" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://triplebyte.com/" target="_blank"><img src="https://nestjs.com/img/triplebyte.png" width="107" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://reposit.co.uk/" target="_blank"><img src="https://nestjs.com/img/reposit-logo.png" width="71" valign="middle" /></a></td><td align="center" valign="middle">
<a href="https://nearpod.com/" target="_blank"><img src="https://nestjs.com/img/nearpod-logo.svg" width="100" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://clay.global/" target="_blank"><img src="https://nestjs.com/img/clay-logo.svg" width="75" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://firesticktricks.com" target="_blank"><img src="https://nestjs.com/img/firesticktricks-logo.png" width="120" valign="middle" /></a></td></tr><tr><td align="center" valign="middle">
<a href="https://www.codeguesser.co.uk" target="_blank"><img src="https://nestjs.com/img/codeguesser-logo.svg" width="120" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://f-a.nz/" target="_blank"><img src="https://nestjs.com/img/franz.svg" width="80" valign="middle" /></a> </td><td align="center" valign="middle">
<a href="https://sparkfabrik.com/" target="_blank"><img src="https://nestjs.com/img/sparkfabrik-logo.png" width="120" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://www.thebigphonestore.co.uk/" target="_blank"><img src="https://nestjs.com/img/the-big-phone-store-logo.png" width="65" valign="middle" /></a></td>
<a href="https://nearpod.com/" target="_blank"><img src="https://nestjs.com/img/nearpod-logo.svg" width="100" valign="middle" /></a> </td>
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://houseofangular.io/" target="_blank"><img src="https://nestjs.com/img/house-of-angular.png" width="100" valign="middle" /></a></td>
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td></tr><tr>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://rocketech.it/cases/?utm_source=google&utm_medium=badge&utm_campaign=nestjs" target="_blank"><img src="https://nestjs.com/img/rocketech-logo.svg" width="110" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.bystored.com/" target="_blank"><img src="https://nestjs.com/img/stored-logo.svg" width="110" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://studyclerk.com/pay-for-research-paper" target="_blank"><img src="https://nestjs.com/img/studyclerk-logo.png" width="125" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://xyndata.com" target="_blank"><img src="https://nestjs.com/img/xyndata-logo.png" width="125" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://www.anonymistic.com/" target="_blank"><img src="https://nestjs.com/img/anonymistic-logo.png" width="125" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.anonymistic.com/" target="_blank"><img src="https://nestjs.com/img/anonymistic-logo.png" width="125" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://www.naologic.com/" target="_blank"><img src="https://nestjs.com/img/naologic-logo.svg" width="125" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://messaged.com/" target="_blank"><img src="https://nestjs.com/img/messaged-logo.png" width="50" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://triplecore.io" target="_blank"><img src="https://nestjs.com/img/triplecore-logo.svg" width="50" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://klqc.de" target="_blank"><img src="https://nestjs.com/img/klcqcl-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thecasinowizard.com/bonuses/no-deposit-bonuses/" target="_blank"><img src="https://nestjs.com/img/casinowizard-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://thecasinowizard.com/bonuses/no-deposit-bonuses/" target="_blank"><img src="https://nestjs.com/img/casinowizard-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://polygon-software.ch/" target="_blank"><img src="https://nestjs.com/img/polygon-logo.svg" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://themobilereality.com/" target="_blank"><img src="https://nestjs.com/img/mobile-reality-logo.png" width="45" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://boringowl.io/" target="_blank"><img src="https://nestjs.com/img/boringowl-logo.svg" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.mobilefactory.jp/" target="_blank"><img src="https://nestjs.com/img/mobilefactory-logo.png" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nordbot-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/dopiosh-logo.png" width="50" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nordbot-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/dopiosh-logo.png" width="50" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr></table>

63 changes: 63 additions & 0 deletions integration/injector/e2e/circular-custom-providers.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import { Test } from '@nestjs/testing';
import { expect } from 'chai';

import { Controller, Injectable, Module } from '@nestjs/common';

class B {}

@Injectable()
class A {
constructor(b: B) {}
}

@Injectable()
class BImpl {
constructor(a: A) {}
}

@Controller()
class AppController {
constructor(a: A) {}
}

@Module({
imports: [],
controllers: [AppController],
providers: [A, { provide: B, useClass: BImpl }],
})
export class AppModule {}

describe('Circular custom providers', () => {
it('should throw an exception (useClass + regular provider)', async () => {
try {
const builder = Test.createTestingModule({
imports: [AppModule],
});
await builder.compile();

expect(true).to.be.eql(false);
} catch (err) {
expect(err.message).to.be.eql(
'A circular dependency has been detected inside "A". Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.',
);
}
});

it('should throw an exception (2 factories)', async () => {
try {
const builder = Test.createTestingModule({
providers: [
{ provide: 'ABC', useFactory: () => ({}), inject: ['DEF'] },
{ provide: 'DEF', useFactory: () => ({}), inject: ['ABC'] },
],
});
await builder.compile();

expect(true).to.be.eql(false);
} catch (err) {
expect(err.message).to.be.eql(
'A circular dependency has been detected inside "ABC". Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.',
);
}
});
});
29 changes: 29 additions & 0 deletions integration/lazy-modules/e2e/lazy-import-global-modules.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import * as chai from 'chai';
import { expect } from 'chai';
import chaiAsPromised = require('chai-as-promised');
import { AppModule } from '../src/app.module';
chai.use(chaiAsPromised);

describe('Lazy imports', () => {
let server;
let app: INestApplication;

beforeEach(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();

app = module.createNestApplication();
server = app.getHttpAdapter().getInstance();
});

it(`should allow imports of global modules`, async () => {
await expect(app.init()).to.eventually.be.fulfilled;
});

afterEach(async () => {
await app.close();
});
});
16 changes: 16 additions & 0 deletions integration/lazy-modules/src/app.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Module } from '@nestjs/common';
import { LazyModuleLoader } from '@nestjs/core';
import { EagerModule } from './eager.module';
import { GlobalModule } from './global.module';
import { LazyModule } from './lazy.module';

@Module({
imports: [GlobalModule, EagerModule],
})
export class AppModule {
constructor(public loader: LazyModuleLoader) {}

async onApplicationBootstrap() {
await this.loader.load(() => LazyModule);
}
}
12 changes: 12 additions & 0 deletions integration/lazy-modules/src/eager.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Module, Injectable } from '@nestjs/common';
import { GlobalService } from './global.module';

@Injectable()
export class EagerService {
constructor(public globalService: GlobalService) {}
}

@Module({
providers: [EagerService],
})
export class EagerModule {}
13 changes: 13 additions & 0 deletions integration/lazy-modules/src/global.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { Module, Injectable, Global } from '@nestjs/common';

@Injectable()
export class GlobalService {
constructor() {}
}

@Global()
@Module({
providers: [GlobalService],
exports: [GlobalService],
})
export class GlobalModule {}
12 changes: 12 additions & 0 deletions integration/lazy-modules/src/lazy.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Module, Injectable } from '@nestjs/common';
import { GlobalService } from './global.module';

@Injectable()
export class LazyService {
constructor(public globalService: GlobalService) {}
}

@Module({
providers: [LazyService],
})
export class LazyModule {}
8 changes: 8 additions & 0 deletions integration/lazy-modules/src/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -3,5 +3,5 @@
"packages": [
"packages/*"
],
"version": "10.0.5"
"version": "10.1.0"
}
Loading