# @galaxyops/nestjs-modules

> NestJsModules contains select reusable injectable NestJs modules for use in other packages, mainly pertaining to AWS workflows.

Latest version **2.2.0** (published 2024-10-01) · 0 weekly downloads

## Install

```sh
npm install @galaxyops/nestjs-modules
pnpm add @galaxyops/nestjs-modules
yarn add @galaxyops/nestjs-modules
bun add @galaxyops/nestjs-modules
```

## Health

**Score 40/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 2.2.0 |
| Published | 2024-10-01 |
| First published | 2024-07-22 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 26 |
| Unpacked size | 164.1 KB |
| Known vulnerabilities | 0 (+8 in 5 direct dependencies) |
| Install scripts | no |
| GitHub stars | 12 |
| Maintainers | hxtree |
| Keywords | nestjs, aws, s3, mongodb, mongoose, sns, sqs |

## Links

- npm: https://www.npmjs.com/package/@galaxyops/nestjs-modules
- Repository: https://github.com/hxtree/galaxyops
- Homepage: https://github.com/hxtree/galaxyops#readme
- Issues: https://github.com/hxtree/galaxyops/issues
- npm.io page: https://npm.io/package/@galaxyops/nestjs-modules

## Dependencies (26)

- [bson](https://npm.io/package/bson.md) ~6.2.0
- [rxjs](https://npm.io/package/rxjs.md) 7.8.1
- [uuid](https://npm.io/package/uuid.md) ~9.0.1
- [luxon](https://npm.io/package/luxon.md) ~3.3.0
- [dotenv](https://npm.io/package/dotenv.md) ~16.0.3
- [rimraf](https://npm.io/package/rimraf.md) ~4.1.2
- [mongoose](https://npm.io/package/mongoose.md) 6.11.3
- [@types/uuid](https://npm.io/package/@types/uuid.md) ~9.0.7
- [@nestjs/core](https://npm.io/package/@nestjs/core.md) 9.2.1
- [@aws-sdk/types](https://npm.io/package/@aws-sdk/types.md) 3.433.0
- [@nestjs/common](https://npm.io/package/@nestjs/common.md) 9.4.0
- [@nestjs/config](https://npm.io/package/@nestjs/config.md) 2.2.0
- [class-validator](https://npm.io/package/class-validator.md) 0.13.2
- [@nestjs/mongoose](https://npm.io/package/@nestjs/mongoose.md) 9.2.1
- [@nestjs/passport](https://npm.io/package/@nestjs/passport.md) 9.0.0
- [@types/validator](https://npm.io/package/@types/validator.md) ~13.7.10
- [reflect-metadata](https://npm.io/package/reflect-metadata.md) 0.1.13
- [class-transformer](https://npm.io/package/class-transformer.md) 0.5.1
- [connection-string](https://npm.io/package/connection-string.md) ~4.3.6
- [@aws-sdk/client-s3](https://npm.io/package/@aws-sdk/client-s3.md) 3.433.0
- [@aws-sdk/client-sns](https://npm.io/package/@aws-sdk/client-sns.md) 3.433.0
- [@galaxyops/base-nodejs](https://npm.io/package/@galaxyops/base-nodejs.md) 0.2.0
- [@nestjs/platform-express](https://npm.io/package/@nestjs/platform-express.md) 9.3.9
- [@galaxyops/messaging-schemas](https://npm.io/package/@galaxyops/messaging-schemas.md) 2.2.0
- [mongodb-memory-server-global](https://npm.io/package/mongodb-memory-server-global.md) 8.13.0
- [@galaxyops/validation-schemas](https://npm.io/package/@galaxyops/validation-schemas.md) 2.2.0

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 2.2.0 (latest) — 2024-10-01
- 2.1.0 — 2024-07-22

## README

# @galaxyops/nestjs-modules

NestJsModules contains select reusable injectable NestJs modules for use in
other packages, mainly pertaining to AWS workflows.

## Modules

The modules are specific to workloads running on Amazon Web Services (AWS) and
are as follows:

- **SnsService**: A service for publishing AWS SNS messages.
- **S3Service**: A service for interacting with objects in AWS S3.
- **MessageService**: A service that uses a schema abstraction layer on top of
  SnsService to make publishing, subscribing, and testing events that adhere to
  a schema even easier.
- **MongooseModule** In terms of object modeling, Mongoose is preferred over
  TypeORM due to TypeORM's limited support for MongoDB, which is more suited for
  relational database management systems (RDMS), making it somewhat cumbersome
  for MongoDB usage. Additionally, employing an ORM like TypeORM may introduce
  unnecessary complexity, aligning with the lambdalith architectural style.
- **rootMongooseModule**: Makes interacting and testing with persistent data in
  MongoDB using Mongoose easier. Do not use this inside tests.
- **rootMongooseTestModule**: Makes testing Mongoose easier using a
  MongoMemoryServer. Invoke `closeInMongodConnection` to close connection after
  each test or after all test within a file depending on need to clear test
  data.

## TODO

- Add a feature to make it easy to subscribe to events.

## Documentation

- [Jest Using with MongoDB](https://jestjs.io/docs/mongodb)
- [Mongodb-memory-server](https://github.com/nodkz/mongodb-memory-server)
- [NestJS Mongoose Example](https://github.com/nestjs/nest/tree/master/sample/14-mongoose-base)
- [NestJS Configuration](https://docs.nestjs.com/techniques/configuration#getting-started)

---
_Source: https://npm.io/package/@galaxyops/nestjs-modules · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
