├── .eslintrc.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── master.yml │ └── pr.yml ├── .gitignore ├── .husky └── .gitignore ├── .idea ├── .gitignore ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml ├── modules.xml ├── nestjs-packages.iml └── vcs.xml ├── .prettierignore ├── .prettierrc ├── CONTRIBUTING.md ├── README.md ├── commitlint.config.js ├── jest.config.js ├── lerna.json ├── nx.json ├── package-lock.json ├── package.json ├── packages ├── pdf-generator │ ├── .eslintrc.json │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ ├── exceptions │ │ │ └── pdf-generation.exception.ts │ │ │ ├── injection-tokens │ │ │ └── pdf-generator-options.injection-token.ts │ │ │ ├── interfaces │ │ │ ├── pdf-generator-options.interface.ts │ │ │ ├── to-pdf-options.interface.ts │ │ │ └── to-pdf-result.interface.ts │ │ │ ├── pdf-generator.controller.ts │ │ │ ├── pdf-generator.module.ts │ │ │ └── puppeteer-web-page-to-pdf │ │ │ ├── puppeteer-web-page-to-pdf.service.spec.ts │ │ │ └── puppeteer-web-page-to-pdf.service.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json └── streaming │ ├── .eslintrc.json │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src │ ├── index.ts │ └── lib │ │ ├── download │ │ ├── express │ │ │ ├── download-express.module.ts │ │ │ ├── download-provider-express.factory.ts │ │ │ ├── download-provider-express.service.spec.ts │ │ │ └── download-provider-express.service.ts │ │ ├── fastify │ │ │ ├── download-fastify.module.ts │ │ │ ├── download-provider.factory.ts │ │ │ ├── download-provider.service.spec.ts │ │ │ └── download-provider.service.ts │ │ └── shared │ │ │ ├── interfaces │ │ │ ├── download-provider.factory.ts │ │ │ ├── download.provider.ts │ │ │ └── downloadable-resource.ts │ │ │ └── utils │ │ │ └── prepare-headers.ts │ │ ├── shared │ │ └── interfaces │ │ │ ├── streamable-resource.ts │ │ │ └── streaming-params.ts │ │ ├── streaming │ │ ├── express │ │ │ ├── response-streaming │ │ │ │ ├── full-response.streamer.spec.ts │ │ │ │ ├── full-response.streamer.ts │ │ │ │ ├── partial-response.streamer.spec.ts │ │ │ │ ├── partial-response.streamer.ts │ │ │ │ └── response-streamer.factory.ts │ │ │ └── streaming-express.module.ts │ │ ├── fastify │ │ │ ├── response-streaming │ │ │ │ ├── full-response.streamer.spec.ts │ │ │ │ ├── full-response.streamer.ts │ │ │ │ ├── partial-response.streamer.spec.ts │ │ │ │ ├── partial-response.streamer.ts │ │ │ │ └── response-streamer.factory.ts │ │ │ └── streaming-fastify.module.ts │ │ └── shared │ │ │ ├── interfaces │ │ │ ├── response-streamer.factory.ts │ │ │ ├── response.streamer.ts │ │ │ └── streaming-type.ts │ │ │ └── utils │ │ │ └── prepare-haders.utils.ts │ │ └── url-streaming │ │ ├── interfaces │ │ └── url-streaming.provider.ts │ │ └── native │ │ ├── native-url-streamer.provider.ts │ │ └── url-streamer-native.module.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { 5 | "ecmaVersion": 2018, 6 | "sourceType": "module", 7 | "project": "./tsconfig.json" 8 | }, 9 | "ignorePatterns": ["**/*"], 10 | "plugins": ["@typescript-eslint"], 11 | "extends": [ 12 | "eslint:recommended", 13 | "plugin:@typescript-eslint/eslint-recommended", 14 | "plugin:@typescript-eslint/recommended", 15 | "prettier", 16 | "prettier/@typescript-eslint" 17 | ], 18 | "rules": { 19 | "@typescript-eslint/explicit-member-accessibility": "off", 20 | "@typescript-eslint/explicit-function-return-type": "error", 21 | "@typescript-eslint/no-parameter-properties": "off", 22 | "@typescript-eslint/no-empty-interface": "off", 23 | "@typescript-eslint/no-unused-vars": [ 24 | "error", 25 | { 26 | "varsIgnorePattern": "exhaustCheck" 27 | } 28 | ], 29 | "@typescript-eslint/ban-ts-comment": "warn", 30 | "@typescript-eslint/explicit-module-boundary-types": "off" 31 | }, 32 | "overrides": [ 33 | { 34 | "files": ["*.tsx"], 35 | "rules": { 36 | "@typescript-eslint/no-unused-vars": "off" 37 | } 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: MaciejSikorski 7 | --- 8 | 9 | **Describe the bug** 10 | A clear and concise description of what the bug is. 11 | 12 | **To Reproduce** 13 | Steps to reproduce the behavior: 14 | 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | 28 | - OS: [e.g. iOS] 29 | - Browser [e.g. chrome, safari] 30 | - Version [e.g. 22] 31 | 32 | **Smartphone (please complete the following information):** 33 | 34 | - Device: [e.g. iPhone6] 35 | - OS: [e.g. iOS8.1] 36 | - Browser [e.g. stock browser, safari] 37 | - Version [e.g. 22] 38 | 39 | **Additional context** 40 | Add any other context about the problem here. 41 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: MaciejSikorski 7 | --- 8 | 9 | **Is your feature request related to a problem? Please describe.** 10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 11 | 12 | **Describe the solution you'd like** 13 | A clear and concise description of what you want to happen. 14 | 15 | **Describe alternatives you've considered** 16 | A clear and concise description of any alternative solutions or features you've considered. 17 | 18 | **Additional context** 19 | Add any other context or screenshots about the feature request here. 20 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## PR Checklist 2 | 3 | Please check if your PR fulfills the following requirements: 4 | 5 | - [ ] The commit message follows our guidelines: https://github.com/HouseOfAngular/nestjs-packages/blob/master/CONTRIBUTING.md#git-guidelines 6 | - [ ] Tests for the changes have been added (for bug fixes / features) 7 | 8 | ## PR Type 9 | 10 | What kind of change does this PR introduce? 11 | 12 | 13 | 14 | ``` 15 | [ ] Bugfix 16 | [ ] Feature 17 | [ ] Code style update (formatting, local variables) 18 | [ ] Refactoring (no functional changes, no api changes) 19 | [ ] Build related changes 20 | [ ] CI related changes 21 | [ ] Documentation content changes 22 | [ ] Other... Please describe: 23 | ``` 24 | 25 | ## What is the current behavior? 26 | 27 | 28 | 29 | Issue Number: N/A 30 | 31 | ## What is the new behavior? 32 | 33 | ## Does this PR introduce a breaking change? 34 | 35 | ``` 36 | [ ] Yes 37 | [ ] No 38 | ``` 39 | 40 | 41 | 42 | ## Other information 43 | -------------------------------------------------------------------------------- /.github/workflows/master.yml: -------------------------------------------------------------------------------- 1 | name: MASTER CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | strategy: 12 | matrix: 13 | node-version: [16.20.0] 14 | steps: 15 | - uses: actions/checkout@v3 16 | - name: Use Node.js ${{ matrix.node-version }} 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version: ${{ matrix.node-version }} 20 | - name: npm i package lock 21 | run: npm install --package-lock-only 22 | - name: npm install puppeteer 23 | run: npm install -g puppeteer --unsafe-perm 24 | - name: npm install 25 | run: npm ci 26 | - name: build 27 | run: npm run lerna run build 28 | 29 | test: 30 | runs-on: ubuntu-latest 31 | strategy: 32 | matrix: 33 | node-version: [16.20.0] 34 | steps: 35 | - uses: actions/checkout@v3 36 | - name: Use Node.js ${{ matrix.node-version }} 37 | uses: actions/setup-node@v3 38 | with: 39 | node-version: ${{ matrix.node-version }} 40 | - name: npm i package lock 41 | run: npm install --package-lock-only 42 | - name: npm install puppeteer 43 | run: npm install -g puppeteer --unsafe-perm 44 | - name: npm install 45 | run: npm ci 46 | - name: test 47 | run: npm run lerna run test 48 | 49 | validate: 50 | runs-on: ubuntu-latest 51 | strategy: 52 | matrix: 53 | node-version: [16.20.0] 54 | steps: 55 | - uses: actions/checkout@v3 56 | with: 57 | fetch-depth: 0 58 | - name: checkout 59 | run: git checkout master 60 | - name: Use Node.js ${{ matrix.node-version }} 61 | uses: actions/setup-node@v3 62 | with: 63 | node-version: ${{ matrix.node-version }} 64 | - name: npm i package lock 65 | run: npm install --package-lock-only 66 | - name: npm install puppeteer 67 | run: npm install -g puppeteer --unsafe-perm 68 | - name: npm install 69 | run: npm ci 70 | - name: Install commitlint 71 | run: | 72 | npm install conventional-changelog-conventionalcommits 73 | npm install commitlint@latest 74 | - name: Validate current commit (last commit) with commitlint 75 | if: github.event_name == 'push' 76 | run: npx commitlint --from HEAD~1 --to HEAD --verbose 77 | - name: Validate PR commits with commitlint 78 | if: github.event_name == 'pull_request' 79 | run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose 80 | - name: prettier check 81 | run: npm run format:check 82 | - name: lint 83 | run: npm run lint 84 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | name: PR CI 2 | 3 | on: pull_request 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | strategy: 9 | matrix: 10 | node-version: [16.20.0] 11 | steps: 12 | - uses: actions/checkout@v3 13 | - name: Use Node.js ${{ matrix.node-version }} 14 | uses: actions/setup-node@v3 15 | with: 16 | node-version: ${{ matrix.node-version }} 17 | - name: npm i package lock 18 | run: npm install --package-lock-only 19 | - name: npm install puppeteer 20 | run: npm install -g puppeteer --unsafe-perm 21 | - name: npm install 22 | run: npm ci 23 | - name: build 24 | run: npm run lerna run build 25 | 26 | test: 27 | runs-on: ubuntu-latest 28 | strategy: 29 | matrix: 30 | node-version: [16.20.0] 31 | steps: 32 | - uses: actions/checkout@v3 33 | - name: Use Node.js ${{ matrix.node-version }} 34 | uses: actions/setup-node@v3 35 | with: 36 | node-version: ${{ matrix.node-version }} 37 | - name: npm i package lock 38 | run: npm install --package-lock-only 39 | - name: npm install puppeteer 40 | run: npm install -g puppeteer --unsafe-perm 41 | - name: npm install 42 | run: npm ci 43 | - name: test 44 | run: npm run lerna run test 45 | 46 | validate: 47 | runs-on: ubuntu-latest 48 | strategy: 49 | matrix: 50 | node-version: [16.20.0] 51 | steps: 52 | - uses: actions/checkout@v3 53 | with: 54 | fetch-depth: 0 55 | - name: Use Node.js ${{ matrix.node-version }} 56 | uses: actions/setup-node@v3 57 | with: 58 | node-version: ${{ matrix.node-version }} 59 | - name: npm i package lock 60 | run: npm install --package-lock-only 61 | - name: npm install puppeteer 62 | run: npm install -g puppeteer --unsafe-perm 63 | - name: npm install 64 | run: npm ci 65 | - name: Install commitlint 66 | run: | 67 | npm install conventional-changelog-conventionalcommits 68 | npm install commitlint@latest 69 | - name: Validate current commit (last commit) with commitlint 70 | if: github.event_name == 'push' 71 | run: npx commitlint --from HEAD~1 --to HEAD --verbose 72 | - name: Validate PR commits with commitlint 73 | if: github.event_name == 'pull_request' 74 | run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose 75 | - name: lint 76 | run: npm run lint 77 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.toptal.com/developers/gitignore/api/webstorm,phpstorm,intellij,node 3 | # Edit at https://www.toptal.com/developers/gitignore?templates=webstorm,phpstorm,intellij,node 4 | 5 | ### Intellij ### 6 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 7 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 8 | 9 | # User-specific stuff 10 | .idea/**/workspace.xml 11 | .idea/**/tasks.xml 12 | .idea/**/usage.statistics.xml 13 | .idea/**/dictionaries 14 | .idea/**/shelf 15 | 16 | # Generated files 17 | .idea/**/contentModel.xml 18 | 19 | # Sensitive or high-churn files 20 | .idea/**/dataSources/ 21 | .idea/**/dataSources.ids 22 | .idea/**/dataSources.local.xml 23 | .idea/**/sqlDataSources.xml 24 | .idea/**/dynamic.xml 25 | .idea/**/uiDesigner.xml 26 | .idea/**/dbnavigator.xml 27 | 28 | # Gradle 29 | .idea/**/gradle.xml 30 | .idea/**/libraries 31 | 32 | # Gradle and Maven with auto-import 33 | # When using Gradle or Maven with auto-import, you should exclude module files, 34 | # since they will be recreated, and may cause churn. Uncomment if using 35 | # auto-import. 36 | # .idea/artifacts 37 | # .idea/compiler.xml 38 | # .idea/jarRepositories.xml 39 | # .idea/modules.xml 40 | # .idea/*.iml 41 | # .idea/modules 42 | # *.iml 43 | # *.ipr 44 | 45 | # CMake 46 | cmake-build-*/ 47 | 48 | # Mongo Explorer plugin 49 | .idea/**/mongoSettings.xml 50 | 51 | # File-based project format 52 | *.iws 53 | 54 | # IntelliJ 55 | out/ 56 | 57 | # mpeltonen/sbt-idea plugin 58 | .idea_modules/ 59 | 60 | # JIRA plugin 61 | atlassian-ide-plugin.xml 62 | 63 | # Cursive Clojure plugin 64 | .idea/replstate.xml 65 | 66 | # Crashlytics plugin (for Android Studio and IntelliJ) 67 | com_crashlytics_export_strings.xml 68 | crashlytics.properties 69 | crashlytics-build.properties 70 | fabric.properties 71 | 72 | # Editor-based Rest Client 73 | .idea/httpRequests 74 | 75 | # Android studio 3.1+ serialized cache file 76 | .idea/caches/build_file_checksums.ser 77 | 78 | ### Intellij Patch ### 79 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 80 | 81 | # *.iml 82 | # modules.xml 83 | # .idea/misc.xml 84 | # *.ipr 85 | 86 | # Sonarlint plugin 87 | # https://plugins.jetbrains.com/plugin/7973-sonarlint 88 | .idea/**/sonarlint/ 89 | 90 | # SonarQube Plugin 91 | # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin 92 | .idea/**/sonarIssues.xml 93 | 94 | # Markdown Navigator plugin 95 | # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced 96 | .idea/**/markdown-navigator.xml 97 | .idea/**/markdown-navigator-enh.xml 98 | .idea/**/markdown-navigator/ 99 | 100 | # Cache file creation bug 101 | # See https://youtrack.jetbrains.com/issue/JBR-2257 102 | .idea/$CACHE_FILE$ 103 | 104 | # CodeStream plugin 105 | # https://plugins.jetbrains.com/plugin/12206-codestream 106 | .idea/codestream.xml 107 | 108 | ### Node ### 109 | # Logs 110 | logs 111 | *.log 112 | npm-debug.log* 113 | yarn-debug.log* 114 | yarn-error.log* 115 | lerna-debug.log* 116 | 117 | # Diagnostic reports (https://nodejs.org/api/report.html) 118 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 119 | 120 | # Runtime data 121 | pids 122 | *.pid 123 | *.seed 124 | *.pid.lock 125 | 126 | # Directory for instrumented libs generated by jscoverage/JSCover 127 | lib-cov 128 | 129 | # Coverage directory used by tools like istanbul 130 | coverage 131 | *.lcov 132 | 133 | # nyc test coverage 134 | .nyc_output 135 | 136 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 137 | .grunt 138 | 139 | # Bower dependency directory (https://bower.io/) 140 | bower_components 141 | 142 | # node-waf configuration 143 | .lock-wscript 144 | 145 | # Compiled binary addons (https://nodejs.org/api/addons.html) 146 | build/Release 147 | 148 | # Dependency directories 149 | node_modules/ 150 | jspm_packages/ 151 | 152 | # TypeScript v1 declaration files 153 | typings/ 154 | 155 | # TypeScript cache 156 | *.tsbuildinfo 157 | 158 | # Optional npm cache directory 159 | .npm 160 | 161 | # Optional eslint cache 162 | .eslintcache 163 | 164 | # Microbundle cache 165 | .rpt2_cache/ 166 | .rts2_cache_cjs/ 167 | .rts2_cache_es/ 168 | .rts2_cache_umd/ 169 | 170 | # Optional REPL history 171 | .node_repl_history 172 | 173 | # Output of 'npm pack' 174 | *.tgz 175 | 176 | # Yarn Integrity file 177 | .yarn-integrity 178 | 179 | # dotenv environment variables file 180 | .env 181 | .env.test 182 | 183 | # parcel-bundler cache (https://parceljs.org/) 184 | .cache 185 | 186 | # Next.js build output 187 | .next 188 | 189 | # Nuxt.js build / generate output 190 | .nuxt 191 | dist 192 | 193 | # Gatsby files 194 | .cache/ 195 | # Comment in the public line in if your project uses Gatsby and not Next.js 196 | # https://nextjs.org/blog/next-9-1#public-directory-support 197 | # public 198 | 199 | # vuepress build output 200 | .vuepress/dist 201 | 202 | # Serverless directories 203 | .serverless/ 204 | 205 | # FuseBox cache 206 | .fusebox/ 207 | 208 | # DynamoDB Local files 209 | .dynamodb/ 210 | 211 | # TernJS port file 212 | .tern-port 213 | 214 | # Stores VSCode versions used for testing VSCode extensions 215 | .vscode-test 216 | 217 | ### PhpStorm ### 218 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 219 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 220 | 221 | # User-specific stuff 222 | 223 | # Generated files 224 | 225 | # Sensitive or high-churn files 226 | 227 | # Gradle 228 | 229 | # Gradle and Maven with auto-import 230 | # When using Gradle or Maven with auto-import, you should exclude module files, 231 | # since they will be recreated, and may cause churn. Uncomment if using 232 | # auto-import. 233 | # .idea/artifacts 234 | # .idea/compiler.xml 235 | # .idea/jarRepositories.xml 236 | # .idea/modules.xml 237 | # .idea/*.iml 238 | # .idea/modules 239 | # *.iml 240 | # *.ipr 241 | 242 | # CMake 243 | 244 | # Mongo Explorer plugin 245 | 246 | # File-based project format 247 | 248 | # IntelliJ 249 | 250 | # mpeltonen/sbt-idea plugin 251 | 252 | # JIRA plugin 253 | 254 | # Cursive Clojure plugin 255 | 256 | # Crashlytics plugin (for Android Studio and IntelliJ) 257 | 258 | # Editor-based Rest Client 259 | 260 | # Android studio 3.1+ serialized cache file 261 | 262 | ### PhpStorm Patch ### 263 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 264 | 265 | # *.iml 266 | # modules.xml 267 | # .idea/misc.xml 268 | # *.ipr 269 | 270 | # Sonarlint plugin 271 | # https://plugins.jetbrains.com/plugin/7973-sonarlint 272 | 273 | # SonarQube Plugin 274 | # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin 275 | 276 | # Markdown Navigator plugin 277 | # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced 278 | 279 | # Cache file creation bug 280 | # See https://youtrack.jetbrains.com/issue/JBR-2257 281 | 282 | # CodeStream plugin 283 | # https://plugins.jetbrains.com/plugin/12206-codestream 284 | 285 | ### WebStorm ### 286 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 287 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 288 | 289 | # User-specific stuff 290 | 291 | # Generated files 292 | 293 | # Sensitive or high-churn files 294 | 295 | # Gradle 296 | 297 | # Gradle and Maven with auto-import 298 | # When using Gradle or Maven with auto-import, you should exclude module files, 299 | # since they will be recreated, and may cause churn. Uncomment if using 300 | # auto-import. 301 | # .idea/artifacts 302 | # .idea/compiler.xml 303 | # .idea/jarRepositories.xml 304 | # .idea/modules.xml 305 | # .idea/*.iml 306 | # .idea/modules 307 | # *.iml 308 | # *.ipr 309 | 310 | # CMake 311 | 312 | # Mongo Explorer plugin 313 | 314 | # File-based project format 315 | 316 | # IntelliJ 317 | 318 | # mpeltonen/sbt-idea plugin 319 | 320 | # JIRA plugin 321 | 322 | # Cursive Clojure plugin 323 | 324 | # Crashlytics plugin (for Android Studio and IntelliJ) 325 | 326 | # Editor-based Rest Client 327 | 328 | # Android studio 3.1+ serialized cache file 329 | 330 | ### WebStorm Patch ### 331 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 332 | 333 | # *.iml 334 | # modules.xml 335 | # .idea/misc.xml 336 | # *.ipr 337 | 338 | # Sonarlint plugin 339 | # https://plugins.jetbrains.com/plugin/7973-sonarlint 340 | 341 | # SonarQube Plugin 342 | # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin 343 | 344 | # Markdown Navigator plugin 345 | # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced 346 | 347 | # Cache file creation bug 348 | # See https://youtrack.jetbrains.com/issue/JBR-2257 349 | 350 | # CodeStream plugin 351 | # https://plugins.jetbrains.com/plugin/12206-codestream 352 | 353 | # End of https://www.toptal.com/developers/gitignore/api/webstorm,phpstorm,intellij,node -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/nestjs-packages.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/dist/**/* 2 | **/CHANGELOG.md 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": false, 3 | "printWidth": 100, 4 | "tabWidth": 2, 5 | "singleQuote": true, 6 | "trailingComma": "none", 7 | "jsxBracketSameLine": false, 8 | "semi": true, 9 | "arrowParens": "avoid", 10 | "proseWrap": "preserve", 11 | "bracketSpacing": true 12 | } 13 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to NestJS Packages 2 | 3 | #### Welcome 4 | 5 | We are glad you are interested to contribute code via pull requests, to 6 | file issues, to help people asking for help, discuss changes, suggest a new 7 | feature or add any other value to the project. 8 | 9 | ## Code of conduct 10 | 11 | Before you start working on your first pull request, please discuss the change 12 | you wish to make via issue. Familiarize yourself with our code of conduct. 13 | 14 | We expect contributors to act professionally and respectfully 15 | to make our work space safe and welcoming. Be kind. Respect people, their culture, their work. 16 | Listen them. Consider their viewpoint. 17 | 18 | ## Developing for NestJS Packages 19 | 20 | The most important part, to add any value to NestJS Packages you have to follow up this list. 21 | This section describes our methodologies and conventions. 22 | 23 | 1. Familiarize with Git flow - [read more](//nvie.com/posts/a-successful-git-branching-model/), 24 | here a [gist](https://gist.github.com/markreid/12e7c2203916b93d23c27a263f6091a0) about rebasing. 25 | 26 | 2. Check out our [Git guidelines](#git-guidelines). If a commit messages will not follow with these rules the CI 27 | will be rejecting it. 28 | 29 | 3. Even the work you are doing is likely to be a trivial effort, file a new issue and discuss 30 | that with the rest of the team. 31 | 32 | 4. When your issue was marked as to do, fork the Github repository, create a branch on your Github 33 | fork of the repository and implement your change. 34 | 35 | 5. Submit the branch as a PR to relevant NestJS Packages repository. 36 | 37 | 6. Make sure your PR passes the build at CI. 38 | 39 | 7. When everything is green and your changes looks good to reviewer, then wait for a feedback from someone from the core team. 40 | 41 | ## Git guidelines 42 | 43 | Make sure your branch's name keep that convention: 44 | 45 | ci/* // changes to our CI configuration files and script 46 | feature/* // a new feature 47 | bugfix/* // a bug ifx 48 | release/* // a new production release 49 | hotfix/* // like a release branch but fix mess at production 50 | 51 | Each commit message has to consist a **header**, a **body**, and a **footer**. 52 | The header should strictly follow the special format that consists 53 | of a **type**, a **scope**, and a **subject**: 54 | 55 | (): 56 | 57 | 58 | 59 |