├── .nvmrc ├── .prettierignore ├── .yarnrc ├── packages ├── nx-workspace │ ├── src │ │ ├── index.ts │ │ └── generators │ │ │ ├── workspace │ │ │ ├── files │ │ │ │ ├── .nvmrc │ │ │ │ ├── .eslintrc.json.ejs │ │ │ │ ├── .prettierignore │ │ │ │ ├── .prettierrc.js.ejs │ │ │ │ ├── cli │ │ │ │ ├── tsconfig.base.json │ │ │ │ ├── .eslintrc-backend.js.ejs │ │ │ │ └── lint-staged.config.js.ejs │ │ │ ├── constants │ │ │ │ ├── index.ts │ │ │ │ └── workspace.ts │ │ │ └── schema.d.ts │ │ │ ├── library │ │ │ ├── constants │ │ │ │ ├── index.ts │ │ │ │ └── package-json.ts │ │ │ ├── files │ │ │ │ ├── base │ │ │ │ │ ├── .eslintrc.json.ejs │ │ │ │ │ └── tsconfig.json.ejs │ │ │ │ └── jest │ │ │ │ │ ├── files │ │ │ │ │ └── test │ │ │ │ │ │ └── jest.config.ts.ejs │ │ │ │ │ └── preset │ │ │ │ │ └── jest.preset.js.ejs │ │ │ └── schema.d.ts │ │ │ ├── docker │ │ │ ├── schema.d.ts │ │ │ ├── files │ │ │ │ └── Dockerfile.ejs │ │ │ └── schema.json │ │ │ ├── move │ │ │ └── schema.d.ts │ │ │ └── remove │ │ │ ├── schema.d.ts │ │ │ └── generator.ts │ ├── .eslintignore │ ├── .npmignore │ ├── tsconfig.json │ ├── tsconfig.build.json │ ├── .eslintrc.js │ └── release.config.cjs ├── brownie │ ├── src │ │ ├── interfaces │ │ │ ├── commands │ │ │ │ ├── .gitkeep │ │ │ │ ├── config │ │ │ │ │ ├── nx-libs.config.interface.ts │ │ │ │ │ └── workspace.config.interface.ts │ │ │ │ ├── docker │ │ │ │ │ ├── choices.constants.ts │ │ │ │ │ └── nx.ts │ │ │ │ ├── nx │ │ │ │ │ └── add.interface.ts │ │ │ │ └── workspace │ │ │ │ │ └── create.interface.ts │ │ │ ├── index.ts │ │ │ ├── config │ │ │ │ ├── workspace.config.interface.ts │ │ │ │ └── nx-schematics.config.interface.ts │ │ │ └── lock-file.interface.ts │ │ ├── index.ts │ │ ├── hooks │ │ │ ├── not-found.hook.ts │ │ │ └── update.hook.ts │ │ ├── constants │ │ │ ├── file.constants.ts │ │ │ ├── index.ts │ │ │ ├── develop.constants.ts │ │ │ └── package-manager.constants.ts │ │ ├── commands │ │ │ └── gitlab │ │ │ │ └── index.ts │ │ └── helpers │ │ │ └── brownie-locker.ts │ ├── templates │ │ ├── base │ │ │ ├── docker-compose.yml │ │ │ ├── env.yml.j2 │ │ │ ├── ports.yml.j2 │ │ │ ├── image.yml.j2 │ │ │ └── docker-compose.yml.j2 │ │ └── containers │ │ │ ├── db-mysql │ │ │ ├── ports.yml │ │ │ ├── config.yml │ │ │ ├── env.yml │ │ │ └── volumes.yml │ │ │ ├── db-mongodb │ │ │ ├── ports.yml │ │ │ ├── config.yml │ │ │ ├── env.yml │ │ │ └── volumes.yml │ │ │ ├── db-postgresql │ │ │ ├── ports.yml │ │ │ ├── config.yml │ │ │ ├── env.yml │ │ │ └── volumes.yml │ │ │ ├── rabbitmq │ │ │ ├── ports.yml │ │ │ └── config.yml │ │ │ └── nx │ │ │ ├── volumes.yml │ │ │ ├── config.yml │ │ │ └── env.yml │ ├── bin │ │ ├── run.cmd │ │ └── run.js │ ├── .npmignore │ ├── config │ │ └── workspace.yml │ ├── .eslintrc.js │ ├── tsconfig.build.json │ ├── release.config.cjs │ └── tsconfig.json ├── eslint-config │ ├── .npmignore │ ├── .eslintrc │ ├── .eslintignore │ ├── constants.js │ ├── .prettierrc.js │ ├── import-strict.js │ ├── release.config.cjs │ ├── .gitignore │ └── react-typescript.js ├── deep-merge │ ├── .npmignore │ ├── src │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── interface.ts │ │ └── utils.ts │ ├── docs │ │ ├── .nojekyll │ │ ├── enums │ │ │ └── ArrayMergeBehavior.md │ │ └── interfaces │ │ │ └── DeepMergeOptions.md │ ├── tsconfig.json │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── .gitignore ├── nestjs-keycloak │ ├── .npmignore │ ├── src │ │ ├── interfaces │ │ │ └── index.ts │ │ ├── admin │ │ │ ├── decorators │ │ │ │ ├── index.ts │ │ │ │ └── inject.decorator.ts │ │ │ ├── admin.constants.ts │ │ │ └── index.ts │ │ ├── connect │ │ │ ├── guards │ │ │ │ ├── index.ts │ │ │ │ └── guard.interface.ts │ │ │ ├── index.ts │ │ │ └── decorators │ │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── graphql.ts │ │ └── restful.ts │ ├── docs │ │ ├── .nojekyll │ │ └── README.md │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── tsconfig.json │ ├── release.config.cjs │ └── .gitignore ├── nestjs-seeder │ ├── .npmignore │ ├── src │ │ ├── interfaces │ │ │ ├── index.ts │ │ │ ├── seeds.interface.ts │ │ │ └── seed.ts │ │ ├── constants │ │ │ ├── index.ts │ │ │ └── injection.constants.ts │ │ ├── module │ │ │ ├── decorators │ │ │ │ ├── index.ts │ │ │ │ └── inject.decorator.ts │ │ │ ├── seeder.constants.ts │ │ │ ├── seeder.interface.ts │ │ │ └── index.ts │ │ └── index.ts │ ├── docs │ │ └── .nojekyll │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ ├── tsconfig.json │ └── .gitignore ├── nx-nest │ ├── .eslintignore │ ├── src │ │ ├── constant │ │ │ ├── jest │ │ │ │ ├── index.ts │ │ │ │ └── dependencies.ts │ │ │ ├── seeder │ │ │ │ ├── index.ts │ │ │ │ └── dependencies.ts │ │ │ ├── application │ │ │ │ ├── index.ts │ │ │ │ └── docker.ts │ │ │ ├── database-orm │ │ │ │ ├── index.ts │ │ │ │ └── dependencies.ts │ │ │ ├── workspace │ │ │ │ └── index.ts │ │ │ ├── microservice-provider │ │ │ │ ├── index.ts │ │ │ │ ├── docker.ts │ │ │ │ └── dependencies.ts │ │ │ ├── index.ts │ │ │ └── database.enum.ts │ │ ├── generators │ │ │ ├── workspace │ │ │ │ ├── files │ │ │ │ │ ├── service-docker-compose.yml.ejs │ │ │ │ │ ├── .nvmrc.ejs │ │ │ │ │ ├── .eslintrc.json.ejs │ │ │ │ │ ├── tsconfig.base.json │ │ │ │ │ ├── lint-staged.config.js.ejs │ │ │ │ │ ├── .eslintrc-backend.js.ejs │ │ │ │ │ └── docker-compose.yml.ejs │ │ │ │ └── schema.d.ts │ │ │ ├── database-orm │ │ │ │ ├── files │ │ │ │ │ ├── mongoose │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ ├── migration │ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ │ └── util │ │ │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ │ │ ├── base-entity.ts.ejs │ │ │ │ │ │ │ │ │ └── base-entity-with-timestamps.ts.ejs │ │ │ │ │ │ │ ├── util │ │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ │ └── migration-task │ │ │ │ │ │ │ │ │ └── migration.module.ts.ejs │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── database │ │ │ │ │ │ │ │ └── migration │ │ │ │ │ │ │ │ └── migration.module.ts.ejs │ │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ │ └── .eslintrc.json.ejs │ │ │ │ │ ├── typeorm │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ ├── migration │ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ │ └── util │ │ │ │ │ │ │ │ │ └── index.ts.ejs │ │ │ │ │ │ │ ├── util │ │ │ │ │ │ │ │ └── index.ts.ejs │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── database │ │ │ │ │ │ │ │ ├── orm.config.ts.ejs │ │ │ │ │ │ │ │ └── database-options.ts.ejs │ │ │ │ │ │ ├── tsconfig.json.ejs │ │ │ │ │ │ └── .eslintrc.json.ejs │ │ │ │ │ ├── docker │ │ │ │ │ │ └── init-mongodb.js.ejs │ │ │ │ │ └── migration-task │ │ │ │ │ │ └── migration.module.ts.ejs │ │ │ │ └── schema.d.ts │ │ │ ├── library │ │ │ │ ├── files │ │ │ │ │ ├── base │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ └── index.ts.ejs │ │ │ │ │ │ ├── .eslintrc.json.ejs │ │ │ │ │ │ └── tsconfig.json.ejs │ │ │ │ │ └── jest │ │ │ │ │ │ ├── files │ │ │ │ │ │ └── test │ │ │ │ │ │ │ └── jest.config.ts.ejs │ │ │ │ │ │ └── preset │ │ │ │ │ │ └── jest.preset.js.ejs │ │ │ │ └── schema.d.ts │ │ │ ├── seeder │ │ │ │ ├── files │ │ │ │ │ ├── src │ │ │ │ │ │ ├── seeder │ │ │ │ │ │ │ ├── factory │ │ │ │ │ │ │ │ ├── util │ │ │ │ │ │ │ │ │ └── index.ts.ejs │ │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ │ └── default.factory.ts.ejs │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ ├── seed │ │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ │ └── 00-default.seed.ts.ejs │ │ │ │ │ │ │ └── seeder.module.ts.ejs │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ └── util │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── seeder-command │ │ │ │ │ │ │ └── seeder.module.ts.ejs │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ └── .eslintrc.json.ejs │ │ │ │ └── schema.d.ts │ │ │ ├── application │ │ │ │ ├── files │ │ │ │ │ ├── base │ │ │ │ │ │ ├── .dockerignore │ │ │ │ │ │ ├── config │ │ │ │ │ │ │ ├── test.yml │ │ │ │ │ │ │ ├── custom-environment-variables.yml.ejs │ │ │ │ │ │ │ └── default.yml.ejs │ │ │ │ │ │ ├── .eslintrc.json.ejs │ │ │ │ │ │ ├── tsconfig.json.ejs │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ └── constants.ts.ejs │ │ │ │ │ │ ├── tsconfig.build.json.ejs │ │ │ │ │ │ ├── package.json.ejs │ │ │ │ │ │ └── Dockerfile.ejs │ │ │ │ │ ├── command │ │ │ │ │ │ ├── modules │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── default │ │ │ │ │ │ │ │ └── default.module.ts.ejs │ │ │ │ │ │ ├── init.ts.ejs │ │ │ │ │ │ └── command.module.ts.ejs │ │ │ │ │ ├── server │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── default │ │ │ │ │ │ │ ├── default.module.ts.ejs │ │ │ │ │ │ │ └── default.service.ts.ejs │ │ │ │ │ ├── microservice │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── default │ │ │ │ │ │ │ └── default.module.ts.ejs │ │ │ │ │ ├── microservice-queue │ │ │ │ │ │ ├── patterns │ │ │ │ │ │ │ └── __projectName__.pattern.ts.ejs │ │ │ │ │ │ └── interfaces │ │ │ │ │ │ │ └── __projectName__.interface.ts.ejs │ │ │ │ │ ├── jest │ │ │ │ │ │ ├── files │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ └── jest.config.ts.ejs │ │ │ │ │ │ ├── e2e │ │ │ │ │ │ │ ├── files │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ └── jest-e2e.config.ts.ejs │ │ │ │ │ │ │ └── preset │ │ │ │ │ │ │ │ └── jest-e2e.preset.js.ejs │ │ │ │ │ │ └── preset │ │ │ │ │ │ │ └── jest.preset.js.ejs │ │ │ │ │ └── task │ │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ └── default │ │ │ │ │ │ │ ├── default.module.ts.ejs │ │ │ │ │ │ │ └── default.task.ts.ejs │ │ │ │ │ │ └── init.ts.ejs │ │ │ │ ├── utils │ │ │ │ │ ├── index.ts │ │ │ │ │ └── add-plugin.ts │ │ │ │ └── schema.d.ts │ │ │ ├── resource │ │ │ │ ├── files │ │ │ │ │ ├── seeder │ │ │ │ │ │ └── seeder │ │ │ │ │ │ │ ├── factory │ │ │ │ │ │ │ ├── util │ │ │ │ │ │ │ │ └── index.ts.ejs │ │ │ │ │ │ │ └── __fileName__.factory.ts.ejs │ │ │ │ │ │ │ └── seed │ │ │ │ │ │ │ └── __fileName__.seed.ts.ejs │ │ │ │ │ ├── server │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── __fileName__ │ │ │ │ │ │ │ ├── __fileName__.service.ts.ejs │ │ │ │ │ │ │ └── __fileName__.module.ts.ejs │ │ │ │ │ ├── task │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── __fileName__ │ │ │ │ │ │ │ ├── __fileName__.module.ts.ejs │ │ │ │ │ │ │ └── __fileName__.task.ts.ejs │ │ │ │ │ ├── command │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── __fileName__ │ │ │ │ │ │ │ └── __fileName__.module.ts.ejs │ │ │ │ │ └── microservice │ │ │ │ │ │ └── modules │ │ │ │ │ │ └── __fileName__ │ │ │ │ │ │ └── __fileName__.module.ts.ejs │ │ │ │ └── schema.d.ts │ │ │ ├── microservice-provider │ │ │ │ ├── files │ │ │ │ │ ├── src │ │ │ │ │ │ ├── patterns │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── default.pattern.ts.ejs │ │ │ │ │ │ ├── interfaces │ │ │ │ │ │ │ ├── index.ts.ejs │ │ │ │ │ │ │ └── default.interface.ts.ejs │ │ │ │ │ │ └── index.ts.ejs │ │ │ │ │ ├── .eslintrc.json.ejs │ │ │ │ │ └── tsconfig.json.ejs │ │ │ │ └── schema.d.ts │ │ │ └── database-target │ │ │ │ ├── schema.d.ts │ │ │ │ └── schema.json │ │ └── utils │ │ │ ├── index.ts │ │ │ └── apply-tasks.ts │ ├── .npmignore │ ├── tsconfig.json │ ├── tsconfig.build.json │ ├── .eslintrc.js │ └── release.config.cjs ├── nx-tools │ ├── .eslintignore │ ├── src │ │ ├── utils │ │ │ ├── builders │ │ │ │ └── index.ts │ │ │ ├── node │ │ │ │ └── index.ts │ │ │ ├── schematics │ │ │ │ ├── generate-name-cases.interface.ts │ │ │ │ ├── parse-arguments.interface.ts │ │ │ │ ├── dependency-calculator.interface.ts │ │ │ │ ├── is-development-mode.ts │ │ │ │ ├── is-verbose.ts │ │ │ │ ├── generate-name-cases.ts │ │ │ │ ├── index.ts │ │ │ │ └── parse-arguments.ts │ │ │ ├── logger │ │ │ │ ├── colorette.ts │ │ │ │ ├── index.ts │ │ │ │ ├── pipe-process-to-logger.interface.ts │ │ │ │ └── pipe-process-to-listr.ts │ │ │ ├── package-manager │ │ │ │ └── index.ts │ │ │ ├── prompts │ │ │ │ └── index.ts │ │ │ ├── file-system │ │ │ │ ├── index.ts │ │ │ │ ├── node-bin.interface.ts │ │ │ │ ├── general.ts │ │ │ │ └── format-files.interface.ts │ │ │ ├── index.ts │ │ │ ├── linter-versions.interface.ts │ │ │ └── linter-versions.constants.ts │ │ ├── interfaces │ │ │ ├── environment-variables.interface.ts │ │ │ ├── schematic.interface.ts │ │ │ ├── assets.interface.ts │ │ │ ├── extensions.interface.ts │ │ │ ├── linter-dependencies.interface.ts │ │ │ ├── schematic-files.interface.ts │ │ │ ├── execa-arguments.interface.ts │ │ │ ├── add-project.interface.ts │ │ │ └── index.ts │ │ ├── constants │ │ │ ├── token.constants.ts │ │ │ ├── index.ts │ │ │ └── nx.constants.ts │ │ ├── templates │ │ │ ├── index.ts │ │ │ └── jinja-defaults.ts │ │ ├── tasks │ │ │ ├── run-package-manager │ │ │ │ ├── index.ts │ │ │ │ └── run-package-manager.interface.ts │ │ │ ├── index.ts │ │ │ └── manage-multiple-tasks.interface.ts │ │ ├── index.ts │ │ ├── schematics │ │ │ ├── exports │ │ │ │ ├── files │ │ │ │ │ └── exports.ts.j2 │ │ │ │ └── main.interface.ts │ │ │ └── package-manager │ │ │ │ ├── main.interface.ts │ │ │ │ └── main.ts │ │ ├── integration │ │ │ ├── index.ts │ │ │ └── brownie.interface.ts │ │ └── rules │ │ │ ├── update-package-json.rule.interface.ts │ │ │ ├── run.rule.ts │ │ │ └── add-nx-implicit-dependencies.rule.ts │ ├── .npmignore │ ├── docs │ │ ├── .nojekyll │ │ ├── interfaces │ │ │ ├── LoggerOptions.md │ │ │ ├── BaseCreateApplicationFilesOptions.md │ │ │ ├── CreateApplicationRuleOptions.md │ │ │ ├── BaseSchemaModes.md │ │ │ ├── PackageManagerCtx.md │ │ │ ├── BaseSchemaParent.md │ │ │ ├── FileInputOutput.md │ │ │ ├── BaseSchemaName.md │ │ │ ├── BrownieIntegration.md │ │ │ ├── NodeBinaryPathExtensions.md │ │ │ └── BaseNormalizedSchemaSrcRoot.md │ │ └── enums │ │ │ ├── NxConstants.md │ │ │ └── NxProjectTypes.md │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── schematics.json ├── ts-utility-types │ ├── .npmignore │ ├── src │ │ ├── index.ts │ │ ├── function.ts │ │ ├── array.ts │ │ └── config.ts │ ├── docs │ │ └── .nojekyll │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── tsconfig.json │ ├── release.config.cjs │ └── .gitignore ├── nestjs-keycloak-seeder │ ├── .npmignore │ ├── src │ │ ├── interfaces │ │ │ ├── index.ts │ │ │ ├── keycloak-seed.interface.ts │ │ │ └── keycloak-seed.ts │ │ ├── constants │ │ │ ├── index.ts │ │ │ └── injection.constants.ts │ │ ├── module │ │ │ ├── decorators │ │ │ │ ├── index.ts │ │ │ │ └── inject.decorator.ts │ │ │ └── index.ts │ │ ├── utils │ │ │ └── index.ts │ │ └── index.ts │ ├── docs │ │ └── .nojekyll │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ ├── tsconfig.json │ └── .gitignore ├── nestjs-util-graphql │ ├── src │ │ ├── index.ts │ │ └── filter │ │ │ ├── index.ts │ │ │ └── interface │ │ │ └── index.ts │ ├── .npmignore │ ├── docs │ │ └── .nojekyll │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── .gitignore ├── nx-builders │ ├── .eslintignore │ ├── src │ │ ├── interfaces │ │ │ ├── index.ts │ │ │ └── available.constants.ts │ │ ├── integration │ │ │ ├── index.ts │ │ │ └── nx-builders.interface.ts │ │ ├── schematics │ │ │ └── init │ │ │ │ └── main.interface.ts │ │ ├── utils │ │ │ ├── versions.interface.ts │ │ │ └── versions.constants.ts │ │ └── index.ts │ ├── .npmignore │ ├── docs │ │ ├── .nojekyll │ │ └── enums │ │ │ └── AvailableBuilders.md │ ├── tsconfig.build.json │ ├── migrations.json │ ├── schematics.json │ ├── .eslintrc.js │ └── release.config.cjs ├── nestjs-util-microservices │ ├── src │ │ ├── index.ts │ │ └── module │ │ │ ├── index.ts │ │ │ └── microservice-client │ │ │ ├── decorators │ │ │ ├── index.ts │ │ │ └── inject.decorator.ts │ │ │ └── index.ts │ ├── .npmignore │ ├── docs │ │ ├── .nojekyll │ │ └── interfaces │ │ │ └── MicroserviceProviderServiceOptions.md │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── .gitignore ├── nestjs-util │ ├── src │ │ ├── module │ │ │ ├── index.ts │ │ │ └── maintenance │ │ │ │ ├── decorators │ │ │ │ ├── index.ts │ │ │ │ └── inject.decorator.ts │ │ │ │ ├── index.ts │ │ │ │ ├── maintenance.interfaces.ts │ │ │ │ └── maintenance.module.ts │ │ ├── pipes │ │ │ ├── index.ts │ │ │ └── validation.pipe.ts │ │ ├── decorator │ │ │ └── index.ts │ │ ├── provider │ │ │ ├── logger │ │ │ │ ├── index.ts │ │ │ │ └── logger.constants.ts │ │ │ ├── index.ts │ │ │ └── config │ │ │ │ ├── config.interfaces.ts │ │ │ │ ├── config.constants.ts │ │ │ │ └── index.ts │ │ ├── middleware │ │ │ ├── index.ts │ │ │ └── info-header.ts │ │ ├── interface │ │ │ ├── index.ts │ │ │ ├── response.interface.ts │ │ │ └── request.interface.ts │ │ ├── util │ │ │ ├── guards │ │ │ │ ├── index.ts │ │ │ │ └── is-request.guard.ts │ │ │ ├── use-retry.interface.ts │ │ │ ├── index.ts │ │ │ └── time.ts │ │ ├── filters │ │ │ ├── index.ts │ │ │ └── interfaces │ │ │ │ ├── class-validator-error.interface.ts │ │ │ │ ├── index.ts │ │ │ │ └── guards │ │ │ │ ├── is-generic-string-error.guard.ts │ │ │ │ ├── is-generic-error.guard.ts │ │ │ │ ├── is-http-exception.guard.ts │ │ │ │ ├── is-rpc-exception.guard.ts │ │ │ │ ├── is-enriched-exception.guard.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-serialized-enriched-exception.guard.ts │ │ │ │ └── is-serialized-error.guard.ts │ │ └── index.ts │ ├── .npmignore │ ├── docs │ │ ├── .nojekyll │ │ └── classes │ │ │ └── MaintenanceModule.md │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── .gitignore ├── nestjs-util-restful │ ├── src │ │ ├── module │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ ├── index.ts │ │ │ │ ├── internal.module.ts │ │ │ │ └── internal.interface.ts │ │ ├── provider │ │ │ ├── index.ts │ │ │ └── swagger │ │ │ │ ├── index.ts │ │ │ │ └── swagger.interfaces.ts │ │ ├── index.ts │ │ └── interceptor │ │ │ ├── index.ts │ │ │ └── cache-lifetime.interface.ts │ ├── .npmignore │ ├── docs │ │ ├── .nojekyll │ │ ├── classes │ │ │ └── InternalModule.md │ │ └── README.md │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── .gitignore ├── patch-package │ ├── bin │ │ ├── run.cmd │ │ └── run.js │ ├── src │ │ ├── constants │ │ │ ├── index.ts │ │ │ └── file.constants.ts │ │ └── hooks │ │ │ └── not-found.hook.ts │ ├── .npmignore │ ├── patches │ │ ├── class-transformer-promises │ │ │ └── description.txt │ │ └── graphql-error-wrap │ │ │ └── description.txt │ ├── .eslintrc.js │ ├── tsconfig.build.json │ ├── release.config.cjs │ └── tsconfig.json ├── nestjs-graphql-typeorm-dataloader │ ├── .npmignore │ ├── src │ │ ├── plugins │ │ │ └── index.ts │ │ ├── interceptors │ │ │ └── index.ts │ │ ├── constants │ │ │ ├── index.ts │ │ │ └── context.constants.ts │ │ ├── decorators │ │ │ └── index.ts │ │ ├── middleware │ │ │ └── index.ts │ │ ├── loaders │ │ │ ├── index.ts │ │ │ ├── to-one.loader.ts │ │ │ └── to-many.loader.ts │ │ ├── interfaces │ │ │ ├── typeorm-loader.interface.ts │ │ │ ├── typeorm-loader-handler.interface.ts │ │ │ ├── batch-loader.interface.ts │ │ │ ├── context.interface.ts │ │ │ └── apollo-server-plugin.interface.ts │ │ ├── loader-handlers │ │ │ └── index.ts │ │ └── index.ts │ ├── docs │ │ └── .nojekyll │ ├── tsconfig.build.json │ ├── .eslintrc.js │ ├── release.config.cjs │ └── tsconfig.json └── nx-executors │ ├── .eslintignore │ ├── .npmignore │ ├── src │ ├── executors │ │ ├── inteface.ts │ │ ├── tsc │ │ │ └── schema.d.ts │ │ ├── run │ │ │ └── schema.d.ts │ │ ├── jest │ │ │ └── schema.d.ts │ │ └── ts-node-dev │ │ │ └── schema.d.ts │ └── index.ts │ ├── plugin │ ├── tsc.js │ ├── jest.js │ ├── index.js │ └── ts-node-dev.js │ ├── tsconfig.build.json │ ├── tsconfig.json │ ├── .eslintrc.js │ └── release.config.cjs ├── .rgignore ├── cli ├── .prettierrc.cjs ├── .vscode └── settings.json ├── nx.json ├── .eslintrc.cjs ├── lerna.json ├── scripts ├── link-packages.sh └── link-packages-to-workspace.sh └── release.config.cjs /.nvmrc: -------------------------------------------------------------------------------- 1 | 18 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/docs/ 2 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | "--ignore-engines" true 2 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/index.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/eslint-config/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !*.js 3 | -------------------------------------------------------------------------------- /packages/deep-merge/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | -------------------------------------------------------------------------------- /packages/eslint-config/.eslintrc: -------------------------------------------------------------------------------- 1 | { "extends": "./index" } 2 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | -------------------------------------------------------------------------------- /packages/nx-nest/.eslintignore: -------------------------------------------------------------------------------- 1 | **/files/**/* 2 | **/assets/**/* 3 | -------------------------------------------------------------------------------- /packages/nx-tools/.eslintignore: -------------------------------------------------------------------------------- 1 | **/files/**/* 2 | **/assets/**/* 3 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/.nvmrc: -------------------------------------------------------------------------------- 1 | 18 2 | -------------------------------------------------------------------------------- /packages/ts-utility-types/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | -------------------------------------------------------------------------------- /packages/brownie/templates/base/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mysql/ports.yml: -------------------------------------------------------------------------------- 1 | - 3306:3306 2 | -------------------------------------------------------------------------------- /packages/eslint-config/.eslintignore: -------------------------------------------------------------------------------- 1 | package.json 2 | node_modules/** 3 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './seed' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './filter' 2 | -------------------------------------------------------------------------------- /packages/nx-builders/.eslintignore: -------------------------------------------------------------------------------- 1 | **/files/**/* 2 | **/assets/**/* 3 | -------------------------------------------------------------------------------- /packages/nx-workspace/.eslintignore: -------------------------------------------------------------------------------- 1 | **/files/**/* 2 | **/assets/**/* 3 | -------------------------------------------------------------------------------- /packages/brownie/bin/run.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | node "%~dp0\run.js" %* 4 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mongodb/ports.yml: -------------------------------------------------------------------------------- 1 | - 27017:27017 2 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-postgresql/ports.yml: -------------------------------------------------------------------------------- 1 | - 5432:5432 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './module' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/module/index.ts: -------------------------------------------------------------------------------- 1 | export * from './maintenance' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/pipes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './validation.pipe' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/jest/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependencies' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/service-docker-compose.yml.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lock-file.interface' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/module/index.ts: -------------------------------------------------------------------------------- 1 | export * from './internal' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/provider/index.ts: -------------------------------------------------------------------------------- 1 | export * from './swagger' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/.npmignore: -------------------------------------------------------------------------------- 1 | # source code 2 | ** 3 | !/dist 4 | !/dist/** 5 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/decorator/index.ts: -------------------------------------------------------------------------------- 1 | export * from './retry.decorator' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/seeder/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependencies' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/migration/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/migration/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/library/files/base/src/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/factory/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/.nvmrc.ejs: -------------------------------------------------------------------------------- 1 | <%= NODE_VERSION %> 2 | -------------------------------------------------------------------------------- /packages/patch-package/bin/run.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | node "%~dp0\run.js" %* 4 | -------------------------------------------------------------------------------- /packages/patch-package/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './file.constants' 2 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './request.interface' 2 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './injection.constants' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/provider/logger/index.ts: -------------------------------------------------------------------------------- 1 | export * from './logger.service' 2 | -------------------------------------------------------------------------------- /packages/nx-builders/src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './available.constants' 2 | -------------------------------------------------------------------------------- /packages/nx-executors/.eslintignore: -------------------------------------------------------------------------------- 1 | **/files/**/* 2 | **/assets/**/* 3 | plugin/** 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/.dockerignore: -------------------------------------------------------------------------------- 1 | config/local* 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/config/test.yml: -------------------------------------------------------------------------------- 1 | # jest config 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/seeder/seeder/factory/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './util' 2 | -------------------------------------------------------------------------------- /packages/nx-workspace/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !generators.json 5 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-postgresql/config.yml: -------------------------------------------------------------------------------- 1 | image: postgres:15-alpine 2 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/rabbitmq/ports.yml: -------------------------------------------------------------------------------- 1 | - 15672:15672 2 | - 5672:5672 3 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './keycloak-seed' 2 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/admin/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './inject.decorator' 2 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/module/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './inject.decorator' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/.npmignore: -------------------------------------------------------------------------------- 1 | # source code 2 | ** 3 | !/dist 4 | !/dist/** 5 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/.npmignore: -------------------------------------------------------------------------------- 1 | # source code 2 | ** 3 | !/dist 4 | !/dist/** 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './add-plugin' 2 | -------------------------------------------------------------------------------- /packages/brownie/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './interfaces' 2 | export * from './constants' 3 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/rabbitmq/config.yml: -------------------------------------------------------------------------------- 1 | image: rabbitmq:3-management-alpine 2 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './injection.constants' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/.npmignore: -------------------------------------------------------------------------------- 1 | # source code 2 | ** 3 | !/dist 4 | !/dist/** 5 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/src/module/index.ts: -------------------------------------------------------------------------------- 1 | export * from './microservice-client' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/module/internal/index.ts: -------------------------------------------------------------------------------- 1 | export * from './internal.module' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/provider/swagger/index.ts: -------------------------------------------------------------------------------- 1 | export * from './swagger.service' 2 | -------------------------------------------------------------------------------- /packages/nx-executors/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !plugin/** 5 | !executors.json 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/entity/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/entity/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export {} 2 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './package-json' 2 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/module/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './inject.decorator' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/provider/index.ts: -------------------------------------------------------------------------------- 1 | export * from './config' 2 | export * from './logger' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !generators.json 5 | !migrations.json 6 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mongodb/config.yml: -------------------------------------------------------------------------------- 1 | image: mongo:7 2 | command: --directoryperdb 3 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mysql/config.yml: -------------------------------------------------------------------------------- 1 | image: mysql:8.1 2 | cap_add: 3 | - sys_nice 4 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/plugins/index.ts: -------------------------------------------------------------------------------- 1 | export * from './data-loader.plugin' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/provider/config/config.interfaces.ts: -------------------------------------------------------------------------------- 1 | export type Config = Record 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './seeder.module' 2 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/module/seeder.constants.ts: -------------------------------------------------------------------------------- 1 | export const SEEDER_SERVICE = Symbol('SEEDER_SERVICE') 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/middleware/index.ts: -------------------------------------------------------------------------------- 1 | export * from './info-header' 2 | export * from './maintenance' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/seed/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './00-default.seed' 2 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/interceptors/index.ts: -------------------------------------------------------------------------------- 1 | export * from './data-loader.interceptor' 2 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/constants/injection.constants.ts: -------------------------------------------------------------------------------- 1 | export const SEEDER_SEEDS = Symbol('SEEDER_SEEDS') 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/provider/config/config.constants.ts: -------------------------------------------------------------------------------- 1 | export const CONFIG_PARAMS = Symbol('config-param') 2 | -------------------------------------------------------------------------------- /packages/nx-executors/src/executors/inteface.ts: -------------------------------------------------------------------------------- 1 | export interface ExecutorResult { 2 | success: boolean 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/application/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependencies' 2 | export * from './docker' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/database-orm/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependencies' 2 | export * from './docker' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/workspace/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependencies' 2 | export * from './package-json' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/factory/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './default.factory' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './seeder-command/seeder.module' 2 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/builders/index.ts: -------------------------------------------------------------------------------- 1 | export * from './base-executor' 2 | export * from './run-executor' 3 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/src/filter/index.ts: -------------------------------------------------------------------------------- 1 | export * from './interface' 2 | export * from './graphql-error-parser' 3 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/src/filter/interface/index.ts: -------------------------------------------------------------------------------- 1 | export * from './graphql-preformatted-exception.interface' 2 | -------------------------------------------------------------------------------- /packages/nx-builders/src/integration/index.ts: -------------------------------------------------------------------------------- 1 | export * from './nx-builders' 2 | export * from './nx-builders.interface' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/command/modules/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './default/default.module' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/server/modules/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './default/default.module' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/entity/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './base-entity' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/src/patterns/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './default.pattern' 2 | -------------------------------------------------------------------------------- /packages/nx-tools/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !builders.json 5 | !schematics.json 6 | !collections.json 7 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/node/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependency-resolver' 2 | export * from './process-manager' 3 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/nx/volumes.yml: -------------------------------------------------------------------------------- 1 | - from: . 2 | to: /data 3 | mode: mount 4 | options: delegated 5 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/connect/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './auth-base.guard' 2 | export * from './guard.interface' 3 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './admin' 2 | export * from './connect' 3 | export * from './interfaces' 4 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/src/module/microservice-client/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './inject.decorator' 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/interface/index.ts: -------------------------------------------------------------------------------- 1 | export * from './request.interface' 2 | export * from './response.interface' 3 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/provider/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from './config.service' 2 | export * from './config.decorators' 3 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/util/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './is-request.guard' 2 | export * from './is-response.guard' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/microservice-provider/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dependencies' 2 | export * from './docker' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/microservice/modules/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './default/default.module' 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/src/interfaces/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './default.interface' 2 | -------------------------------------------------------------------------------- /packages/patch-package/src/constants/file.constants.ts: -------------------------------------------------------------------------------- 1 | export enum FileLocations { 2 | PATCHES_DIR = './patches' 3 | } 4 | -------------------------------------------------------------------------------- /packages/brownie/templates/base/env.yml.j2: -------------------------------------------------------------------------------- 1 | {% if env is defined %} 2 | {{ { environment: env } | to_nice_yaml }} 3 | {% endif %} 4 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './keycloak-filter' 2 | export * from './keycloak-seeder-tools' 3 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constants' 2 | export * from './interfaces' 3 | export * from './module' 4 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/module/seeder.interface.ts: -------------------------------------------------------------------------------- 1 | export interface SeederModuleOptions { 2 | token?: string | symbol 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/environment-variables.interface.ts: -------------------------------------------------------------------------------- 1 | export type EnvironmentVariables = Record 2 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './package-json' 2 | export * from './workspace' 3 | -------------------------------------------------------------------------------- /packages/brownie/templates/base/ports.yml.j2: -------------------------------------------------------------------------------- 1 | {% if ports is defined %} 2 | {{ { 'ports': ports } | to_nice_yaml }} 3 | {% endif %} 4 | -------------------------------------------------------------------------------- /packages/deep-merge/src/constants.ts: -------------------------------------------------------------------------------- 1 | export enum ArrayMergeBehavior { 2 | UNIQUE = 'UNIQUE', 3 | OVERWRITE = 'OVERWRITE' 4 | } 5 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './module' 2 | export * from './provider' 3 | export * from './interceptor' 4 | -------------------------------------------------------------------------------- /packages/brownie/src/hooks/not-found.hook.ts: -------------------------------------------------------------------------------- 1 | import { notFoundHook } from '@cenk1cenk2/oclif-common' 2 | 3 | export default notFoundHook 4 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/constants/injection.constants.ts: -------------------------------------------------------------------------------- 1 | export const KEYCLOAK_SEEDER_SEEDS = Symbol('KEYCLOAK_SEEDER_SEEDS') 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/module/maintenance/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './inject.decorator' 2 | export * from './locker.decorator' 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-target/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface DatabaseTargetGeneratorSchema { 2 | project?: string 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/library/files/base/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"] } 2 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/patch-package/src/hooks/not-found.hook.ts: -------------------------------------------------------------------------------- 1 | import { notFoundHook } from '@cenk1cenk2/oclif-common' 2 | 3 | export default notFoundHook -------------------------------------------------------------------------------- /packages/nx-builders/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !builders.json 5 | !schematics.json 6 | !migrations.json 7 | !collections.json 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/index.ts: -------------------------------------------------------------------------------- 1 | export * from './component' 2 | export * from './database.enum' 3 | 4 | export const NODE_VERSION = 22 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"] } 2 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/files/base/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"] } 2 | -------------------------------------------------------------------------------- /packages/brownie/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !bin/ 5 | !bin/** 6 | !config/ 7 | !config/** 8 | !templates/ 9 | !templates/** 10 | -------------------------------------------------------------------------------- /packages/brownie/src/hooks/update.hook.ts: -------------------------------------------------------------------------------- 1 | import { updateNotifierHook } from '@cenk1cenk2/oclif-common' 2 | 3 | export default updateNotifierHook 4 | -------------------------------------------------------------------------------- /packages/deep-merge/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './merge' 2 | export * from './constants' 3 | export * from './interface' 4 | export * from './utils' 5 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './context.constants' 2 | export * from './extension-field.constants' 3 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/interceptor/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cache-lifetime.interceptor' 2 | export * from './request-profiler.interceptor' 3 | -------------------------------------------------------------------------------- /.rgignore: -------------------------------------------------------------------------------- 1 | **/docs/** 2 | **/README.md* 3 | **/LICENSE 4 | **/.npmignore 5 | **/.eslintignore 6 | **/CHANGELOG.md 7 | **/yarn.lock 8 | **/package-lock.json 9 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/tsconfig.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface SeederGeneratorSchema { 2 | project?: string 3 | skipPackageJson: boolean 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-tools/src/constants/token.constants.ts: -------------------------------------------------------------------------------- 1 | export enum ProcessToken { 2 | DEBUG_MODE = 'NG_DEBUG', 3 | DEVELOPMENT_MODE = 'NG_DEVELOP' 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/docker/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface DockerGeneratorSchema { 2 | exclude: string[] 3 | projects: string[] 4 | } 5 | -------------------------------------------------------------------------------- /packages/patch-package/.npmignore: -------------------------------------------------------------------------------- 1 | ** 2 | !dist/ 3 | !dist/** 4 | !bin/ 5 | !bin/** 6 | !config/ 7 | !config/** 8 | !patches/ 9 | !patches/** 10 | -------------------------------------------------------------------------------- /packages/ts-utility-types/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './array' 2 | export * from './function' 3 | export * from './object' 4 | export * from './config' 5 | -------------------------------------------------------------------------------- /packages/brownie/src/constants/file.constants.ts: -------------------------------------------------------------------------------- 1 | export enum ConfigurationFiles { 2 | SCHEMATICS = 'schematics.yml', 3 | WORKSPACE = 'workspace.yml' 4 | } 5 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './custom-loader.decorator' 2 | export * from './typeorm-loader.decorator' 3 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/middleware/index.ts: -------------------------------------------------------------------------------- 1 | export * from './custom-loader.middleware' 2 | export * from './typeorm-loader.middleware' 3 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/util/use-retry.interface.ts: -------------------------------------------------------------------------------- 1 | export interface UseRetryOptions { 2 | retry: number 3 | interval?: number 4 | name?: string 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/tsconfig.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/src/patterns/default.pattern.ts.ejs: -------------------------------------------------------------------------------- 1 | export enum DefaultPattern { 2 | DEFAULT = 'DEFAULT' 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/tsconfig.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["src/migration/*"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/factory/default.factory.ts.ejs: -------------------------------------------------------------------------------- 1 | export function defaultFactory (): string { 2 | return 'default' 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-tools/src/templates/index.ts: -------------------------------------------------------------------------------- 1 | export * from './jinja-defaults' 2 | export * from './template-engine' 3 | export * from './template-engine.interface' 4 | -------------------------------------------------------------------------------- /packages/brownie/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './develop.constants' 2 | export * from './file.constants' 3 | export * from './package-manager.constants' 4 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constants' 2 | export * from './interfaces' 3 | export * from './module' 4 | export * from './utils' 5 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/module/maintenance/index.ts: -------------------------------------------------------------------------------- 1 | export * from './maintenance.module' 2 | export * from './maintenance.service' 3 | export * from './decorators' 4 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/module/maintenance/maintenance.interfaces.ts: -------------------------------------------------------------------------------- 1 | export interface MaintenanceOptions { 2 | lockfile?: string 3 | message?: string 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "plugins": ["@nx"], 4 | "extends": ["./.eslintrc-backend.js"] 5 | } 6 | -------------------------------------------------------------------------------- /cli: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CONTAINER_NAME=monorepo 4 | 5 | docker-compose exec "${CONTAINER_NAME}" /bin/bash -c "source /root/.bashrc && docker-node-fnm-init proxy ${*}" 6 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mysql/env.yml: -------------------------------------------------------------------------------- 1 | MYSQL_USER: user 2 | MYSQL_PASSWORD: secret 3 | MYSQL_ROOT_PASSWORD: secret 4 | MYSQL_INITDB_MULTIPLE: db db_mock 5 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/index.ts: -------------------------------------------------------------------------------- 1 | export * from './interfaces' 2 | export * from './global-exception.filter' 3 | export * from './global-sentry-exception.filter' 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/entity/util/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './base-entity' 2 | export * from './base-entity-with-timestamps' 3 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/generate-name-cases.interface.ts: -------------------------------------------------------------------------------- 1 | export type GeneratedNameCases = Record<'camel' | 'kebab' | 'snake' | 'upper' | 'pascal', string> 2 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "plugins": ["@nx"], 4 | "extends": ["./.eslintrc-backend.js"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/deep-merge/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/module/index.ts: -------------------------------------------------------------------------------- 1 | export * from './keycloak-seeder.module' 2 | export * from './keycloak-seeder.service' 3 | export * from './decorators' 4 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/interfaces/seeds.interface.ts: -------------------------------------------------------------------------------- 1 | import type { Seed } from './seed' 2 | 3 | export type Seeds = Record Seed> 4 | -------------------------------------------------------------------------------- /packages/nestjs-util/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nx-builders/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["src/migration/*"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/.eslintrc.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["src/migration/*"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/library/files/base/tsconfig.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {}, 4 | "exclude": [] 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/brownie/templates/base/image.yml.j2: -------------------------------------------------------------------------------- 1 | {% if dockerfile is defined %} 2 | build: 3 | context: {{ './' + dir + '/' + '.' }} 4 | {% else %} 5 | image: {{ image }} 6 | {% endif %} -------------------------------------------------------------------------------- /packages/nestjs-keycloak/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nestjs-seeder/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nx-builders/src/interfaces/available.constants.ts: -------------------------------------------------------------------------------- 1 | /** Available Builders */ 2 | export enum AvailableBuilders { 3 | TSC = 'tsc', 4 | TS_NODE_DEV = 'ts-node-dev' 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './database/database-options' 2 | export * from './entity' 3 | export * from './util' 4 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/logger/colorette.ts: -------------------------------------------------------------------------------- 1 | import * as colorette from 'colorette' 2 | 3 | const color = colorette.createColors({ useColor: true }) 4 | 5 | export { color } 6 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/files/base/tsconfig.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": {}, 4 | "exclude": [] 5 | } 6 | -------------------------------------------------------------------------------- /packages/ts-utility-types/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/config/nx-libs.config.interface.ts: -------------------------------------------------------------------------------- 1 | export type NxLibrariesConfig = { 2 | name: string 3 | description: string 4 | package: string 5 | }[] 6 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/nx/config.yml: -------------------------------------------------------------------------------- 1 | image: cenk1cenk2/node-fnm:latest 2 | ports: 3 | - 3000-3020:3000-3020 4 | - 4200-4210:4200-4210 5 | - 9229-9239:9229-9239 6 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/module/index.ts: -------------------------------------------------------------------------------- 1 | export * from './decorators' 2 | export * from './seeder.constants' 3 | export * from './seeder.module' 4 | export * from './seeder.service' 5 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nestjs-util-restful/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/package-manager/index.ts: -------------------------------------------------------------------------------- 1 | export * from './package-manager.interface' 2 | export * from './package-manager.constants' 3 | export * from './package-manager' 4 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-postgresql/env.yml: -------------------------------------------------------------------------------- 1 | POSTGRES_USER: user 2 | POSTGRES_PASSWORD: secret 3 | POSTGRES_INITDB_MULTIPLE: db db_mock 4 | PGDATA: /var/lib/postgresql/data 5 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/nx/env.yml: -------------------------------------------------------------------------------- 1 | PACKAGE_MANAGER: npm 2 | DEFAULTS_LOGS: 'true' 3 | DEFAULTS_COMMAND: npm run start 4 | SERVICE_0_CWD: . 5 | PROXY_WORKSPACE_ONLY: 'true' 6 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nx-tools/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lint.constants' 2 | export * from './nx.constants' 3 | export * from './available.constants' 4 | export * from './token.constants' 5 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/move/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { Schema } from '@nx/workspace/src/generators/move/schema' 2 | 3 | export interface MoveGeneratorSchema extends Schema {} 4 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/.prettierignore: -------------------------------------------------------------------------------- 1 | # Add files here to ignore them from prettier formatting 2 | 3 | /dist 4 | /coverage 5 | /tools 6 | /temp 7 | /.cache 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/seeder/dependencies.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/naming-convention */ 2 | export const DEPENDENCIES = { 3 | '@webundsoehne/nestjs-seeder': '^2' 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/microservice-queue/patterns/__projectName__.pattern.ts.ejs: -------------------------------------------------------------------------------- 1 | export enum <%- projectNames.className -%>Pattern { 2 | DEFAULT = 'DEFAULT' 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/remove/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { Schema } from '@nx/workspace/src/generators/remove/schema' 2 | 3 | export interface RemoveGeneratorSchema extends Schema {} 4 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/docs/.nojekyll: -------------------------------------------------------------------------------- 1 | TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/application/docker.ts: -------------------------------------------------------------------------------- 1 | import { NODE_VERSION } from '../index' 2 | 3 | export const SERVICE_NAME = 'nx' 4 | export const DOCKER_IMAGE = `node:${NODE_VERSION}-alpine` 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/library/files/jest/files/test/jest.config.ts.ejs: -------------------------------------------------------------------------------- 1 | export default { 2 | displayName: '<%= name %>', 3 | rootDir: '../', 4 | preset: '../../jest.preset.js' 5 | } 6 | -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("prettier").Config} */ 3 | module.exports = { 4 | ...require('@webundsoehne/eslint-config/.prettierrc') 5 | } 6 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/admin/admin.constants.ts: -------------------------------------------------------------------------------- 1 | export const KEYCLOAK_ADMIN_OPTIONS = Symbol('KEYCLOAK_ADMIN_OPTIONS') 2 | export const KEYCLOAK_ADMIN_INSTANCE = Symbol('KEYCLOAK_ADMIN_INSTANCE') 3 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/jest/files/test/jest.config.ts.ejs: -------------------------------------------------------------------------------- 1 | export default { 2 | displayName: '<%= name %>', 3 | rootDir: '../', 4 | preset: '../../jest.preset.js' 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-tools/src/tasks/run-package-manager/index.ts: -------------------------------------------------------------------------------- 1 | export * from './run-package-manager.task' 2 | export * from './run-package-manager.interface' 3 | export * from './run-package-manager.executor' 4 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/files/jest/files/test/jest.config.ts.ejs: -------------------------------------------------------------------------------- 1 | export default { 2 | displayName: '<%= name %>', 3 | rootDir: '../', 4 | preset: '../../jest.preset.js' 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface LibraryGeneratorSchema { 2 | name: string 3 | jest: boolean 4 | skipPackageJson: boolean 5 | importPath?: string 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/.prettierrc.js.ejs: -------------------------------------------------------------------------------- 1 | /** @type {import("prettier").Config} */ 2 | module.exports = { 3 | ...require('@webundsoehne/eslint-config/.prettierrc') 4 | } 5 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/loaders/index.ts: -------------------------------------------------------------------------------- 1 | export * from './direct.loader' 2 | export * from './self-key.loader' 3 | export * from './to-many.loader' 4 | export * from './to-one.loader' 5 | -------------------------------------------------------------------------------- /packages/nx-executors/plugin/tsc.js: -------------------------------------------------------------------------------- 1 | const import_tsc = require('../dist/plugins/tsc') 2 | 3 | module.exports = { 4 | createNodes: import_tsc.createNodes, 5 | createNodesV2: import_tsc.createNodesV2 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './apply-tasks' 2 | export * from './apply-template.factory' 3 | export * from './prompts' 4 | export * from './update-source-file' 5 | export * from './yaml' 6 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/docker/choices.constants.ts: -------------------------------------------------------------------------------- 1 | export enum DockerCommandChoices { 2 | NX = 'NX', 3 | ADD = 'Add', 4 | SHOW = 'Show', 5 | REMOVE = 'Remove', 6 | PURGE = 'Purge' 7 | } 8 | -------------------------------------------------------------------------------- /packages/eslint-config/constants.js: -------------------------------------------------------------------------------- 1 | const ALL_KNOWN_JAVASCRIPT_FILE_EXTENSIONS = ['*.js', '*.cjs', '*.mjs', '*.ts', '*.tsx', '*.vue', '*.svelte'] 2 | 3 | module.exports = { ALL_KNOWN_JAVASCRIPT_FILE_EXTENSIONS } 4 | -------------------------------------------------------------------------------- /packages/nx-executors/plugin/jest.js: -------------------------------------------------------------------------------- 1 | const import_jest = require('../dist/plugins/jest') 2 | 3 | module.exports = { 4 | createNodes: import_jest.createNodes, 5 | createNodesV2: import_jest.createNodesV2 6 | } 7 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/config/workspace.config.interface.ts: -------------------------------------------------------------------------------- 1 | import type { WorkspaceConfig } from '@interfaces/config/workspace.config.interface' 2 | 3 | export type WorkspacePrompt = WorkspaceConfig 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/jest/e2e/files/test/jest-e2e.config.ts.ejs: -------------------------------------------------------------------------------- 1 | export default { 2 | displayName: '<%= name %>-e2e', 3 | rootDir: '../', 4 | preset: '../../jest-e2e.preset.js' 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/library/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface LibraryGeneratorSchema { 2 | name: string 3 | jest: boolean 4 | skipPackageJson: boolean 5 | importPath?: string 6 | update: boolean 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/seeder/seeder/factory/__fileName__.factory.ts.ejs: -------------------------------------------------------------------------------- 1 | export function <%- resourceNames.fileName -%>Factory (): string { 2 | return '<%- resourceNames.fileName -%>' 3 | } 4 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/cli: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CONTAINER_NAME=nx 4 | 5 | docker-compose exec "${CONTAINER_NAME}" /bin/bash -c "source /root/.bashrc && docker-node-fnm-init proxy ${*}" 6 | -------------------------------------------------------------------------------- /packages/patch-package/bin/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const oclif = require('@oclif/core') 4 | 5 | require('@cenk1cenk2/oclif-common').setup() 6 | 7 | oclif.run().then(oclif.flush).catch(oclif.Errors.handle) 8 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.workingDirectories": [ 3 | { 4 | "pattern": "./packages/*/", 5 | "!cwd": true 6 | } 7 | ], 8 | "typescript.tsdk": "node_modules/typescript/lib" 9 | } 10 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/admin/index.ts: -------------------------------------------------------------------------------- 1 | export * from './decorators' 2 | export * from './admin.constants' 3 | export * from './admin.module' 4 | export * from './admin.service' 5 | export * from './admin.interfaces' 6 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/connect/index.ts: -------------------------------------------------------------------------------- 1 | export * from './decorators' 2 | export * from './guards' 3 | export * from './connect.constants' 4 | export * from './connect.interfaces' 5 | export * from './connect.module' 6 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/graphql.ts: -------------------------------------------------------------------------------- 1 | export * from './connect/decorators/user-graphql.decorator' 2 | export * from './connect/decorators/token-graphql.decorator' 3 | export * from './connect/guards/auth-graphql.guard' 4 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/restful.ts: -------------------------------------------------------------------------------- 1 | export * from './connect/decorators/user-restful.decorator' 2 | export * from './connect/decorators/token-restful.decorator' 3 | export * from './connect/guards/auth-restful.guard' 4 | -------------------------------------------------------------------------------- /packages/nx-executors/plugin/index.js: -------------------------------------------------------------------------------- 1 | const import_plugin = require('../dist/plugins/plugin') 2 | 3 | module.exports = { 4 | createNodes: import_plugin.createNodes, 5 | createNodesV2: import_plugin.createNodesV2 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/src/constants.ts.ejs: -------------------------------------------------------------------------------- 1 | export enum Service { 2 | <% for (const metadata of applicationMetadata) { -%> 3 | <%- metadata.applicationConstants -%>, 4 | <% } -%> 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './database/database-options' 2 | export * from './database/migrate-options' 3 | export * from './entity' 4 | export * from './util' 5 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface WorkspaceGeneratorSchema { 2 | name: string 3 | scope: string 4 | layout: string 5 | skipPackageJson?: boolean 6 | force?: boolean 7 | } 8 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/interfaces/typeorm-loader.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Specific options for the typeorm loader itself. 3 | */ 4 | export interface TypeormLoaderOptions { 5 | selfKey?: boolean 6 | } 7 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/loader-handlers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './callback-handler.handler' 2 | export * from './to-many.handler' 3 | export * from './to-one.handler' 4 | export * from './self-key.handler' 5 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/interface/response.interface.ts: -------------------------------------------------------------------------------- 1 | import type { Response as ExpressResponse } from 'express' 2 | import type { FastifyReply } from 'fastify' 3 | 4 | export type Response = FastifyReply | ExpressResponse 5 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/util/index.ts: -------------------------------------------------------------------------------- 1 | export * from './guards' 2 | export * from './environment' 3 | export * from './process' 4 | export * from './time' 5 | export * from './use-retry' 6 | export * from './use-retry.interface' 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "plugins": [{ "transform": "typescript-transform-paths" }], 5 | "paths": {} 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/config/workspace.config.interface.ts: -------------------------------------------------------------------------------- 1 | import type { CommonNodeDependency } from '@webundsoehne/nx-tools' 2 | 3 | export interface WorkspaceConfig extends CommonNodeDependency { 4 | collection: string 5 | } 6 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mongodb/env.yml: -------------------------------------------------------------------------------- 1 | MONGO_INITDB_ROOT_USERNAME: root 2 | MONGO_INITDB_ROOT_PASSWORD: secret 3 | MONGO_NON_ROOT_USERNAME: user 4 | MONGO_NON_ROOT_PASSWORD: secret 5 | MONGO_INITDB_MULTIPLE: db db_mock 6 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/class-validator-error.interface.ts: -------------------------------------------------------------------------------- 1 | import type { ValidationError } from '@nestjs/common' 2 | 3 | export interface ClassValidatorError extends Pick {} 4 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/microservice-provider/docker.ts: -------------------------------------------------------------------------------- 1 | export const DOCKER_SERVICE_NAME = 'rabbitmq' 2 | export const DOCKER_SERVICE = { 3 | image: 'rabbitmq:4-management-alpine', 4 | ports: ['5672:5672', '15672:15672'] 5 | } 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/task/modules/index.ts.ejs: -------------------------------------------------------------------------------- 1 | <% if (database) { %> 2 | export * from '@<%- scope %>/database/util/migration-task/migration.module' 3 | <% } %> 4 | 5 | export * from './default/default.module' 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { Component } from '../../constant' 2 | 3 | export interface ResourceGeneratorSchema { 4 | name: string 5 | project?: string 6 | component: Component | 'seeder' 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/schematic.interface.ts: -------------------------------------------------------------------------------- 1 | import type { Rule, SchematicContext, Tree } from '@angular-devkit/schematics' 2 | 3 | export type SchematicRule = (host: Tree, context: SchematicContext) => Rule | Promise 4 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/prompts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './package' 2 | export * from './root' 3 | export * from './prior-configuration' 4 | export * from './generator-name' 5 | export * from './extensions' 6 | export * from './nx-root' 7 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "plugins": [{ "transform": "typescript-transform-paths" }], 5 | "paths": {} 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constants' 2 | export * from './decorators' 3 | export * from './interceptors' 4 | export * from './middleware' 5 | export * from './plugins' 6 | export * from './loaders' 7 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './guards' 2 | export * from './class-validator-error.interface' 3 | export * from './class-validator-exception.interface' 4 | export * from './enriched-exception.interface' 5 | -------------------------------------------------------------------------------- /packages/nx-builders/src/schematics/init/main.interface.ts: -------------------------------------------------------------------------------- 1 | import type { AvailableBuilders } from '@interfaces/available.constants' 2 | 3 | /** Input schema for schematic */ 4 | export interface Schema { 5 | items: AvailableBuilders[] 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/entity/util/base-entity.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Document } from 'mongoose' 2 | 3 | export class BaseDocument extends Document { 4 | // @ts-ignore 5 | id: string 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/src/index.ts.ejs: -------------------------------------------------------------------------------- 1 | export * from './microservice-provider.constants' 2 | export * from './microservice-provider.interface' 3 | export * from './interfaces' 4 | export * from './patterns' 5 | -------------------------------------------------------------------------------- /packages/nx-tools/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './utils' 2 | export * from './integration' 3 | export * from './rules' 4 | export * from './interfaces' 5 | export * from './templates' 6 | export * from './tasks' 7 | export * from './constants' 8 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/connect/guards/guard.interface.ts: -------------------------------------------------------------------------------- 1 | import type { KeycloakConnectUser } from '@connect/connect.interfaces' 2 | 3 | export interface AuthGuardRequestAttachment { 4 | token: string 5 | user: KeycloakConnectUser 6 | } 7 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/interceptor/cache-lifetime.interface.ts: -------------------------------------------------------------------------------- 1 | export interface CacheLifetimeOptions { 2 | defaultExpiresHeader?: boolean 3 | defaultLifetime?: number 4 | expiresHeader?: string 5 | cacheControlHeader?: string 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-executors/plugin/ts-node-dev.js: -------------------------------------------------------------------------------- 1 | const import_ts_node_dev = require('../dist/plugins/ts-node-dev') 2 | 3 | module.exports = { 4 | createNodes: import_ts_node_dev.createNodes, 5 | createNodesV2: import_ts_node_dev.createNodesV2 6 | } 7 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/connect/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './unprotected.decorator' 2 | export * from './protected.decorator' 3 | export * from './roles.decorator' 4 | export * from './scopes.decorator' 5 | export * from './inject.decorator' 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/database/orm.config.ts.ejs: -------------------------------------------------------------------------------- 1 | import { DataSource } from 'typeorm' 2 | 3 | import { getDatabaseOptions } from './database-options' 4 | 5 | export default new DataSource(getDatabaseOptions()) 6 | -------------------------------------------------------------------------------- /packages/nx-tools/src/schematics/exports/files/exports.ts.j2: -------------------------------------------------------------------------------- 1 | {% if files is defined and files is iterable and files | length > 0 %} 2 | {% for file in files %} 3 | export * from '{{ file }}' 4 | {% endfor %} 5 | {% else %} 6 | export {} 7 | {% endif %} 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/jest/dependencies.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/naming-convention */ 2 | export const JEST_DEPENDENCIES = { 3 | '@types/jest': '^29.5.0', 4 | jest: '^29.7.0', 5 | 'ts-jest': '^29.1.0' 6 | } 7 | /* eslint-enable */ 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface NestWorkspaceGeneratorSchema { 2 | name: string 3 | scope: string 4 | database: boolean 5 | microserviceProvider: boolean 6 | skipPackageJson: boolean 7 | force: boolean 8 | } 9 | -------------------------------------------------------------------------------- /packages/ts-utility-types/src/function.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Since Awaited is missing from older Typescript versions, this takes in place to infer a function after the asynchronity is resolved. 3 | */ 4 | export type Await = T extends PromiseLike ? U : T 5 | -------------------------------------------------------------------------------- /packages/nx-tools/src/integration/index.ts: -------------------------------------------------------------------------------- 1 | export * from './brownie' 2 | export * from './brownie.interface' 3 | export * from './integration' 4 | export * from './integration.interface' 5 | export * from './update-ts-config' 6 | export * from './nx-integration' 7 | -------------------------------------------------------------------------------- /packages/patch-package/patches/class-transformer-promises/description.txt: -------------------------------------------------------------------------------- 1 | There is an error for class-transformer with validating promises. The problem is solved supposedly for >v0.4.0 but there are breaking changes. For older projects, this should work a charm. 2 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-generic-string-error.guard.ts: -------------------------------------------------------------------------------- 1 | export function isGenericStringError (exception: unknown): exception is string { 2 | if (typeof exception === 'string') { 3 | return true 4 | } 5 | 6 | return false 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-builders/src/integration/nx-builders.interface.ts: -------------------------------------------------------------------------------- 1 | import type { AvailableBuilders } from '@interfaces/available.constants' 2 | 3 | export interface NxBuildersWorkspaceIntegration { 4 | nxBuilders: { 5 | available: AvailableBuilders[] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-builders/src/utils/versions.interface.ts: -------------------------------------------------------------------------------- 1 | import type { AvailableBuilders } from '@interfaces/available.constants' 2 | import type { VersionsMap } from '@webundsoehne/nx-tools' 3 | 4 | export type Versions = VersionsMap, never> 5 | -------------------------------------------------------------------------------- /packages/nx-executors/src/executors/tsc/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { ExecutorOptions } from '@nx/js/src/utils/schema' 2 | 3 | export interface TscExecutorSchema extends ExecutorOptions { 4 | cwd?: string 5 | mergeAssets?: boolean 6 | keepPackageVersion: boolean 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/jest/preset/jest.preset.js.ejs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testMatch: ['/src/**/?(*.)+(spec|test).[jt]s'], 3 | transform: { 4 | '^.+\\.(ts|js)$': ['ts-jest', { tsconfig: '/tsconfig.json' }] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/library/files/jest/preset/jest.preset.js.ejs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testMatch: ['/src/**/?(*.)+(spec|test).[jt]s'], 3 | transform: { 4 | '^.+\\.(ts|js)$': ['ts-jest', { tsconfig: '/tsconfig.json' }] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface MicroserviceProviderGeneratorSchema { 2 | name: string 3 | importPath?: string 4 | skipPackageJson: boolean 5 | updateApplications?: string[] 6 | skipModuleImport?: boolean 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/parse-arguments.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Converts a input type into the prompt type that is consumed by enquirer. 3 | */ 4 | export type ConvertToPromptType = { 5 | [name: string]: any 6 | name: T 7 | message: string 8 | }[] 9 | -------------------------------------------------------------------------------- /packages/ts-utility-types/src/array.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fetches a single element from the array if array is homogeneous in types. 3 | */ 4 | export type ArrayElement = ArrayType extends readonly (infer ElementType)[] ? ElementType : never 5 | -------------------------------------------------------------------------------- /packages/nx-executors/src/executors/run/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { RunCommandsOptions } from 'nx/src/executors/run-commands/run-commands.impl' 2 | 3 | export interface RunExecutorSchema extends RunCommandsOptions { 4 | tsNode: boolean 5 | nodeOptions: string | string[] 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/constants/package-json.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/naming-convention */ 2 | export const JEST_DEPENDENCIES = { 3 | '@types/jest': '^29.5.0', 4 | jest: '^29.7.0', 5 | 'ts-jest': '^29.1.0' 6 | } 7 | /* eslint-enable */ 8 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/library/files/jest/preset/jest.preset.js.ejs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testMatch: ['/src/**/?(*.)+(spec|test).[jt]s'], 3 | transform: { 4 | '^.+\\.(ts|js)$': ['ts-jest', { tsconfig: '/tsconfig.json' }] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/brownie/config/workspace.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - '@nrwl/cli' 4 | - '@nrwl/tao' 5 | - '@nrwl/workspace' 6 | - '@angular/cli' 7 | 8 | workspaces: 9 | - pkg: '@webundsoehne/nx-workspace' 10 | linkable: true 11 | collection: collections.json 12 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/docs/README.md: -------------------------------------------------------------------------------- 1 | @webundsoehne/nestjs-keycloak 2 | 3 | # @webundsoehne/nestjs-keycloak 4 | 5 | ## Table of contents 6 | 7 | ### Modules 8 | 9 | - [graphql](modules/graphql.md) 10 | - [index](modules/index.md) 11 | - [restful](modules/restful.md) 12 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/util/time.ts: -------------------------------------------------------------------------------- 1 | export function getDuration (start: number, finish: number): number { 2 | // Since it is possible to do calculations with dates this weird type conversion is needed 3 | return ((finish || (new Date() as any as number)) - start) / 1000 4 | } 5 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/database.enum.ts: -------------------------------------------------------------------------------- 1 | export enum DatabaseOrm { 2 | TYPEORM = 'typeorm', 3 | MONGOOSE = 'mongoose' 4 | } 5 | 6 | export enum Database { 7 | MYSQL = 'mysql', 8 | POSTGRES = 'postgres', 9 | MONGO = 'mongo', 10 | OTHER = 'other' 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/docker/init-mongodb.js.ejs: -------------------------------------------------------------------------------- 1 | db.createUser({ 2 | user: process.env.MONGO_USERNAME, 3 | pwd: process.env.MONGO_PASSWORD, 4 | roles: [{ 5 | role: 'readWrite', 6 | db: process.env.MONGO_INITDB_DATABASE, 7 | }] 8 | }); 9 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/entity/util/base-entity-with-timestamps.ts.ejs: -------------------------------------------------------------------------------- 1 | import { BaseDocument } from './base-entity' 2 | 3 | export class BaseDocumentWithTimestamps extends BaseDocument { 4 | createdAt!: Date 5 | 6 | updatedAt!: Date 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/dependency-calculator.interface.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyCalculatorPackage } from '@interfaces/versions.interface' 2 | 3 | export type DependencyCalculatorOptions = { 4 | condition?: boolean 5 | deps: DependencyCalculatorPackage 6 | }[] 7 | -------------------------------------------------------------------------------- /nx.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "nx/presets/npm.json", 3 | "tasksRunnerOptions": { 4 | "default": { 5 | "runner": "nx/tasks-runners/default", 6 | "options": { 7 | "cacheableOperations": ["build", "lint", "lint:check"] 8 | } 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/interfaces/typeorm-loader-handler.interface.ts: -------------------------------------------------------------------------------- 1 | export type KeyFunc = (parent: any) => any | any[] | undefined 2 | 3 | export type ForeignKeyFunc = (root: any) => any | undefined 4 | 5 | export type SelfKeyFunc = (root: any) => any | any[] 6 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/jest/e2e/preset/jest-e2e.preset.js.ejs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testMatch: ['/test/**/?(*.)e2e-+(spec|test).[jt]s'], 3 | transform: { 4 | '^.+\\.(ts|js)$': ['ts-jest', { tsconfig: '/tsconfig.json' }] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/lint-staged.config.js.ejs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // only fix changed files 3 | '*.{js,ts}': 'eslint --fix', 4 | // on eslintrc change fix the whole project (without appending files) 5 | '.eslintrc.json': () => 'npm run lint' 6 | } 7 | -------------------------------------------------------------------------------- /packages/deep-merge/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": {} 8 | }, 9 | "include": ["src"], 10 | "exclude": ["node_modules", "dist"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/microservice-provider/dependencies.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/naming-convention */ 2 | import { MICROSERVICE_DEPENDENCIES } from '../application' 3 | 4 | export const DEPENDENCIES = MICROSERVICE_DEPENDENCIES 5 | 6 | export const DEV_DEPENDENCIES = {} 7 | -------------------------------------------------------------------------------- /packages/deep-merge/src/interface.ts: -------------------------------------------------------------------------------- 1 | import type { ArrayMergeBehavior } from './constants' 2 | 3 | export type ArrayMergeFn = (target: unknown[], source: unknown[]) => unknown[] 4 | 5 | export interface DeepMergeOptions { 6 | clone?: boolean 7 | arrayMerge?: ArrayMergeBehavior | ArrayMergeFn 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-tools/src/rules/update-package-json.rule.interface.ts: -------------------------------------------------------------------------------- 1 | import type { ImplicitDependencies } from '@interfaces/versions.interface' 2 | 3 | export interface UpdatePackageJsonForProjectRuleOptions { 4 | implicitDependencies?: ImplicitDependencies 5 | scripts?: Record 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-tools/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/deep-merge/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-generic-error.guard.ts: -------------------------------------------------------------------------------- 1 | export function isGenericError (exception: unknown): exception is Error { 2 | if (exception instanceof Error || typeof exception === 'object' && 'message' in exception) { 3 | return true 4 | } 5 | 6 | return false 7 | } 8 | -------------------------------------------------------------------------------- /packages/nestjs-util/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-builders/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-executors/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-executors/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": {} 8 | }, 9 | "include": ["src", "plugin"], 10 | "exclude": ["node_modules", "dist"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/src/module/microservice-client/index.ts: -------------------------------------------------------------------------------- 1 | export * from './microservice-provider.interface' 2 | export * from './microservice-provider.module' 3 | export * from './microservice-provider.service' 4 | export * from './utils/microservice-client.util' 5 | export * from './decorators' 6 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/assets.interface.ts: -------------------------------------------------------------------------------- 1 | export type AvailableAssetGlob = (AssetGlob | string)[] 2 | 3 | export interface FileInputOutput { 4 | input: string 5 | output: string 6 | } 7 | 8 | export type AssetGlob = FileInputOutput & { 9 | glob: string 10 | ignore?: string[] 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-tools/src/tasks/run-package-manager/run-package-manager.interface.ts: -------------------------------------------------------------------------------- 1 | import type { NormalizedSchema } from '@schematics/package-manager/main.interface' 2 | 3 | export const RUN_PACKAGE_MANAGER_TASK_NAME = 'run-package-manager-task' 4 | 5 | export type RunPackageManagerTaskOptions = NormalizedSchema 6 | -------------------------------------------------------------------------------- /packages/patch-package/patches/graphql-error-wrap/description.txt: -------------------------------------------------------------------------------- 1 | Fixes the introducted pattern of wrapping the output in a error for version >15. This is especially problematic for errors returning from backend message queue, since they have no types and processed as plain object so that instaneof check fails. 2 | -------------------------------------------------------------------------------- /packages/ts-utility-types/src/config.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Updates every key to support node-config environment variable format and makes it DeepPartial. 3 | */ 4 | export type ConfigEnvironmentVariables = { 5 | [P in keyof T]?: ConfigEnvironmentVariables | string | Record<'__name' | '__format', string> 6 | } 7 | -------------------------------------------------------------------------------- /packages/ts-utility-types/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/interfaces/seed.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from '@nestjs/common' 2 | 3 | /** 4 | * A singular seed that should be extended from. 5 | */ 6 | export abstract class Seed { 7 | protected logger: Logger = new Logger(this.constructor.name) 8 | 9 | abstract run (): Promise 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/index.ts: -------------------------------------------------------------------------------- 1 | import 'reflect-metadata' 2 | 3 | export * from './decorator' 4 | export * from './interface' 5 | export * from './filters' 6 | export * from './middleware' 7 | export * from './module' 8 | export * from './pipes' 9 | export * from './provider' 10 | export * from './util' 11 | -------------------------------------------------------------------------------- /packages/nx-builders/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './builders/tsc/main.interface' 2 | export * from './builders/ts-node-dev/main.interface' 3 | export * from './builders/execute/main.interface' 4 | export * from './builders/run/main.interface' 5 | export * from './utils/initiate-builder' 6 | export * from './interfaces' 7 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/tsconfig.build.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": {}, 4 | "include": ["src"<% if (isBgTask && database) {%>, "../../libs/database/src/migration"<% } %>], 5 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 6 | } 7 | -------------------------------------------------------------------------------- /packages/nx-nest/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": {} 8 | }, 9 | "include": ["src"], 10 | "exclude": ["node_modules", "dist", "**/files", "**/templates"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/logger/index.ts: -------------------------------------------------------------------------------- 1 | export * from './listr-logger' 2 | export * from './logger' 3 | export * from './logger.interface' 4 | export * from './pipe-process-to-logger' 5 | export * from './pipe-process-to-logger.interface' 6 | export * from './pipe-process-to-listr' 7 | export * from './colorette' 8 | -------------------------------------------------------------------------------- /packages/brownie/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/interfaces/keycloak-seed.interface.ts: -------------------------------------------------------------------------------- 1 | import type { KeycloakSeed } from './keycloak-seed' 2 | import type { KeycloakAdminSeederTools } from '@utils/keycloak-seeder-tools' 3 | 4 | export type KeycloakSeeds = Record KeycloakSeed> 5 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/deep-merge/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/interfaces/batch-loader.interface.ts: -------------------------------------------------------------------------------- 1 | interface ResolverData { 2 | context: any 3 | } 4 | 5 | /** 6 | * A basic batch loader function for custom data loader. 7 | */ 8 | export type BatchLoadFn = (keys: readonly K[], data: ResolverData) => PromiseLike> 9 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-util/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-executors/src/executors/jest/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { JestExecutorOptions } from '@nx/jest/src/executors/jest/schema' 2 | 3 | export interface JestExecutorSchema extends JestExecutorOptions { 4 | cwd?: string 5 | coverage?: boolean 6 | env?: Record 7 | environment?: Record 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/task/modules/default/default.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { DefaultTask } from './default.task' 4 | 5 | @Module({ 6 | providers: [ DefaultTask ], 7 | exports: [ DefaultTask ] 8 | }) 9 | export class DefaultTaskModule {} 10 | -------------------------------------------------------------------------------- /packages/nx-workspace/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": {} 8 | }, 9 | "include": ["src"], 10 | "exclude": ["node_modules", "dist", "**/files", "**/templates"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/patch-package/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/brownie/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false, 9 | "declaration": false 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-http-exception.guard.ts: -------------------------------------------------------------------------------- 1 | import { HttpException } from '@nestjs/common' 2 | 3 | export function isHttpException (exception: unknown): exception is HttpException { 4 | if (exception instanceof HttpException) { 5 | return true 6 | } 7 | 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-rpc-exception.guard.ts: -------------------------------------------------------------------------------- 1 | import { RpcException } from '@nestjs/microservices' 2 | 3 | export function isRpcException (exception: unknown): exception is RpcException { 4 | if (exception instanceof RpcException) { 5 | return true 6 | } 7 | 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /packages/nx-builders/migrations.json: -------------------------------------------------------------------------------- 1 | { 2 | "schematics": { 3 | "migrate-to-nx-executors": { 4 | "cli": "nx", 5 | "version": "6.3.0-beta.1", 6 | "description": "Move from old nx-builders to new nx-executors", 7 | "factory": "./dist/migrations/migrate-to-nx-executors" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-executors/src/executors/ts-node-dev/schema.d.ts: -------------------------------------------------------------------------------- 1 | export interface TsNodeDevExecutorSchema { 2 | cwd?: string 3 | main: string 4 | tsConfig: string 5 | env?: Record 6 | environment?: Record 7 | debug?: boolean 8 | watchConfig?: boolean 9 | args?: string[] 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-nest/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts", "**/files", "**/templates"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-tools/src/tasks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './install-dependencies' 2 | export * from './initialize-git' 3 | export * from './run-schematic-after' 4 | export * from './package-manager' 5 | export * from './manage-multiple-tasks' 6 | export * from './manage-multiple-tasks.interface' 7 | export * from './run-package-manager' 8 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/file-system/index.ts: -------------------------------------------------------------------------------- 1 | export * from './file-system' 2 | export * from './format-files' 3 | export * from './format-files.interface' 4 | export * from './path-operations' 5 | export * from './general' 6 | export * from './find-nx-root' 7 | export * from './node-bin' 8 | export * from './node-bin.interface' 9 | -------------------------------------------------------------------------------- /packages/ts-utility-types/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-workspace/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts", "**/files", "**/templates"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/ts-utility-types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "strictNullChecks": false, 8 | "paths": {} 9 | }, 10 | "include": ["src"], 11 | "exclude": ["node_modules", "dist"] 12 | } 13 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/command/modules/default/default.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { DefaultCommand } from './default.command' 4 | 5 | @Module({ 6 | providers: [ DefaultCommand ], 7 | exports: [ DefaultCommand ] 8 | }) 9 | export class DefaultCommandModule {} 10 | -------------------------------------------------------------------------------- /packages/patch-package/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "dist", "test", "**/*spec.ts"], 4 | "compilerOptions": { 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "noUnusedLocals": true, 8 | "sourceMap": false, 9 | "declaration": false 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/module/maintenance/maintenance.module.ts: -------------------------------------------------------------------------------- 1 | import { Global, Module } from '@nestjs/common' 2 | 3 | import { MaintenanceService } from './maintenance.service' 4 | 5 | @Global() 6 | @Module({ 7 | providers: [MaintenanceService], 8 | exports: [MaintenanceService] 9 | }) 10 | export class MaintenanceModule {} 11 | -------------------------------------------------------------------------------- /packages/nx-builders/schematics.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@webundsoehne/nx-builders", 3 | "schematics": { 4 | "init": { 5 | "factory": "./dist/schematics/init/main", 6 | "description": "Install dependencies for @webundsoehne/nx-builders plugin.", 7 | "schema": "./dist/schematics/init/schema.json" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/extensions.interface.ts: -------------------------------------------------------------------------------- 1 | import type { ValueOf } from '@webundsoehne/ts-utility-types' 2 | 3 | export type ExtensionsMap, Options extends Record> = Record< 4 | ValueOf, 5 | { condition?: boolean | ((options: Options) => boolean) } 6 | > 7 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/docker/nx.ts: -------------------------------------------------------------------------------- 1 | import type { DockerHelperCtx } from '@helpers/docker.helper.interface' 2 | import type { BrownieAvailableContainers } from '@webundsoehne/nx-tools/dist/integration/brownie.interface' 3 | 4 | export interface DockerNxCtx extends DockerHelperCtx { 5 | prompt: BrownieAvailableContainers[] 6 | } 7 | -------------------------------------------------------------------------------- /packages/brownie/src/constants/develop.constants.ts: -------------------------------------------------------------------------------- 1 | import { Flags } from '@cenk1cenk2/oclif-common' 2 | 3 | export const DEVELOP_FLAGS = { 4 | develop: Flags.boolean({ 5 | description: 'Puts the underlying schematics to development mode, if they support it.', 6 | default: false, 7 | env: 'DEVELOP', 8 | char: 'd' 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { Component } from '../../constant' 2 | 3 | export interface ApplicationGeneratorSchema { 4 | name: string 5 | jest: boolean 6 | skipPackageJson: boolean 7 | components: Component[] 8 | database: boolean 9 | microserviceProvider: boolean 10 | update: boolean 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/constants/context.constants.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The context key of data-loader plugin per key injected by the interceptor or apollo-server plugin. 3 | * This will be appended to the context instead of the request to ensure compatibility between two. 4 | */ 5 | export const DATA_LOADER_CONTEXT_KEY = 'DATA_LOADER_CONTEXT' 6 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/linter-dependencies.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * To add linter dependencies to project. 3 | * This has no optional properties since NX goes crazy with current version of angular-cli ~10. 4 | */ 5 | export interface LinterDependencies { 6 | dependencies: Record 7 | devDependencies: Record 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-tools/src/constants/nx.constants.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Some NX constants. 3 | * They seem to change every minor patch XD 4 | */ 5 | export enum NxConstants { 6 | TS_CONFIG_PATH = 'tsconfig.base.json' 7 | } 8 | 9 | /** 10 | * Nx application types 11 | */ 12 | export enum NxProjectTypes { 13 | APP = 'application', 14 | LIB = 'library' 15 | } 16 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter} */ 3 | module.exports = { 4 | extends: ['./packages/eslint-config/typescript-dynamic', './packages/eslint-config/import-strict'], 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/docs/classes/InternalModule.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nestjs-util-restful](../README.md) / InternalModule 2 | 3 | # Class: InternalModule 4 | 5 | ## Table of contents 6 | 7 | ### Constructors 8 | 9 | - [constructor](InternalModule.md#constructor) 10 | 11 | ## Constructors 12 | 13 | ### constructor 14 | 15 | • **new InternalModule**() 16 | -------------------------------------------------------------------------------- /packages/nestjs-util/docs/classes/MaintenanceModule.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nestjs-util](../README.md) / MaintenanceModule 2 | 3 | # Class: MaintenanceModule 4 | 5 | ## Table of contents 6 | 7 | ### Constructors 8 | 9 | - [constructor](MaintenanceModule.md#constructor) 10 | 11 | ## Constructors 12 | 13 | ### constructor 14 | 15 | • **new MaintenanceModule**() 16 | -------------------------------------------------------------------------------- /packages/nx-nest/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }), 7 | 'import/exports-last': 'off' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/schema.d.ts: -------------------------------------------------------------------------------- 1 | import type { Database, DatabaseOrm } from '../../constant' 2 | 3 | export interface DatabaseOrmGeneratorSchema { 4 | orm?: DatabaseOrm 5 | database?: Database 6 | name: string 7 | importPath?: string 8 | skipPackageJson: boolean 9 | update?: boolean 10 | updateApplications?: string[] 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-tools/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }), 7 | 'import/exports-last': 'off' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mongodb/volumes.yml: -------------------------------------------------------------------------------- 1 | - from: mongo-initialize.sh 2 | to: /docker-entrypoint-initdb.d/mongo-initialize.sh 3 | perm: 764 4 | options: ro 5 | url: https://gist.githubusercontent.com/cenk1cenk2/50de15104b960128bb15ae832b8cf828/raw/mongo-initialize.sh 6 | mode: url 7 | 8 | - from: . 9 | to: /data/db 10 | mode: volume 11 | -------------------------------------------------------------------------------- /packages/nx-builders/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }), 7 | 'import/exports-last': 'off' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/nx-executors/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }), 7 | 'import/exports-last': 'off' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/command/init.ts.ejs: -------------------------------------------------------------------------------- 1 | import { CommandFactory } from 'nest-commander' 2 | 3 | import { CommandModule } from './command.module' 4 | import { LoggerService } from '@webundsoehne/nestjs-util' 5 | 6 | export async function createApplication(): Promise { 7 | await CommandFactory.run(CommandModule, new LoggerService()) 8 | } 9 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/schematic-files.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Schematic files to store conditional file and folder locations, where they can be part of the include statement in createApplicationRule. 3 | */ 4 | export type SchematicFiles = Record< 5 | string, 6 | { 7 | condition?: boolean 8 | files?: string[] 9 | folders?: string[] 10 | } 11 | > 12 | -------------------------------------------------------------------------------- /packages/nx-workspace/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-extraneous-dependencies */ 2 | /** @type {import("eslint").Linter } */ 3 | module.exports = { 4 | extends: '../../.eslintrc.cjs', 5 | rules: { 6 | ...require('@webundsoehne/eslint-config/utils').generateImportGroups({ tsconfigDir: __dirname }), 7 | 'import/exports-last': 'off' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-mysql/volumes.yml: -------------------------------------------------------------------------------- 1 | - from: mysql-initialize.sh 2 | to: /docker-entrypoint-initdb.d/mysql-initialize.sh 3 | options: ro 4 | url: https://gist.githubusercontent.com/cenk1cenk2/50de15104b960128bb15ae832b8cf828/raw/mysql-initialize.sh 5 | mode: url 6 | perm: 764 7 | 8 | - from: . 9 | to: /var/lib/mysql 10 | mode: volume 11 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-enriched-exception.guard.ts: -------------------------------------------------------------------------------- 1 | import { EnrichedExceptionError } from '../enriched-exception.interface' 2 | 3 | export function isEnrichedExceptionError (exception: unknown): exception is EnrichedExceptionError { 4 | if (exception instanceof EnrichedExceptionError) { 5 | return true 6 | } 7 | 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './file-system' 2 | export * from './logger' 3 | export * from './node' 4 | export * from './schematics' 5 | export * from './builders' 6 | export * from './prompts' 7 | export * from './package-manager' 8 | export * from './linter-versions.constants' 9 | export * from './linter-versions.interface' 10 | export * from './manager' 11 | -------------------------------------------------------------------------------- /packages/brownie/bin/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | if (process.argv.indexOf('--trace') > -1 || process.argv.indexOf('--debug') > -1 || process.argv.indexOf('--verbose') > -1) { 4 | process.env.NG_DEBUG = '1' 5 | } 6 | 7 | const oclif = require('@oclif/core') 8 | 9 | require('@cenk1cenk2/oclif-common').setup() 10 | 11 | oclif.run().then(oclif.flush).catch(oclif.Errors.handle) 12 | -------------------------------------------------------------------------------- /packages/eslint-config/.prettierrc.js: -------------------------------------------------------------------------------- 1 | /** @type {import("prettier").Config} */ 2 | module.exports = { 3 | printWidth: 179, 4 | tabWidth: 2, 5 | useTabs: false, 6 | quoteProps: 'as-needed', 7 | semi: false, 8 | singleQuote: true, 9 | trailingComma: 'none', 10 | bracketSpacing: true, 11 | arrowParens: 'always', 12 | proseWrap: 'never', 13 | endOfLine: 'lf' 14 | } 15 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/file-system/node-bin.interface.ts: -------------------------------------------------------------------------------- 1 | import type { EnvironmentVariables } from '@interfaces/environment-variables.interface' 2 | 3 | export interface NodeBinaryPathExtensionsOptions { 4 | env?: EnvironmentVariables 5 | start?: string 6 | top?: string 7 | } 8 | 9 | export interface NodeBinaryPathExtensions { 10 | key: string 11 | path: string 12 | } 13 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './is-enriched-exception.guard' 2 | export * from './is-generic-error.guard' 3 | export * from './is-generic-string-error.guard' 4 | export * from './is-http-exception.guard' 5 | export * from './is-rpc-exception.guard' 6 | export * from './is-serialized-enriched-exception.guard' 7 | export * from './is-serialized-error.guard' 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/server/modules/default/default.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { DefaultController } from './default.controller' 4 | import { DefaultService } from './default.service' 5 | 6 | @Module({ 7 | controllers: [ DefaultController ], 8 | providers: [ DefaultService ] 9 | }) 10 | export class DefaultModule {} 11 | -------------------------------------------------------------------------------- /packages/brownie/src/commands/gitlab/index.ts: -------------------------------------------------------------------------------- 1 | import { Command } from '@cenk1cenk2/oclif-common' 2 | 3 | export class GitlabCiCommand extends Command { 4 | static description = 'Create a gitlab ci configuration from known NX configuration.' 5 | 6 | static aliases = ['ci'] 7 | 8 | async run (): Promise { 9 | this.logger.warn('Gitlab-ci generation will go here.') 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/brownie/templates/containers/db-postgresql/volumes.yml: -------------------------------------------------------------------------------- 1 | - from: postgre-initialize.sh 2 | to: /docker-entrypoint-initdb.d/postgre-initialize.sh 3 | options: ro 4 | url: https://gist.githubusercontent.com/cenk1cenk2/50de15104b960128bb15ae832b8cf828/raw/postgresql-initialize.sh 5 | mode: url 6 | perm: 764 7 | 8 | - from: . 9 | to: /var/lib/postgresql/data 10 | mode: volume 11 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/seed/00-default.seed.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common' 2 | 3 | import { defaultFactory } from '../factory' 4 | import { Seed } from '@webundsoehne/nestjs-seeder' 5 | 6 | @Injectable() 7 | export class DefaultSeed extends Seed { 8 | async run (): Promise { 9 | this.logger.debug(defaultFactory()) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/util/seeder-command/seeder.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { SeederCommand } from './seeder.command' 4 | import { SeederModule } from '../../seeder' 5 | 6 | @Module({ 7 | imports: [SeederModule], 8 | providers: [SeederCommand], 9 | exports: [SeederCommand] 10 | }) 11 | export class SeederCommandModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/file-system/general.ts: -------------------------------------------------------------------------------- 1 | export function convertStringToDirPath (dir: string, options: { start?: boolean, end?: boolean } = { end: true, start: false }): string { 2 | if (options.end && dir.substring(-1) !== '/') { 3 | dir = dir + '/' 4 | } 5 | 6 | if (options?.start && dir.substring(1) !== '/') { 7 | dir = '/' + dir 8 | } 9 | 10 | return dir 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/server/modules/default/default.service.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Injectable, Logger } from '@nestjs/common' 2 | 3 | @Injectable() 4 | export class DefaultService { 5 | private readonly logger: Logger = new Logger(this.constructor.name) 6 | 7 | constructor () {} 8 | 9 | async default (): Promise { 10 | return 'Hello World!' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/seeder/files/src/seeder/seeder.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import * as seeds from './seed' 4 | import { SeederModule as BaseSeederModule } from '@webundsoehne/nestjs-seeder' 5 | 6 | @Module({ 7 | imports: [ 8 | BaseSeederModule.register(seeds) 9 | ], 10 | exports: [BaseSeederModule] 11 | }) 12 | export class SeederModule {} 13 | -------------------------------------------------------------------------------- /packages/nx-tools/src/schematics/package-manager/main.interface.ts: -------------------------------------------------------------------------------- 1 | import type { BarebonesSchema, BaseNormalizedSchemaRoot } from '@interfaces/base-schemas.interface' 2 | import type { PackageManagerActions } from '@utils/package-manager' 3 | 4 | export interface Schema extends BarebonesSchema, BaseNormalizedSchemaRoot { 5 | action: PackageManagerActions 6 | } 7 | 8 | export type NormalizedSchema = Schema 9 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/linter-versions.interface.ts: -------------------------------------------------------------------------------- 1 | // import { PackageVersions } from '@interfaces/versions.interface' 2 | 3 | import type { LinterDependencies } from '@interfaces/linter-dependencies.interface' 4 | 5 | /** 6 | * Version constants that is shared through multiple places. 7 | */ 8 | // this one is different 9 | export type LinterVersions = Record<'eslint', LinterDependencies> 10 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/module/internal/internal.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { InternalController } from './internal.controller' 4 | import { InternalService } from './internal.service' 5 | 6 | @Module({ 7 | controllers: [InternalController], 8 | providers: [InternalService], 9 | exports: [InternalService] 10 | }) 11 | export class InternalModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/task/init.ts.ejs: -------------------------------------------------------------------------------- 1 | import { NestFactory } from '@nestjs/core' 2 | 3 | import { TaskModule } from './task.module' 4 | import { LoggerService } from '@webundsoehne/nestjs-util' 5 | 6 | export async function createApplication(): Promise { 7 | await NestFactory.createApplicationContext(TaskModule, { 8 | logger: new LoggerService() 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/config/nx-schematics.config.interface.ts: -------------------------------------------------------------------------------- 1 | import type { CommonNodeDependency } from '@webundsoehne/nx-tools' 2 | 3 | export interface NxSchematicsConfig extends CommonNodeDependency { 4 | description?: string 5 | schematics: SchematicConfig[] 6 | } 7 | 8 | export interface SchematicConfig { 9 | name: string 10 | description?: string 11 | forceArguments?: boolean 12 | } 13 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "useNx": true, 3 | "packages": ["packages/*"], 4 | "npmClient": "yarn", 5 | "useWorkspaces": true, 6 | "command": { 7 | "publish": { 8 | "message": "chore(release): publish", 9 | "conventionalCommits": true, 10 | "create-release": "github" 11 | }, 12 | "version": { 13 | "allowBranch": ["master"] 14 | } 15 | }, 16 | "version": "independent" 17 | } 18 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/interfaces/context.interface.ts: -------------------------------------------------------------------------------- 1 | import type { Connection } from 'typeorm' 2 | 3 | /** 4 | * The custom context entry that this plugin runs up on to inject the connection, 5 | * and keep track of the request. 6 | */ 7 | export interface Context { 8 | DATA_LOADER_CONTEXT: { 9 | requestId: string 10 | typeormGetConnection?: () => Connection 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": { 8 | "@interfaces/*": ["interfaces/*"], 9 | "@admin/*": ["admin/*"], 10 | "@connect/*": ["connect/*"] 11 | } 12 | }, 13 | "include": ["src"], 14 | "exclude": ["node_modules", "dist"] 15 | } 16 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/migration-task/migration.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { MigrationTask } from './migration.task' 4 | import { MaintenanceModule } from '@webundsoehne/nestjs-util' 5 | 6 | @Module({ 7 | imports: [MaintenanceModule], 8 | providers: [MigrationTask], 9 | exports: [MigrationTask] 10 | }) 11 | export class MigrationTaskModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/.eslintrc-backend.js.ejs: -------------------------------------------------------------------------------- 1 | /** @type {import("eslint").Linter } */ 2 | module.exports = { 3 | root: true, 4 | extends: [ '@webundsoehne/eslint-config/typescript-dynamic' ], 5 | rules: {}, 6 | overrides: [ 7 | ...require('@webundsoehne/eslint-config/utils').generateImportGroupsWithOverride({ tsconfigDir: __dirname, tsconfig: 'tsconfig.base.json' }) 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/is-development-mode.ts: -------------------------------------------------------------------------------- 1 | import { ProcessToken } from '@constants/token.constants' 2 | 3 | /** 4 | * Returns if angular cli is running with development flag. 5 | */ 6 | export function isDevelopmentMode (): boolean { 7 | return !!process.env?.[ProcessToken.DEVELOPMENT_MODE] 8 | } 9 | 10 | export function setDevelopmentMode (): void { 11 | process.env.NG_DEVELOP = '1' 12 | } 13 | -------------------------------------------------------------------------------- /packages/brownie/src/helpers/brownie-locker.ts: -------------------------------------------------------------------------------- 1 | import { LockerService, YamlParser } from '@cenk1cenk2/oclif-common' 2 | import { join } from 'path' 3 | 4 | import type { LocalLockFile } from '@interfaces/lock-file.interface' 5 | 6 | export class BrownieLocker extends LockerService { 7 | constructor (root?: string[]) { 8 | super(join(process.cwd(), '.brownie.lock'), new YamlParser(), root) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/package.json.ejs: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%= packageScope %>", 3 | "version": "0.0.1", 4 | "description": "Tailored NestJS NX Based Application Skeleton", 5 | "author": "Backend ", 6 | "license": "ISC", 7 | "repository": "https://gitlab.diamir.tech/", 8 | "scripts": {}, 9 | "engines": { 10 | "node": ">=<%= NODE_VERSION %>" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/.eslintrc-backend.js.ejs: -------------------------------------------------------------------------------- 1 | /** @type {import("eslint").Linter } */ 2 | module.exports = { 3 | root: true, 4 | extends: [ '@webundsoehne/eslint-config/typescript-dynamic' ], 5 | rules: {}, 6 | overrides: [ 7 | ...require('@webundsoehne/eslint-config/utils').generateImportGroupsWithOverride({ tsconfigDir: __dirname, tsconfig: 'tsconfig.base.json' }) 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/src/module/decorators/inject.decorator.ts: -------------------------------------------------------------------------------- 1 | import { Inject } from '@nestjs/common' 2 | 3 | import { SEEDER_SERVICE } from '../seeder.constants' 4 | 5 | /** 6 | * Injects SeederService to the service. 7 | */ 8 | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type 9 | export function InjectSeederService (token?: string | symbol) { 10 | return Inject(token ?? SEEDER_SERVICE) 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/module/internal/internal.interface.ts: -------------------------------------------------------------------------------- 1 | import { ApiProperty } from '@nestjs/swagger' 2 | 3 | export interface InternalOptions { 4 | lastUpdateFilePath?: string 5 | changelogFilePath?: string 6 | } 7 | 8 | export class ApiStatus { 9 | @ApiProperty({ example: '1.0.0' }) 10 | apiVersion: string 11 | 12 | @ApiProperty({ example: '2019-01-01T23:34:30' }) 13 | lastUpdate: string 14 | } 15 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/server/modules/__fileName__/__fileName__.service.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Injectable, Logger } from '@nestjs/common' 2 | 3 | @Injectable() 4 | export class <%- resourceNames.className -%>Service { 5 | private readonly logger: Logger = new Logger(this.constructor.name) 6 | 7 | constructor () {} 8 | 9 | async default (): Promise { 10 | return 'Hello World!' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/remove/generator.ts: -------------------------------------------------------------------------------- 1 | import type { Tree } from '@nx/devkit' 2 | import { removeGenerator as removeGeneratorInternal } from '@nx/workspace/src/generators/remove/remove' 3 | 4 | import type { RemoveGeneratorSchema } from './schema' 5 | 6 | export default async function removeGenerator (tree: Tree, options: RemoveGeneratorSchema): Promise { 7 | await removeGeneratorInternal(tree, options) 8 | } 9 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/src/admin/decorators/inject.decorator.ts: -------------------------------------------------------------------------------- 1 | import { Inject } from '@nestjs/common' 2 | 3 | import { KEYCLOAK_ADMIN_INSTANCE } from '@admin/admin.constants' 4 | 5 | /** 6 | * Injects Keyclaok admin instance initiated to the service. 7 | */ 8 | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type 9 | export function InjectKeycloak () { 10 | return Inject(KEYCLOAK_ADMIN_INSTANCE) 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/docs/README.md: -------------------------------------------------------------------------------- 1 | @webundsoehne/nestjs-util-restful 2 | 3 | # @webundsoehne/nestjs-util-restful 4 | 5 | ## Table of contents 6 | 7 | ### Classes 8 | 9 | - [CacheLifetimeHelperInterceptor](classes/CacheLifetimeHelperInterceptor.md) 10 | - [InternalModule](classes/InternalModule.md) 11 | - [RequestProfilerInterceptor](classes/RequestProfilerInterceptor.md) 12 | - [SwaggerService](classes/SwaggerService.md) 13 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/microservice/modules/default/default.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { DefaultMicrocontroller } from './default.controller' 4 | import { DefaultMicroservice } from './default.service' 5 | 6 | @Module({ 7 | imports: [], 8 | controllers: [DefaultMicrocontroller], 9 | providers: [DefaultMicroservice] 10 | }) 11 | export class DefaultModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/database/migration/migration.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { MigrationTask } from './migration.task' 4 | import { MaintenanceModule } from '@webundsoehne/nestjs-util' 5 | 6 | @Module({ 7 | imports: [MaintenanceModule], 8 | providers: [MigrationTask], 9 | exports: [MigrationTask] 10 | }) 11 | export class MigrationModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/LoggerOptions.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / LoggerOptions 2 | 3 | # Interface: LoggerOptions 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [useIcons](LoggerOptions.md#useicons) 10 | 11 | ## Properties 12 | 13 | ### useIcons 14 | 15 | • `Optional` **useIcons**: `boolean` 16 | 17 | #### Defined in 18 | 19 | packages/nx-tools/src/utils/logger/logger.interface.ts:7 20 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/mongoose/src/util/migration-task/migration.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { MigrationTask } from './migration.task' 4 | import { MaintenanceModule } from '@webundsoehne/nestjs-util' 5 | 6 | @Module({ 7 | imports: [MaintenanceModule], 8 | providers: [MigrationTask], 9 | exports: [MigrationTask] 10 | }) 11 | export class MigrationTaskModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/task/modules/__fileName__/__fileName__.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { <%- resourceNames.className -%>Task } from './<%- resourceNames.fileName -%>.task' 4 | 5 | @Module({ 6 | providers: [ <%- resourceNames.className -%>Task ], 7 | exports: [ <%- resourceNames.className -%>Task ] 8 | }) 9 | export class <%- resourceNames.className -%>TaskModule {} 10 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/module/maintenance/decorators/inject.decorator.ts: -------------------------------------------------------------------------------- 1 | import { Inject } from '@nestjs/common' 2 | 3 | import { MaintenanceService } from '../maintenance.service' 4 | 5 | /** 6 | * Injects maintenance service instance initiated to the service. 7 | */ 8 | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type 9 | export function InjectMaintenanceService () { 10 | return Inject(MaintenanceService) 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-tools/src/rules/run.rule.ts: -------------------------------------------------------------------------------- 1 | import type { Rule } from '@angular-devkit/schematics' 2 | 3 | /** 4 | * Run something in a rule. It is just a empty function runs on condition. Just added to make everything look cleaner. 5 | * @param run 6 | * @param condition 7 | */ 8 | export function runInRule (run: (...args: any[]) => Rule, condition = true): Rule { 9 | return (): ((...args: any[]) => void) => condition ? run : undefined 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-tools/src/tasks/manage-multiple-tasks.interface.ts: -------------------------------------------------------------------------------- 1 | import type { SchematicContext, TaskId, Tree } from '@angular-devkit/schematics' 2 | 3 | import type { ValueOf } from '@webundsoehne/ts-utility-types' 4 | 5 | export interface Task> { 6 | condition?: boolean 7 | token: ValueOf 8 | fn: (host: Tree, context: SchematicContext, dependencies: TaskId[]) => TaskId 9 | dependsOn?: ValueOf[] 10 | } 11 | -------------------------------------------------------------------------------- /scripts/link-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Register all packages globally for development." 4 | PACKAGES=packages/* 5 | 6 | if [ -z "$1" ]; then 7 | echo "Give out a command: link | unlink" 8 | fi 9 | 10 | for PACKAGE in $PACKAGES; do 11 | echo "Package: $PACKAGE" 12 | 13 | if [ "$1" == "link" ]; then 14 | (cd $PACKAGE && yarn link) 15 | elif [ "$1" == "unlink" ]; then 16 | (cd $PACKAGE && yarn unlink) 17 | fi 18 | done 19 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/command/modules/__fileName__/__fileName__.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { <%- resourceNames.className -%>Command } from './<%- resourceNames.fileName -%>.command' 4 | 5 | @Module({ 6 | providers: [ <%- resourceNames.className -%>Command ], 7 | exports: [ <%- resourceNames.className -%>Command ] 8 | }) 9 | export class <%- resourceNames.className -%>CommandModule {} 10 | -------------------------------------------------------------------------------- /packages/brownie/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-nest/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-tools/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/deep-merge/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/eslint-config/import-strict.js: -------------------------------------------------------------------------------- 1 | const { ALL_KNOWN_JAVASCRIPT_FILE_EXTENSIONS } = require('./constants') 2 | 3 | /** @type {import("eslint").Linter.Config} */ 4 | module.exports = { 5 | overrides: [ 6 | { 7 | files: ALL_KNOWN_JAVASCRIPT_FILE_EXTENSIONS, 8 | plugins: ['import'], 9 | rules: { 10 | 'import/no-extraneous-dependencies': 'error', 11 | 'import/exports-last': 'error' 12 | } 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /packages/eslint-config/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/module/decorators/inject.decorator.ts: -------------------------------------------------------------------------------- 1 | import { Inject } from '@nestjs/common' 2 | 3 | import { KeycloakSeederService } from '@module/keycloak-seeder.service' 4 | 5 | /** 6 | * Injects Keyclaok admin instance initiated to the service. 7 | */ 8 | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type 9 | export function InjectKeycloakSeederService () { 10 | return Inject(KeycloakSeederService) 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-util/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-builders/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-executors/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/execa-arguments.interface.ts: -------------------------------------------------------------------------------- 1 | import type execa from 'execa' 2 | 3 | import type { Writeable } from '@webundsoehne/ts-utility-types' 4 | 5 | /** 6 | * Just some arguments to spawn execa. 7 | */ 8 | export interface ExecaArguments { 9 | /** These are the input arguments */ 10 | args: string[] 11 | /** While these are the execa options */ 12 | spawnOptions: Writeable | execa.NodeOptions> 13 | } 14 | -------------------------------------------------------------------------------- /packages/nx-workspace/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/constants/workspace.ts: -------------------------------------------------------------------------------- 1 | // workspace layout/folder structure 2 | export const LAYOUTS = { 3 | packages: { 4 | workspaceLayout: { 5 | appsDir: 'packages', 6 | libsDir: 'packages' 7 | } 8 | }, 9 | // eslint-disable-next-line @typescript-eslint/naming-convention 10 | 'apps-and-libs': { 11 | workspaceLayout: { 12 | appsDir: 'apps', 13 | libsDir: 'libs' 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/patch-package/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/file-system/format-files.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Format files as a rule in a tree. 3 | * 4 | * Requires configuration to be present in the current tree. 5 | * 6 | * Will use prettier first, others after. 7 | */ 8 | export interface FormatFilesOptions { 9 | /** A condition that can skip the formatting. */ 10 | skip?: boolean 11 | /** Use prettier */ 12 | prettier?: boolean 13 | /** Use eslint */ 14 | eslint?: boolean 15 | } 16 | -------------------------------------------------------------------------------- /packages/ts-utility-types/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/lock-file.interface.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/naming-convention */ 2 | 3 | export interface LocalLockFile { 4 | [LocalLockPaths.DOCKER_HELPER]: Record>> 5 | } 6 | 7 | export enum DockerHelperLock { 8 | DIRECTORIES = 'configuration', 9 | VOLUMES = 'volumes', 10 | FILES = 'files' 11 | } 12 | 13 | export enum LocalLockPaths { 14 | DOCKER_HELPER = 'helpers:docker' 15 | } 16 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/interface/request.interface.ts: -------------------------------------------------------------------------------- 1 | import type { Request as ExpressRequest } from 'express' 2 | import type { FastifyRequest } from 'fastify' 3 | 4 | type BaseRequest = FastifyRequest | ExpressRequest 5 | 6 | interface RequestExtensions { 7 | state: Record & { setCacheLifetime?: (lifetime: number, useExpiresHeader: boolean) => void, tokenPayload?: Record } 8 | } 9 | 10 | export type Request = BaseRequest & RequestExtensions 11 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/seeder/seeder/seed/__fileName__.seed.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common' 2 | 3 | import { <%- resourceNames.fileName -%>Factory } from '../factory' 4 | import { Seed } from '@webundsoehne/nestjs-seeder' 5 | 6 | @Injectable() 7 | export class <%- resourceNames.className -%>Seed extends Seed { 8 | async run (): Promise { 9 | this.logger.debug(<%- resourceNames.fileName -%>Factory()) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/release.config.cjs: -------------------------------------------------------------------------------- 1 | // publish- 2 | module.exports = { 3 | ...require('../../release.config.cjs'), 4 | plugins: [ 5 | '@semantic-release/commit-analyzer', 6 | '@semantic-release/release-notes-generator', 7 | '@semantic-release/changelog', 8 | [ 9 | '@semantic-release/git', 10 | { 11 | assets: ['CHANGELOG.md', 'README.md', 'docs/'] 12 | } 13 | ], 14 | '@semantic-release/npm' 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/is-verbose.ts: -------------------------------------------------------------------------------- 1 | import { ProcessToken } from '@constants/token.constants' 2 | 3 | /** 4 | * Returns if angular cli is running with verbose flag.s 5 | */ 6 | export function isVerbose (): boolean { 7 | return process.argv.indexOf('--verbose') >= 0 || process.argv.indexOf('--debug') >= 0 || !!process.env?.[ProcessToken.DEBUG_MODE] 8 | } 9 | 10 | export function setDebugMode (): void { 11 | process.env[ProcessToken.DEBUG_MODE] = '1' 12 | } 13 | -------------------------------------------------------------------------------- /packages/deep-merge/src/utils.ts: -------------------------------------------------------------------------------- 1 | import type { ArrayMergeFn } from './interface' 2 | 3 | /** 4 | * A standard array filter for filtering it to unique items. 5 | */ 6 | export const uniqueArrayFilter = (item: any, index: number, array: any[]): boolean => array.indexOf(item) === index 7 | 8 | export const arrayMergeUnique: ArrayMergeFn = (target, source) => [...target, ...source].filter(uniqueArrayFilter) 9 | 10 | export const arrayMergeOverwrite: ArrayMergeFn = (_, source) => source 11 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-target/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "database-target", 3 | "cli": "nx", 4 | "title": "Database-Target", 5 | "description": "Add the database-target to a project", 6 | "type": "object", 7 | "properties": { 8 | "project": { 9 | "type": "string", 10 | "aliases": ["p"], 11 | "description": "Project name", 12 | "$default": { 13 | "$source": "argv", 14 | "index": 0 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/workspace/files/lint-staged.config.js.ejs: -------------------------------------------------------------------------------- 1 | const { relative, isAbsolute } = require('path') 2 | 3 | module.exports = { 4 | '*': (paths) => { 5 | paths = paths.map((path) => { 6 | if (isAbsolute(path)) { 7 | return relative(__dirname, path) 8 | } 9 | 10 | return path 11 | }) 12 | 13 | return [['nx format:write --files', ...paths].join(' '), ['nx affected:lint --fix --files', ...paths].join(' ')] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/src/module/microservice-client/decorators/inject.decorator.ts: -------------------------------------------------------------------------------- 1 | import { Inject } from '@nestjs/common' 2 | 3 | import { MicroserviceProviderService } from '../microservice-provider.service' 4 | 5 | /** 6 | * Injects microservice provider service instance initiated to the service. 7 | */ 8 | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type 9 | export function InjectMSP () { 10 | return Inject(MicroserviceProviderService) 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-executors/src/index.ts: -------------------------------------------------------------------------------- 1 | export type { JestExecutorSchema } from './executors/jest/schema' 2 | export type { RunExecutorSchema } from './executors/run/schema' 3 | export type { TsNodeDevExecutorSchema } from './executors/ts-node-dev/schema' 4 | export type { TscExecutorSchema } from './executors/tsc/schema' 5 | export type { JestPluginOptions } from './plugins/jest' 6 | export type { TsNodeDevPluginOptions } from './plugins/ts-node-dev' 7 | export type { TscPluginOptions } from './plugins/tsc' 8 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/logger/pipe-process-to-logger.interface.ts: -------------------------------------------------------------------------------- 1 | export interface PipeProcessToLoggerOptions { 2 | /** Will log the command when the process starts. */ 3 | start?: boolean 4 | /** Will log the exit code when process finishes. */ 5 | exitCode?: boolean 6 | /** enable/disable stdout */ 7 | stdout?: boolean 8 | /** enable/disable stderrr */ 9 | stderr?: boolean 10 | /** will callback on error in the instance */ 11 | callback?: (error?: Error) => void 12 | } 13 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": { 8 | "@constants/*": ["constants/*"], 9 | "@decorators/*": ["decorators/*"], 10 | "@interfaces/*": ["interfaces/*"], 11 | "@utils/*": ["utils/*"], 12 | "@module/*": ["module/*"] 13 | } 14 | }, 15 | "include": ["src"], 16 | "exclude": ["node_modules", "dist"] 17 | } 18 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/middleware/info-header.ts: -------------------------------------------------------------------------------- 1 | import type { NestMiddleware } from '@nestjs/common' 2 | 3 | import type { Request } from '@interface' 4 | 5 | export class SetApiInfoHeaderMiddleware implements NestMiddleware { 6 | use (_req: Request, res: any, next: () => any): void { 7 | res.setHeader('X-Api-Name', process.env?.PACKAGE_NAME) 8 | res.setHeader('X-Api-Version', process.env?.PACKAGE_VERSION ?? process.env?.npm_package_version ?? '0.0.0') 9 | 10 | next() 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/generate-name-cases.ts: -------------------------------------------------------------------------------- 1 | import { camelCase, constantCase, paramCase, pascalCase, snakeCase } from 'change-case' 2 | 3 | import type { GeneratedNameCases } from './generate-name-cases.interface' 4 | 5 | export function generateNameCases (name: string): GeneratedNameCases { 6 | return { 7 | camel: camelCase(name), 8 | snake: snakeCase(name), 9 | upper: constantCase(name), 10 | kebab: paramCase(name), 11 | pascal: pascalCase(name) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /release.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | repositoryUrl: 'https://gitlab.diamir.tech/bdsm/nx-skeleton', 3 | branches: [ 4 | 'main', 5 | 'master', 6 | 'next', 7 | 'next-major', 8 | { 9 | name: 'alpha', 10 | prerelease: true 11 | }, 12 | { 13 | name: 'beta', 14 | prerelease: true 15 | }, 16 | { 17 | name: 'rc', 18 | prerelease: true 19 | }, 20 | { 21 | name: 'rc', 22 | prerelease: true 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/BaseCreateApplicationFilesOptions.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / BaseCreateApplicationFilesOptions 2 | 3 | # Interface: BaseCreateApplicationFilesOptions 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [root](BaseCreateApplicationFilesOptions.md#root) 10 | 11 | ## Properties 12 | 13 | ### root 14 | 15 | • `Optional` **root**: `string` 16 | 17 | #### Defined in 18 | 19 | packages/nx-tools/src/rules/create-application.rule.interface.ts:72 20 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/add-project.interface.ts: -------------------------------------------------------------------------------- 1 | import type { NxProjectTypes } from '@constants/nx.constants' 2 | 3 | /** 4 | * workspace.json is where all of the nx data is stored. 5 | */ 6 | export interface WorkspaceJSON = any> { 7 | projects: Record< 8 | string, 9 | { 10 | root: string 11 | sourceRoot: string 12 | projectType: NxProjectTypes 13 | schematics: any 14 | architect: T 15 | } 16 | > 17 | defaultProject: string 18 | } 19 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/src/interfaces/keycloak-seed.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from '@nestjs/common' 2 | 3 | import type { KeycloakAdminSeederTools } from '@utils/keycloak-seeder-tools' 4 | 5 | /** 6 | * A singular seed that should be extended from, for seeding Keycloak. 7 | */ 8 | export abstract class KeycloakSeed { 9 | protected logger: Logger = new Logger(this.constructor.name) 10 | 11 | constructor (protected keycloak: KeycloakAdminSeederTools) {} 12 | 13 | abstract run (): Promise 14 | } 15 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": { 8 | "@constants/*": ["constants/*"], 9 | "@decorators/*": ["decorators/*"], 10 | "@interfaces/*": ["interfaces/*"], 11 | "@utils/*": ["utils/*"], 12 | "@module/*": ["module/*"] 13 | } 14 | }, 15 | "include": ["src"], 16 | "exclude": ["node_modules", "dist"] 17 | } 18 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/microservice-provider/files/src/interfaces/default.interface.ts.ejs: -------------------------------------------------------------------------------- 1 | import { DefaultPattern } from '../patterns' 2 | import type { MicroserviceProviderBaseMessage } from '@webundsoehne/nestjs-util-microservices'; 3 | import { BaseMessageIndexes } from '@webundsoehne/nestjs-util-microservices' 4 | 5 | export declare class DefaultMessage extends BaseMessageIndexes implements MicroserviceProviderBaseMessage { 6 | [DefaultPattern.DEFAULT]: (request: unknown) => unknown 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-tools/src/schematics/exports/main.interface.ts: -------------------------------------------------------------------------------- 1 | import type { BarebonesSchema } from '@interfaces/base-schemas.interface' 2 | import type { GenerateExportsJinjaTemplateOptions } from '@rules/generate-exports.rule.interface' 3 | 4 | // this is the one gets inputted from the command line 5 | export interface Schema extends BarebonesSchema { 6 | templates: GenerateExportsJinjaTemplateOptions 7 | } 8 | 9 | export interface NormalizedSchema extends Schema { 10 | templates: Schema['templates'] 11 | } 12 | -------------------------------------------------------------------------------- /packages/nx-tools/src/templates/jinja-defaults.ts: -------------------------------------------------------------------------------- 1 | import nunjucks from 'nunjucks' 2 | 3 | /** 4 | * Default settings for jinja compatible nunjucks. 5 | * @param options 6 | */ 7 | export function getJinjaDefaults (options?: nunjucks.ConfigureOptions): typeof nunjucks { 8 | // nunjucks configuration 9 | nunjucks.configure({ 10 | autoescape: false, 11 | throwOnUndefined: true, 12 | trimBlocks: true, 13 | lstripBlocks: false, 14 | ...options 15 | }) 16 | 17 | return nunjucks 18 | } 19 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/CreateApplicationRuleOptions.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / CreateApplicationRuleOptions 2 | 3 | # Interface: CreateApplicationRuleOptions 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [format](CreateApplicationRuleOptions.md#format) 10 | 11 | ## Properties 12 | 13 | ### format 14 | 15 | • **format**: [`FormatFilesOptions`](FormatFilesOptions.md) 16 | 17 | #### Defined in 18 | 19 | packages/nx-tools/src/rules/create-application.rule.interface.ts:76 20 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/config/custom-environment-variables.yml.ejs: -------------------------------------------------------------------------------- 1 | <% if (isServer) { %>port: API_PORT<% } %> 2 | logLevel: LOG_LEVEL 3 | 4 | misc: 5 | lockfile: MAINTENANCE_LOCKFILE 6 | lastUpdateFile: LAST_UPDATE_FILE 7 | maintenanceNotification: MAINTENANCE_MESSAGE 8 | <% if (isServer) { %> 9 | url: 10 | basePath: BASE_URL 11 | apiPath: API_BASE_PATH 12 | 13 | swagger: 14 | useHttps: 15 | __name: USE_HTTPS 16 | __format: json 17 | path: SWAGGER_PATH 18 | <% } -%> 19 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/workspace/files/docker-compose.yml.ejs: -------------------------------------------------------------------------------- 1 | include: 2 | - service-docker-compose.yml 3 | services: 4 | <%= SERVICE_NAME %>: 5 | image: <%= DOCKER_IMAGE %> 6 | ports: 7 | - "3000:3000" 8 | working_dir: /opt/workspace 9 | environment: 10 | NX_CACHE_DIRECTORY: /opt/.nx/cache 11 | NX_WORKSPACE_DATA_DIRECTORY: /opt/.nx/workspace-data 12 | volumes: 13 | - .:/opt/workspace 14 | command: npm run start 15 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/BaseSchemaModes.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / BaseSchemaModes 2 | 3 | # Interface: BaseSchemaModes 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [mode](BaseSchemaModes.md#mode) 10 | 11 | ## Properties 12 | 13 | ### mode 14 | 15 | • `Optional` **mode**: [`AvailableSchemaModes`](../enums/AvailableSchemaModes.md) 16 | 17 | Available modes for this generator. 18 | 19 | #### Defined in 20 | 21 | packages/nx-tools/src/interfaces/base-schemas.interface.ts:52 22 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/PackageManagerCtx.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / PackageManagerCtx 2 | 3 | # Interface: PackageManagerCtx 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [fail](PackageManagerCtx.md#fail) 10 | 11 | ## Properties 12 | 13 | ### fail 14 | 15 | • **fail**: `Partial`<`Record`<[`AvailablePackageManagers`](../enums/AvailablePackageManagers.md), `boolean`\>\> 16 | 17 | #### Defined in 18 | 19 | packages/nx-tools/src/utils/package-manager/package-manager.interface.ts:4 20 | -------------------------------------------------------------------------------- /packages/brownie/src/constants/package-manager.constants.ts: -------------------------------------------------------------------------------- 1 | import { Flags } from '@cenk1cenk2/oclif-common' 2 | 3 | import { AvailablePackageManagers } from '@webundsoehne/nx-tools' 4 | 5 | export const PACKAGE_MANAGER_FLAGS = { 6 | ['package-manager']: Flags.enum({ 7 | description: 'Use the given package manager to do the install/update operations.', 8 | default: AvailablePackageManagers.NPM, 9 | env: 'PACKAGE_MANAGER', 10 | char: 'm', 11 | options: Object.values(AvailablePackageManagers) 12 | }) 13 | } 14 | -------------------------------------------------------------------------------- /packages/nx-tools/src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './execa-arguments.interface' 2 | export * from './versions.interface' 3 | export * from './add-project.interface' 4 | export * from './nx-json.interface' 5 | export * from './linter-dependencies.interface' 6 | export * from './schematic-files.interface' 7 | export * from './assets.interface' 8 | export * from './schematic.interface' 9 | export * from './base-schemas.interface' 10 | export * from './extensions.interface' 11 | export * from './environment-variables.interface' 12 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/enums/NxConstants.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / NxConstants 2 | 3 | # Enumeration: NxConstants 4 | 5 | Some NX constants. 6 | They seem to change every minor patch XD 7 | 8 | ## Table of contents 9 | 10 | ### Enumeration Members 11 | 12 | - [TS\_CONFIG\_PATH](NxConstants.md#ts_config_path) 13 | 14 | ## Enumeration Members 15 | 16 | ### TS\_CONFIG\_PATH 17 | 18 | • **TS\_CONFIG\_PATH** = ``"tsconfig.base.json"`` 19 | 20 | #### Defined in 21 | 22 | packages/nx-tools/src/constants/nx.constants.ts:6 23 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/docker/files/Dockerfile.ejs: -------------------------------------------------------------------------------- 1 | FROM node:18-alpine 2 | 3 | # Workdir for node package 4 | WORKDIR /data/app 5 | 6 | COPY . /data/app 7 | 8 | # Install Tini 9 | RUN apk --no-cache --no-progress add tini 10 | 11 | # Create custom entrypoint supports environment variables 12 | RUN printf "#!/bin/ash\nnpm run start" > /entrypoint.sh && \ 13 | chmod +x /entrypoint.sh 14 | 15 | # Install Node packages 16 | RUN npm ci --omit dev --unsafe-perm 17 | 18 | ENTRYPOINT ["/sbin/tini", "-vg", "--", "/entrypoint.sh"] 19 | -------------------------------------------------------------------------------- /packages/nx-workspace/src/generators/docker/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "Docker", 3 | "cli": "nx", 4 | "title": "Docker", 5 | "description": "Add a dockerfile to each (not excluded) project", 6 | "type": "object", 7 | "properties": { 8 | "exclude": { 9 | "type": "array", 10 | "items": "string", 11 | "description": "Exclude projects" 12 | }, 13 | "projects": { 14 | "type": "array", 15 | "items": "string", 16 | "description": "Select projects" 17 | } 18 | }, 19 | "required": [] 20 | } 21 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/interfaces/apollo-server-plugin.interface.ts: -------------------------------------------------------------------------------- 1 | import type { Connection } from 'typeorm' 2 | 3 | /** 4 | * Options for the dataloader interceptor and the apollo server plugin. 5 | * Typeorm connection must be passed in to use the typeorm data loader. 6 | * Field middleware has no way of accessing nestjs dependency injection so 7 | * the injection of the connection must be done manually. 8 | */ 9 | export interface ApolloServerLoaderPluginOptions { 10 | typeormGetConnection?: () => Connection 11 | } 12 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/src/provider/swagger/swagger.interfaces.ts: -------------------------------------------------------------------------------- 1 | import type { DocumentBuilder, SwaggerCustomOptions } from '@nestjs/swagger' 2 | 3 | export interface SwaggerConfig { 4 | useHttps: boolean 5 | basePath: string 6 | path: string 7 | title: string 8 | description: string 9 | custom?: SwaggerCustomOptions 10 | } 11 | 12 | export interface UrlConfig { 13 | basePath: string 14 | apiPath: string 15 | } 16 | 17 | export interface SwaggerOptions { 18 | customize: (builder: DocumentBuilder) => DocumentBuilder 19 | } 20 | -------------------------------------------------------------------------------- /packages/brownie/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": { 8 | "@constants/*": ["constants/*"], 9 | "@commands/*": ["commands/*"], 10 | "@helpers/*": ["helpers/*"], 11 | "@interfaces/*": ["interfaces/*"], 12 | "@context/*": ["interfaces/commands/*"], 13 | "@templates/*": ["templates/*"] 14 | } 15 | }, 16 | "include": ["src"], 17 | "exclude": ["node_modules", "dist"] 18 | } 19 | -------------------------------------------------------------------------------- /packages/nx-tools/src/rules/add-nx-implicit-dependencies.rule.ts: -------------------------------------------------------------------------------- 1 | import type { Rule } from '@angular-devkit/schematics' 2 | import { updateNxJsonInTree } from '@nrwl/workspace' 3 | 4 | import { ArrayMergeBehavior, merge } from '@webundsoehne/deep-merge' 5 | 6 | export function addNxImplicitDependenciesRule (deps: Record): Rule { 7 | return updateNxJsonInTree((json) => { 8 | json.implicitDependencies = merge({ arrayMerge: ArrayMergeBehavior.UNIQUE }, json.implicitDependencies ?? {}, deps) 9 | 10 | return json 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /scripts/link-packages-to-workspace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -z "$1" ]; then 4 | echo "First parameter should be link | unlink" 5 | exit 127 6 | fi 7 | 8 | if [ -z "$2" ]; then 9 | echo "Second parameter should be the pwd of created workspace." 10 | exit 127 11 | fi 12 | 13 | [ ! -d "$2" ] && echo "Directory $2 not found." 14 | 15 | PACKAGES=packages/*/package.json 16 | 17 | echo "Running against directory: $2" 18 | 19 | for PACKAGE in "${PACKAGES[@]}"; do 20 | PKG_NAME=$(cat $PACKAGE | jq -r .name) 21 | (cd "$2" && yarn $1 $PKG_NAME) 22 | done 23 | -------------------------------------------------------------------------------- /packages/nestjs-util/.gitignore: -------------------------------------------------------------------------------- 1 | # compiled output 2 | /node_modules 3 | /dist 4 | 5 | # Logs 6 | logs 7 | *.log 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | lerna-debug.log* 12 | 13 | # OS 14 | .DS_Store 15 | 16 | # IDEs and editors 17 | /.idea 18 | .project 19 | .classpath 20 | .c9/ 21 | *.launch 22 | .settings/ 23 | *.sublime-workspace 24 | 25 | # IDE - VSCode 26 | .vscode/* 27 | !.vscode/settings.json 28 | !.vscode/tasks.json 29 | !.vscode/launch.json 30 | !.vscode/extensions.json 31 | 32 | # Node Package Manager 33 | .npm 34 | .npmrc 35 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/server/modules/__fileName__/__fileName__.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { <%- resourceNames.className -%>Controller } from './<%- resourceNames.fileName -%>.controller' 4 | import { <%- resourceNames.className -%>Service } from './<%- resourceNames.fileName -%>.service' 5 | 6 | @Module({ 7 | controllers: [ <%- resourceNames.className -%>Controller ], 8 | providers: [ <%- resourceNames.className -%>Service ] 9 | }) 10 | export class <%- resourceNames.className -%>Module {} 11 | -------------------------------------------------------------------------------- /packages/patch-package/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": { 8 | "@constants/*": ["constants/*"], 9 | "@commands/*": ["commands/*"], 10 | "@helpers/*": ["helpers/*"], 11 | "@interfaces/*": ["interfaces/*"], 12 | "@context/*": ["interfaces/commands/*"], 13 | "@templates/*": ["templates/*"] 14 | } 15 | }, 16 | "include": ["src"], 17 | "exclude": ["node_modules", "dist"] 18 | } 19 | -------------------------------------------------------------------------------- /packages/nestjs-util-graphql/.gitignore: -------------------------------------------------------------------------------- 1 | # compiled output 2 | /node_modules 3 | /dist 4 | 5 | # Logs 6 | logs 7 | *.log 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | lerna-debug.log* 12 | 13 | # OS 14 | .DS_Store 15 | 16 | # IDEs and editors 17 | /.idea 18 | .project 19 | .classpath 20 | .c9/ 21 | *.launch 22 | .settings/ 23 | *.sublime-workspace 24 | 25 | # IDE - VSCode 26 | .vscode/* 27 | !.vscode/settings.json 28 | !.vscode/tasks.json 29 | !.vscode/launch.json 30 | !.vscode/extensions.json 31 | 32 | # Node Package Manager 33 | .npm 34 | .npmrc 35 | -------------------------------------------------------------------------------- /packages/nestjs-util-restful/.gitignore: -------------------------------------------------------------------------------- 1 | # compiled output 2 | /node_modules 3 | /dist 4 | 5 | # Logs 6 | logs 7 | *.log 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | lerna-debug.log* 12 | 13 | # OS 14 | .DS_Store 15 | 16 | # IDEs and editors 17 | /.idea 18 | .project 19 | .classpath 20 | .c9/ 21 | *.launch 22 | .settings/ 23 | *.sublime-workspace 24 | 25 | # IDE - VSCode 26 | .vscode/* 27 | !.vscode/settings.json 28 | !.vscode/tasks.json 29 | !.vscode/launch.json 30 | !.vscode/extensions.json 31 | 32 | # Node Package Manager 33 | .npm 34 | .npmrc 35 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/.gitignore: -------------------------------------------------------------------------------- 1 | # compiled output 2 | /node_modules 3 | /dist 4 | 5 | # Logs 6 | logs 7 | *.log 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | lerna-debug.log* 12 | 13 | # OS 14 | .DS_Store 15 | 16 | # IDEs and editors 17 | /.idea 18 | .project 19 | .classpath 20 | .c9/ 21 | *.launch 22 | .settings/ 23 | *.sublime-workspace 24 | 25 | # IDE - VSCode 26 | .vscode/* 27 | !.vscode/settings.json 28 | !.vscode/tasks.json 29 | !.vscode/launch.json 30 | !.vscode/extensions.json 31 | 32 | # Node Package Manager 33 | .npm 34 | .npmrc 35 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/logger/pipe-process-to-listr.ts: -------------------------------------------------------------------------------- 1 | import type execa from 'execa' 2 | import type { ListrTaskWrapper } from 'listr2' 3 | import through from 'through' 4 | 5 | export function pipeProcessThroughListr (task: ListrTaskWrapper, instance: execa.ExecaChildProcess): execa.ExecaChildProcess { 6 | const logOut = through((chunk: Buffer | string) => { 7 | task.output = chunk?.toString('utf-8').trim() 8 | }) 9 | 10 | // do the action 11 | instance.stdout.pipe(logOut) 12 | instance.stderr.pipe(logOut) 13 | 14 | return instance 15 | } 16 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/provider/logger/logger.constants.ts: -------------------------------------------------------------------------------- 1 | import * as colors from 'colorette' 2 | 3 | export enum LogType { 4 | error = 'error', 5 | log = 'info', 6 | info = 'info', 7 | warn = 'warn', 8 | debug = 'debug', 9 | verbose = 'verbose', 10 | none = 'none' 11 | } 12 | 13 | export const LOG_LEVEL: string = LogType.verbose 14 | 15 | export const ColorSchema = { 16 | [LogType.log]: colors.green, 17 | [LogType.error]: colors.red, 18 | [LogType.warn]: colors.yellow, 19 | [LogType.debug]: colors.magenta, 20 | [LogType.verbose]: colors.cyan 21 | } 22 | -------------------------------------------------------------------------------- /packages/nx-nest/src/utils/apply-tasks.ts: -------------------------------------------------------------------------------- 1 | import type { GeneratorCallback } from '@nx/devkit' 2 | import { output } from 'nx/src/utils/output' 3 | 4 | export function applyTasks (tasks: GeneratorCallback[]): () => Promise { 5 | return async () => { 6 | for (const task of tasks) { 7 | try { 8 | await task() 9 | } catch (error) { 10 | output.error({ 11 | title: 'Error on post-processing', 12 | bodyLines: error.message?.split('\n').filter((line: string) => !!line.trim()) 13 | }) 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-serialized-enriched-exception.guard.ts: -------------------------------------------------------------------------------- 1 | import type { EnrichedExceptionError } from '../enriched-exception.interface' 2 | 3 | export function isSerializedEnrichedExceptionError (exception: unknown): exception is EnrichedExceptionError { 4 | // TODO: this should be satisfies when the typescript version in the library is updated 5 | if (typeof exception === 'object' && (['message', 'name', 'statusCode'] as (keyof EnrichedExceptionError)[]).every((key) => key in exception)) { 6 | return true 7 | } 8 | 9 | return false 10 | } 11 | -------------------------------------------------------------------------------- /packages/nx-builders/src/utils/versions.constants.ts: -------------------------------------------------------------------------------- 1 | import type { Versions } from './versions.interface' 2 | import { AvailableBuilders } from '@interfaces/available.constants' 3 | 4 | export const VERSIONS: Versions = { 5 | base: {}, 6 | 7 | [AvailableBuilders.TSC]: { 8 | devDeps: { 9 | ['tsconfig-replace-paths']: '^0.0.11', 10 | ['tsc-watch']: '^5' 11 | } 12 | }, 13 | 14 | [AvailableBuilders.TS_NODE_DEV]: { 15 | devDeps: { 16 | ['ts-node']: '^10', 17 | ['ts-node-dev']: '^2', 18 | ['tsconfig-paths']: '^4' 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/task/modules/default/default.task.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Injectable, Logger } from '@nestjs/common' 2 | import { Interval } from '@nestjs/schedule' 3 | 4 | /** 5 | * Register your bgtask in this component. 6 | * Documentation: https://docs.nestjs.com/techniques/task-scheduling 7 | */ 8 | 9 | @Injectable() 10 | export class DefaultTask { 11 | private readonly logger: Logger = new Logger(this.constructor.name) 12 | 13 | @Interval(86400) 14 | defaultJob (): void { 15 | this.logger.debug('Background task is active.') 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/index.ts: -------------------------------------------------------------------------------- 1 | export * from './defaults' 2 | export * from './is-context' 3 | export * from './is-verbose' 4 | export * from './is-development-mode' 5 | export * from './generate-name-cases' 6 | export * from './generate-name-cases.interface' 7 | export * from './dependency-calculator' 8 | export * from './dependency-calculator.interface' 9 | export * from './copy-assets' 10 | export * from './parse-arguments' 11 | export * from './parse-arguments.interface' 12 | export * from './get-initial-from-prior' 13 | export * from './generate-project-lint-target' 14 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/pipes/validation.pipe.ts: -------------------------------------------------------------------------------- 1 | import type { ValidationError } from '@nestjs/common' 2 | import { Injectable, ValidationPipe, ValidationPipeOptions } from '@nestjs/common' 3 | 4 | import { ClassValidatorException } from '../filters/interfaces' 5 | 6 | @Injectable() 7 | export class ExtendedValidationPipe extends ValidationPipe { 8 | constructor (options?: ValidationPipeOptions) { 9 | super({ 10 | exceptionFactory: (errors: ValidationError[]): ClassValidatorException => new ClassValidatorException(...errors), 11 | ...options 12 | }) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/nx-nest/src/constant/database-orm/dependencies.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/naming-convention */ 2 | export const DEPENDENCIES_TYPEORM = { 3 | '@nestjs/typeorm': '^11', 4 | typeorm: '^0.3.22' 5 | } 6 | 7 | export const DEPENDENCIES_TYPEORM_MYSQL = { 8 | ...DEPENDENCIES_TYPEORM, 9 | mysql2: '^3.11.0' 10 | } 11 | 12 | export const DEPENDENCIES_TYPEORM_POSTGRES = { 13 | ...DEPENDENCIES_TYPEORM, 14 | pg: '^8.13.0' 15 | } 16 | 17 | export const DEPENDENCIES_MONGOOSE = { 18 | '@nestjs/mongoose': '^11', 19 | 'migrate-mongo': '^12', 20 | mongoose: '^8' 21 | } 22 | -------------------------------------------------------------------------------- /packages/deep-merge/docs/enums/ArrayMergeBehavior.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/deep-merge](../README.md) / ArrayMergeBehavior 2 | 3 | # Enumeration: ArrayMergeBehavior 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration Members 8 | 9 | - [OVERWRITE](ArrayMergeBehavior.md#overwrite) 10 | - [UNIQUE](ArrayMergeBehavior.md#unique) 11 | 12 | ## Enumeration Members 13 | 14 | ### OVERWRITE 15 | 16 | • **OVERWRITE** = `"OVERWRITE"` 17 | 18 | #### Defined in 19 | 20 | constants.ts:3 21 | 22 | --- 23 | 24 | ### UNIQUE 25 | 26 | • **UNIQUE** = `"UNIQUE"` 27 | 28 | #### Defined in 29 | 30 | constants.ts:2 31 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/BaseSchemaParent.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / BaseSchemaParent 2 | 3 | # Interface: BaseSchemaParent 4 | 5 | ## Hierarchy 6 | 7 | - **`BaseSchemaParent`** 8 | 9 | ↳ [`BaseSchemaWithParent`](BaseSchemaWithParent.md) 10 | 11 | ## Table of contents 12 | 13 | ### Properties 14 | 15 | - [parent](BaseSchemaParent.md#parent) 16 | 17 | ## Properties 18 | 19 | ### parent 20 | 21 | • `Optional` **parent**: `string` 22 | 23 | Name of the parent project. 24 | 25 | #### Defined in 26 | 27 | packages/nx-tools/src/interfaces/base-schemas.interface.ts:23 28 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/schematics/parse-arguments.ts: -------------------------------------------------------------------------------- 1 | import type { ConvertToPromptType } from './parse-arguments.interface' 2 | 3 | /** 4 | * Converts the set of choices from an array of names to prettyfiying their names from the second object. 5 | * 6 | * @param {any} keys 7 | * @param {Record} names 8 | * @returns {ConvertToPromptType} 9 | */ 10 | export function mapPromptChoices (keys: any, names: Record): ConvertToPromptType { 11 | return Object.keys(keys).map((o) => ({ 12 | name: keys[o], 13 | message: names[keys[o]] 14 | })) 15 | } 16 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/nx/add.interface.ts: -------------------------------------------------------------------------------- 1 | import type { SchematicConfig, NxSchematicsConfig } from '@interfaces/config/nx-schematics.config.interface' 2 | import type { LocalNodeModule, CommonNodeDependency } from '@webundsoehne/nx-tools' 3 | 4 | export class NxAddCommandCtx { 5 | public prompts: { 6 | schematic?: NxSchematicsConfig 7 | toRunSchematic?: SchematicConfig 8 | arguments?: string 9 | } 10 | public deps: LocalNodeModule[] 11 | public packages: CommonNodeDependency[] 12 | constructor () { 13 | this.prompts = {} 14 | this.packages = [] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/util/guards/is-request.guard.ts: -------------------------------------------------------------------------------- 1 | import type { Request as ExpressRequest } from 'express' 2 | import type { FastifyRequest } from 'fastify' 3 | 4 | export function isFastifyRequest (request: unknown): request is FastifyRequest { 5 | if (typeof request === 'object' && request.hasOwnProperty('raw')) { 6 | return true 7 | } 8 | 9 | return false 10 | } 11 | 12 | export function isExpressRequest (request: unknown): request is ExpressRequest { 13 | if (typeof request === 'object' && !request.hasOwnProperty('raw')) { 14 | return true 15 | } 16 | 17 | return false 18 | } 19 | -------------------------------------------------------------------------------- /packages/eslint-config/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Output 2 | /node_modules 3 | /dist 4 | /tmp 5 | 6 | # Logs 7 | logs 8 | *.log 9 | *-debug.log* 10 | *-error.log* 11 | /.nyc_output 12 | 13 | # OS 14 | .DS_Store 15 | 16 | # IDEs and editors 17 | /.idea 18 | .project 19 | .classpath 20 | .c9/ 21 | *.launch 22 | .settings/ 23 | *.sublime-workspace 24 | 25 | # IDE - VSCode 26 | .vscode/* 27 | !.vscode/settings.json 28 | !.vscode/tasks.json 29 | !.vscode/launch.json 30 | !.vscode/extensions.json 31 | 32 | # tsbuild 33 | tsconfig.tsbuildinfo 34 | 35 | # Node Package Manager 36 | .npm 37 | .npmrc 38 | package-lock.json 39 | -------------------------------------------------------------------------------- /packages/nestjs-util/src/filters/interfaces/guards/is-serialized-error.guard.ts: -------------------------------------------------------------------------------- 1 | export function isSerializedError (exception: unknown): exception is { error: Error } { 2 | if ( 3 | typeof exception === 'object' && 4 | 'error' in exception && 5 | typeof (exception as Record).error === 'object' && 6 | // TODO: this should be satisfies when the typescript version in the library is updated, types can also be updated 7 | (['message', 'name'] as (keyof Error)[]).every((key) => key in (exception as any).error) 8 | ) { 9 | return true 10 | } 11 | 12 | return false 13 | } 14 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/microservice-queue/interfaces/__projectName__.interface.ts.ejs: -------------------------------------------------------------------------------- 1 | import { <%- projectNames.className -%>Pattern } from '../patterns' 2 | import type { MicroserviceProviderBaseMessage } from '@webundsoehne/nestjs-util-microservices'; 3 | import { BaseMessageIndexes } from '@webundsoehne/nestjs-util-microservices' 4 | 5 | export declare class <%- projectNames.className -%>Message extends BaseMessageIndexes implements MicroserviceProviderBaseMessage<<%- projectNames.className -%>Pattern> { 6 | [<%- projectNames.className -%>Pattern.DEFAULT]: (request: unknown) => unknown 7 | } 8 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/microservice/modules/__fileName__/__fileName__.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common' 2 | 3 | import { <%- resourceNames.className -%>Microcontroller } from './<%- resourceNames.fileName -%>.controller' 4 | import { <%- resourceNames.className -%>Microservice } from './<%- resourceNames.fileName -%>.service' 5 | 6 | @Module({ 7 | imports: [], 8 | controllers: [<%- resourceNames.className -%>Microcontroller], 9 | providers: [<%- resourceNames.className -%>Microservice] 10 | }) 11 | export class <%- resourceNames.className -%>MicroserviceModule {} 12 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/resource/files/task/modules/__fileName__/__fileName__.task.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Injectable, Logger } from '@nestjs/common' 2 | import { Interval } from '@nestjs/schedule' 3 | 4 | /** 5 | * Register your bgtask in this component. 6 | * Documentation: https://docs.nestjs.com/techniques/task-scheduling 7 | */ 8 | 9 | @Injectable() 10 | export class <%- resourceNames.className -%>Task { 11 | private readonly logger: Logger = new Logger(this.constructor.name) 12 | 13 | @Interval(86400) 14 | defaultJob (): void { 15 | this.logger.debug('Background task is active.') 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/loaders/to-one.loader.ts: -------------------------------------------------------------------------------- 1 | import DataLoader from 'dataloader' 2 | import type { Connection } from 'typeorm' 3 | import type { RelationMetadata } from 'typeorm/metadata/RelationMetadata' 4 | 5 | import { directLoader } from './direct.loader' 6 | 7 | /** 8 | * A common loader to handle to one relations. 9 | */ 10 | export class ToOneDataloader extends DataLoader { 11 | constructor (relation: RelationMetadata, connection: Connection) { 12 | super(directLoader(relation, connection, relation.inverseEntityMetadata.primaryColumns[0].propertyName)) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/FileInputOutput.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / FileInputOutput 2 | 3 | # Interface: FileInputOutput 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [input](FileInputOutput.md#input) 10 | - [output](FileInputOutput.md#output) 11 | 12 | ## Properties 13 | 14 | ### input 15 | 16 | • **input**: `string` 17 | 18 | #### Defined in 19 | 20 | packages/nx-tools/src/interfaces/assets.interface.ts:4 21 | 22 | ___ 23 | 24 | ### output 25 | 26 | • **output**: `string` 27 | 28 | #### Defined in 29 | 30 | packages/nx-tools/src/interfaces/assets.interface.ts:5 31 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/BaseSchemaName.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / BaseSchemaName 2 | 3 | # Interface: BaseSchemaName 4 | 5 | ## Hierarchy 6 | 7 | - **`BaseSchemaName`** 8 | 9 | ↳ [`BarebonesSchemaWithName`](BarebonesSchemaWithName.md) 10 | 11 | ↳ [`BaseSchema`](BaseSchema.md) 12 | 13 | ## Table of contents 14 | 15 | ### Properties 16 | 17 | - [name](BaseSchemaName.md#name) 18 | 19 | ## Properties 20 | 21 | ### name 22 | 23 | • `Optional` **name**: `string` 24 | 25 | Name of the project. 26 | 27 | #### Defined in 28 | 29 | packages/nx-tools/src/interfaces/base-schemas.interface.ts:18 30 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/Dockerfile.ejs: -------------------------------------------------------------------------------- 1 | FROM node:<%= NODE_VERSION %>-alpine 2 | 3 | # Set workdir for node application 4 | WORKDIR /opt/app 5 | 6 | # Install node packages 7 | COPY package*.json /opt/app 8 | RUN npm ci --omit dev --unsafe-perm 9 | 10 | # Copy node application 11 | COPY . /opt/app 12 | 13 | # Install Tini 14 | RUN apk --no-cache --no-progress add tini 15 | 16 | # Create custom entrypoint supports environment variables 17 | RUN printf "#!/bin/ash\nnpm run start" > /entrypoint.sh && \ 18 | chmod +x /entrypoint.sh 19 | 20 | ENTRYPOINT ["/sbin/tini", "-vg", "--", "/entrypoint.sh"] 21 | -------------------------------------------------------------------------------- /packages/nx-tools/src/schematics/package-manager/main.ts: -------------------------------------------------------------------------------- 1 | import type { Rule, SchematicContext, Tree } from '@angular-devkit/schematics' 2 | import { chain } from '@angular-devkit/schematics' 3 | 4 | import { normalizeOptions } from './lib/normalize-options' 5 | import { runCommand } from './lib/run-command' 6 | import type { Schema } from './main.interface' 7 | 8 | export default function (schema: Schema): Rule { 9 | return async (host: Tree, context: SchematicContext): Promise => { 10 | const options = await normalizeOptions(host, context, schema) 11 | 12 | return chain([runCommand(options)]) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/BrownieIntegration.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / BrownieIntegration 2 | 3 | # Interface: BrownieIntegration 4 | 5 | To integrate a application with brownie for further processing. 6 | 7 | ## Table of contents 8 | 9 | ### Properties 10 | 11 | - [containers](BrownieIntegration.md#containers) 12 | 13 | ## Properties 14 | 15 | ### containers 16 | 17 | • `Optional` **containers**: [`BrownieAvailableContainers`](../enums/BrownieAvailableContainers.md)[] 18 | 19 | Brownie available containers 20 | 21 | #### Defined in 22 | 23 | packages/nx-tools/src/integration/brownie.interface.ts:6 24 | -------------------------------------------------------------------------------- /packages/brownie/src/interfaces/commands/workspace/create.interface.ts: -------------------------------------------------------------------------------- 1 | import type { WorkspaceConfig } from '@interfaces/config/workspace.config.interface' 2 | import type { LocalNodeModule, NodeDependency } from '@webundsoehne/nx-tools' 3 | 4 | export class WorkspaceCreateCommandCtx { 5 | public prompts: { 6 | workspace?: string 7 | } 8 | public workspaces: WorkspaceConfig[] 9 | public dependencies: NodeDependency[] 10 | public deps: LocalNodeModule[] 11 | public packages: NodeDependency[] 12 | public workspace: WorkspaceConfig 13 | 14 | constructor () { 15 | this.prompts = {} 16 | this.packages = [] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/src/loaders/to-many.loader.ts: -------------------------------------------------------------------------------- 1 | import DataLoader from 'dataloader' 2 | import type { Connection } from 'typeorm' 3 | import type { RelationMetadata } from 'typeorm/metadata/RelationMetadata' 4 | 5 | import { directLoader } from './direct.loader' 6 | 7 | /** 8 | * A common loader to handle to many relations. 9 | */ 10 | export class ToManyDataloader extends DataLoader { 11 | constructor (relation: RelationMetadata, connection: Connection) { 12 | super(directLoader(relation, connection, (entity) => relation.inverseEntityMetadata.primaryColumns[0].getEntityValue(entity))) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/nestjs-util-microservices/docs/interfaces/MicroserviceProviderServiceOptions.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nestjs-util-microservices](../README.md) / MicroserviceProviderServiceOptions 2 | 3 | # Interface: MicroserviceProviderServiceOptions 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [timeout](MicroserviceProviderServiceOptions.md#timeout) 10 | 11 | ## Properties 12 | 13 | ### timeout 14 | 15 | • `Optional` **timeout**: `number` 16 | 17 | add timeout functionality to the message queue 18 | 19 | #### Defined in 20 | 21 | packages/nestjs-util-microservices/src/module/microservice-client/microservice-provider.interface.ts:20 22 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/command/command.module.ts.ejs: -------------------------------------------------------------------------------- 1 | import { Module, NestModule } from '@nestjs/common' 2 | 3 | import * as modules from './modules' 4 | import {ConfigService } from '@webundsoehne/nestjs-util' 5 | 6 | /** 7 | * Utilizes (nestjs-commander)[https://docs.nestjs.com/recipes/nest-commander]. 8 | */ 9 | @Module({ 10 | providers: [ 11 | ConfigService 12 | ], 13 | imports: [ 14 | ...Object.values(modules) 15 | ] 16 | }) 17 | export class CommandModule implements NestModule { 18 | // eslint-disable-next-line @typescript-eslint/no-empty-function 19 | async configure (): Promise {} 20 | } 21 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/enums/NxProjectTypes.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / NxProjectTypes 2 | 3 | # Enumeration: NxProjectTypes 4 | 5 | Nx application types 6 | 7 | ## Table of contents 8 | 9 | ### Enumeration Members 10 | 11 | - [APP](NxProjectTypes.md#app) 12 | - [LIB](NxProjectTypes.md#lib) 13 | 14 | ## Enumeration Members 15 | 16 | ### APP 17 | 18 | • **APP** = ``"application"`` 19 | 20 | #### Defined in 21 | 22 | packages/nx-tools/src/constants/nx.constants.ts:13 23 | 24 | ___ 25 | 26 | ### LIB 27 | 28 | • **LIB** = ``"library"`` 29 | 30 | #### Defined in 31 | 32 | packages/nx-tools/src/constants/nx.constants.ts:14 33 | -------------------------------------------------------------------------------- /packages/nx-tools/src/integration/brownie.interface.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * To integrate a application with brownie for further processing. 3 | */ 4 | export interface BrownieIntegration { 5 | /** Brownie available containers */ 6 | containers?: BrownieAvailableContainers[] 7 | } 8 | 9 | /** 10 | * Available containers that is known by brownie. 11 | * It is here instead of brownie since it is an integration thingy as well as avoiding circular dependencies. 12 | */ 13 | export enum BrownieAvailableContainers { 14 | NX = 'nx', 15 | POSTGRESQL = 'db-postgresql', 16 | MYSQL = 'db-mysql', 17 | MONGODB = 'db-mongodb', 18 | RABBITMQ = 'rabbitmq' 19 | } 20 | -------------------------------------------------------------------------------- /packages/deep-merge/.gitignore: -------------------------------------------------------------------------------- 1 | # CLI FILES 2 | # Compiled Output 3 | /node_modules 4 | /dist 5 | /tmp 6 | 7 | # Logs 8 | logs 9 | *.log 10 | *-debug.log* 11 | *-error.log* 12 | /.nyc_output 13 | 14 | # OS 15 | .DS_Store 16 | 17 | # tests 18 | coverage/ 19 | 20 | # IDEs and editors 21 | /.idea 22 | .project 23 | .classpath 24 | .c9/ 25 | *.launch 26 | .settings/ 27 | *.sublime-workspace 28 | 29 | # IDE - VSCode 30 | .vscode/* 31 | !.vscode/settings.json 32 | !.vscode/tasks.json 33 | !.vscode/launch.json 34 | !.vscode/extensions.json 35 | 36 | # tsbuild 37 | tsconfig.*tsbuildinfo 38 | 39 | # Node Package Manager 40 | .npm 41 | .npmrc 42 | package-lock.json 43 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/utils/add-plugin.ts: -------------------------------------------------------------------------------- 1 | import type { PluginConfiguration } from 'nx/src/config/nx-json' 2 | 3 | export function addPlugin (content: T, plugin: PluginConfiguration): void { 4 | const findPlugin = (pluginName: string) => (plugin: PluginConfiguration) => { 5 | return typeof plugin === 'string' ? plugin === pluginName : plugin.plugin === pluginName 6 | } 7 | const pluginName = typeof plugin === 'string' ? plugin : plugin.plugin 8 | 9 | if (!content.plugins?.find(findPlugin(pluginName))) { 10 | content.plugins = [...content.plugins ?? [], plugin] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/nx-tools/src/utils/linter-versions.constants.ts: -------------------------------------------------------------------------------- 1 | import type { LinterVersions } from './linter-versions.interface' 2 | 3 | /** 4 | * Version constants that is shared through multiple places. 5 | */ 6 | export const LINTER_VERSIONS: LinterVersions = { 7 | eslint: { 8 | dependencies: {}, 9 | devDependencies: { 10 | eslint: '^8', 11 | ['@nrwl/eslint-plugin-nx']: '^14', 12 | ['@webundsoehne/eslint-config']: '^5', 13 | ['@typescript-eslint/eslint-plugin']: '^5', 14 | ['@typescript-eslint/parser']: '^5', 15 | ['eslint-plugin-import']: '^2', 16 | ['eslint-module-utils']: '^2' 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak/.gitignore: -------------------------------------------------------------------------------- 1 | # CLI FILES 2 | # Compiled Output 3 | /node_modules 4 | /dist 5 | /tmp 6 | 7 | # Logs 8 | logs 9 | *.log 10 | *-debug.log* 11 | *-error.log* 12 | /.nyc_output 13 | 14 | # OS 15 | .DS_Store 16 | 17 | # tests 18 | coverage/ 19 | 20 | # IDEs and editors 21 | /.idea 22 | .project 23 | .classpath 24 | .c9/ 25 | *.launch 26 | .settings/ 27 | *.sublime-workspace 28 | 29 | # IDE - VSCode 30 | .vscode/* 31 | !.vscode/settings.json 32 | !.vscode/tasks.json 33 | !.vscode/launch.json 34 | !.vscode/extensions.json 35 | 36 | # tsbuild 37 | tsconfig.*tsbuildinfo 38 | 39 | # Node Package Manager 40 | .npm 41 | .npmrc 42 | package-lock.json 43 | -------------------------------------------------------------------------------- /packages/nestjs-seeder/.gitignore: -------------------------------------------------------------------------------- 1 | # CLI FILES 2 | # Compiled Output 3 | /node_modules 4 | /dist 5 | /tmp 6 | 7 | # Logs 8 | logs 9 | *.log 10 | *-debug.log* 11 | *-error.log* 12 | /.nyc_output 13 | 14 | # OS 15 | .DS_Store 16 | 17 | # tests 18 | coverage/ 19 | 20 | # IDEs and editors 21 | /.idea 22 | .project 23 | .classpath 24 | .c9/ 25 | *.launch 26 | .settings/ 27 | *.sublime-workspace 28 | 29 | # IDE - VSCode 30 | .vscode/* 31 | !.vscode/settings.json 32 | !.vscode/tasks.json 33 | !.vscode/launch.json 34 | !.vscode/extensions.json 35 | 36 | # tsbuild 37 | tsconfig.*tsbuildinfo 38 | 39 | # Node Package Manager 40 | .npm 41 | .npmrc 42 | package-lock.json 43 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/database-orm/files/typeorm/src/database/database-options.ts.ejs: -------------------------------------------------------------------------------- 1 | import { join } from 'node:path' 2 | import type { DataSourceOptions } from 'typeorm' 3 | 4 | import { ConfigService } from '@webundsoehne/nestjs-util' 5 | 6 | const options = ConfigService.get('database') 7 | const entitiesDir = join(__dirname, '../entity') 8 | export const migrationsDir = join(__dirname, '../migration') 9 | 10 | export function getDatabaseOptions (): DataSourceOptions { 11 | return { 12 | ...options, 13 | entities: [`${entitiesDir}/*{.ts,.js}`], 14 | migrations: [`${migrationsDir}/*{.ts,.js}`] 15 | } satisfies DataSourceOptions 16 | } 17 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/NodeBinaryPathExtensions.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / NodeBinaryPathExtensions 2 | 3 | # Interface: NodeBinaryPathExtensions 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [key](NodeBinaryPathExtensions.md#key) 10 | - [path](NodeBinaryPathExtensions.md#path) 11 | 12 | ## Properties 13 | 14 | ### key 15 | 16 | • **key**: `string` 17 | 18 | #### Defined in 19 | 20 | packages/nx-tools/src/utils/file-system/node-bin.interface.ts:10 21 | 22 | ___ 23 | 24 | ### path 25 | 26 | • **path**: `string` 27 | 28 | #### Defined in 29 | 30 | packages/nx-tools/src/utils/file-system/node-bin.interface.ts:11 31 | -------------------------------------------------------------------------------- /packages/eslint-config/react-typescript.js: -------------------------------------------------------------------------------- 1 | /** @type {import("eslint").Linter.Config} */ 2 | module.exports = { 3 | overrides: [ 4 | { 5 | files: ['*.tsx'], 6 | extends: ['./typescript', './react'], 7 | plugins: ['react', 'react-hooks'], 8 | rules: { 9 | '@typescript-eslint/no-unused-vars': 'off', 10 | '@typescript-eslint/explicit-function-return-type': 'off', 11 | '@typescript-eslint/no-extra-parens': 'off', 12 | '@typescript-eslint/no-floating-promises': 'off', 13 | '@typescript-eslint/return-await': 'off', 14 | '@typescript-eslint/indent': ['error', 2] 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /packages/nx-builders/docs/enums/AvailableBuilders.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-builders](../README.md) / AvailableBuilders 2 | 3 | # Enumeration: AvailableBuilders 4 | 5 | Available Builders 6 | 7 | ## Table of contents 8 | 9 | ### Enumeration Members 10 | 11 | - [TSC](AvailableBuilders.md#tsc) 12 | - [TS\_NODE\_DEV](AvailableBuilders.md#ts_node_dev) 13 | 14 | ## Enumeration Members 15 | 16 | ### TSC 17 | 18 | • **TSC** = ``"tsc"`` 19 | 20 | #### Defined in 21 | 22 | interfaces/available.constants.ts:3 23 | 24 | ___ 25 | 26 | ### TS\_NODE\_DEV 27 | 28 | • **TS\_NODE\_DEV** = ``"ts-node-dev"`` 29 | 30 | #### Defined in 31 | 32 | interfaces/available.constants.ts:4 33 | -------------------------------------------------------------------------------- /packages/nx-tools/docs/interfaces/BaseNormalizedSchemaSrcRoot.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/nx-tools](../README.md) / BaseNormalizedSchemaSrcRoot 2 | 3 | # Interface: BaseNormalizedSchemaSrcRoot 4 | 5 | ## Hierarchy 6 | 7 | - **`BaseNormalizedSchemaSrcRoot`** 8 | 9 | ↳ [`BaseNormalizedSchema`](BaseNormalizedSchema.md) 10 | 11 | ## Table of contents 12 | 13 | ### Properties 14 | 15 | - [sourceRoot](BaseNormalizedSchemaSrcRoot.md#sourceroot) 16 | 17 | ## Properties 18 | 19 | ### sourceRoot 20 | 21 | • **sourceRoot**: `string` 22 | 23 | Root directory of the source files. 24 | 25 | #### Defined in 26 | 27 | packages/nx-tools/src/interfaces/base-schemas.interface.ts:72 28 | -------------------------------------------------------------------------------- /packages/ts-utility-types/.gitignore: -------------------------------------------------------------------------------- 1 | # CLI FILES 2 | # Compiled Output 3 | /node_modules 4 | /dist 5 | /tmp 6 | 7 | # Logs 8 | logs 9 | *.log 10 | *-debug.log* 11 | *-error.log* 12 | /.nyc_output 13 | 14 | # OS 15 | .DS_Store 16 | 17 | # tests 18 | coverage/ 19 | 20 | # IDEs and editors 21 | /.idea 22 | .project 23 | .classpath 24 | .c9/ 25 | *.launch 26 | .settings/ 27 | *.sublime-workspace 28 | 29 | # IDE - VSCode 30 | .vscode/* 31 | !.vscode/settings.json 32 | !.vscode/tasks.json 33 | !.vscode/launch.json 34 | !.vscode/extensions.json 35 | 36 | # tsbuild 37 | tsconfig.*tsbuildinfo 38 | 39 | # Node Package Manager 40 | .npm 41 | .npmrc 42 | package-lock.json 43 | -------------------------------------------------------------------------------- /packages/brownie/templates/base/docker-compose.yml.j2: -------------------------------------------------------------------------------- 1 | services: 2 | {{ name }}: 3 | {% filter indent(4, true) %} 4 | {% include './image.yml.j2' %} 5 | {% endfilter %} 6 | 7 | {% filter indent(4, true) %} 8 | {% include './env.yml.j2' %} 9 | {% endfilter %} 10 | 11 | {% filter indent(4, false) %} 12 | {% if config is defined %} 13 | {{ config | to_nice_yaml }} 14 | {% endif %} 15 | {% endfilter %} 16 | 17 | {% filter indent(4, true) %} 18 | {% include './ports.yml.j2' %} 19 | {% endfilter %} 20 | 21 | {% filter indent(4, true) %} 22 | {% include './volumes.yml.j2' %} 23 | {% endfilter %} 24 | -------------------------------------------------------------------------------- /packages/nestjs-keycloak-seeder/.gitignore: -------------------------------------------------------------------------------- 1 | # CLI FILES 2 | # Compiled Output 3 | /node_modules 4 | /dist 5 | /tmp 6 | 7 | # Logs 8 | logs 9 | *.log 10 | *-debug.log* 11 | *-error.log* 12 | /.nyc_output 13 | 14 | # OS 15 | .DS_Store 16 | 17 | # tests 18 | coverage/ 19 | 20 | # IDEs and editors 21 | /.idea 22 | .project 23 | .classpath 24 | .c9/ 25 | *.launch 26 | .settings/ 27 | *.sublime-workspace 28 | 29 | # IDE - VSCode 30 | .vscode/* 31 | !.vscode/settings.json 32 | !.vscode/tasks.json 33 | !.vscode/launch.json 34 | !.vscode/extensions.json 35 | 36 | # tsbuild 37 | tsconfig.*tsbuildinfo 38 | 39 | # Node Package Manager 40 | .npm 41 | .npmrc 42 | package-lock.json 43 | -------------------------------------------------------------------------------- /packages/nx-nest/src/generators/application/files/base/config/default.yml.ejs: -------------------------------------------------------------------------------- 1 | <% if (isServer) { %>port: 3000<% } %> 2 | logLevel: debug 3 | 4 | misc: 5 | lockfile: maintenance.lock 6 | maintenanceNotification: null 7 | lastUpdateFile: .last-update 8 | changelogFile: CHANGELOG.md 9 | <% if (isServer) { %> 10 | url: 11 | basePath: http://localhost:3000 12 | apiPath: "" 13 | 14 | swagger: 15 | path: /internal/docs 16 | title: NestJS Skeleton 17 | description: API 18 | useHttps: false 19 | 20 | cacheLifetime: 21 | defaultExpiresHeader: false 22 | defaultLifetime: 0 23 | expiresHeader: Expires 24 | cacheControlHeader: Cache-control 25 | <% } -%> 26 | -------------------------------------------------------------------------------- /packages/nx-tools/schematics.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@webundsoehne/nx-tools", 3 | "extends": ["@nrwl/workspace"], 4 | "schematics": { 5 | "exports": { 6 | "factory": "./dist/schematics/exports/main", 7 | "schema": "./dist/schematics/exports/schema.json", 8 | "aliases": ["ex"], 9 | "description": "Export files a default module with regex patterns." 10 | }, 11 | 12 | "package-manager": { 13 | "factory": "./dist/schematics/package-manager/main", 14 | "schema": "./dist/schematics/package-manager/schema.json", 15 | "aliases": ["manager"], 16 | "description": "Run a package manager script." 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/deep-merge/docs/interfaces/DeepMergeOptions.md: -------------------------------------------------------------------------------- 1 | [@webundsoehne/deep-merge](../README.md) / DeepMergeOptions 2 | 3 | # Interface: DeepMergeOptions 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [arrayMerge](DeepMergeOptions.md#arraymerge) 10 | - [clone](DeepMergeOptions.md#clone) 11 | 12 | ## Properties 13 | 14 | ### arrayMerge 15 | 16 | • `Optional` **arrayMerge**: [`ArrayMergeBehavior`](../enums/ArrayMergeBehavior.md) \| [`ArrayMergeFn`](../README.md#arraymergefn) 17 | 18 | #### Defined in 19 | 20 | interface.ts:7 21 | 22 | --- 23 | 24 | ### clone 25 | 26 | • `Optional` **clone**: `boolean` 27 | 28 | #### Defined in 29 | 30 | interface.ts:6 31 | -------------------------------------------------------------------------------- /packages/nestjs-graphql-typeorm-dataloader/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "src", 6 | "baseUrl": "src", 7 | "paths": { 8 | "@constants/*": ["constants/*"], 9 | "@decorators/*": ["decorators/*"], 10 | "@interfaces/*": ["interfaces/*"], 11 | "@loader-handlers/*": ["loader-handlers/*"], 12 | "@loaders/*": ["loaders/*"], 13 | "@plugins/*": ["plugins/*"], 14 | "@interceptors/*": ["interceptors/*"], 15 | "@middleware/*": ["middleware/*"] 16 | } 17 | }, 18 | "include": ["src"], 19 | "exclude": ["node_modules", "dist"] 20 | } 21 | --------------------------------------------------------------------------------