@edirect/mongo 11.0.8 → 11.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,13 @@
1
+ # @edirect/config
2
+
3
+ The EDirectInsure Mongo Module.
4
+
5
+ ## Installation
6
+
7
+ ```shell
8
+ $ npm i --save @edirect/mongo
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ Import MongoModule on AppModule (app.module.ts)
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateConnectionString = exports.generateAwsCredentials = exports.shouldAssumeRole = void 0;
4
+ const credential_providers_1 = require("@aws-sdk/credential-providers");
5
+ const MONGODB_AWS_ROLE_ARN = process.env.MONGODB_AWS_ROLE_ARN;
6
+ const AWS_WEB_IDENTITY_TOKEN_FILE = process.env.AWS_WEB_IDENTITY_TOKEN_FILE;
7
+ exports.shouldAssumeRole = MONGODB_AWS_ROLE_ARN && AWS_WEB_IDENTITY_TOKEN_FILE;
8
+ const generateAwsCredentials = async () => {
9
+ if (exports.shouldAssumeRole) {
10
+ return (0, credential_providers_1.fromNodeProviderChain)({
11
+ roleArn: MONGODB_AWS_ROLE_ARN,
12
+ });
13
+ }
14
+ return (0, credential_providers_1.fromNodeProviderChain)();
15
+ };
16
+ exports.generateAwsCredentials = generateAwsCredentials;
17
+ const generateConnectionString = async (cnn) => {
18
+ if (!cnn) {
19
+ throw new Error('MongoDB connection string is not defined');
20
+ }
21
+ if (exports.shouldAssumeRole) {
22
+ const credentials = await (0, exports.generateAwsCredentials)();
23
+ if (credentials) {
24
+ const url = new URL(cnn);
25
+ url.username = credentials.accessKeyId || '';
26
+ url.password = credentials.secretAccessKey || '';
27
+ if (credentials.sessionToken) {
28
+ url.searchParams.set('authMechanismProperties', `AWS_SESSION_TOKEN:${credentials.sessionToken}`);
29
+ }
30
+ return url.toString();
31
+ }
32
+ throw new Error('Failed to assume role with web identity');
33
+ }
34
+ return cnn;
35
+ };
36
+ exports.generateConnectionString = generateConnectionString;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./mongo.module"), exports);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const mongo_providers_1 = require("./mongo.providers");
7
+ let MongoModule = class MongoModule {
8
+ };
9
+ exports.MongoModule = MongoModule;
10
+ exports.MongoModule = MongoModule = tslib_1.__decorate([
11
+ (0, common_1.Global)(),
12
+ (0, common_1.Module)({
13
+ providers: [...mongo_providers_1.MongoProviders],
14
+ exports: [...mongo_providers_1.MongoProviders],
15
+ })
16
+ ], MongoModule);
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoProviders = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const config_1 = require("@edirect/config");
6
+ const aws_1 = require("./aws");
7
+ const isNotProductionOrLive = (nodeEnv) => nodeEnv !== 'production' && nodeEnv !== 'live';
8
+ const mongoUrl = (configService) => configService.get('MONGO_URL') ?? configService.get('MONGODB_URI');
9
+ exports.MongoProviders = [
10
+ {
11
+ provide: 'MONGO_CONNECTION',
12
+ useFactory: async (configService) => (0, mongoose_1.connect)(await (0, aws_1.generateConnectionString)(mongoUrl(configService)), {
13
+ ...(isNotProductionOrLive(configService.get('NODE_ENV')) && {
14
+ minPoolSize: 0,
15
+ maxPoolSize: 10,
16
+ ...((mongoUrl(configService) ?? '').includes('MONGODB-AWS') && {
17
+ authMechanismProperties: {
18
+ AWS_CREDENTIAL_PROVIDER: aws_1.generateAwsCredentials,
19
+ },
20
+ }),
21
+ }),
22
+ }),
23
+ inject: [config_1.ConfigService],
24
+ },
25
+ ];
@@ -0,0 +1,13 @@
1
+ # @edirect/config
2
+
3
+ The EDirectInsure Mongo Module.
4
+
5
+ ## Installation
6
+
7
+ ```shell
8
+ $ npm i --save @edirect/mongo
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ Import MongoModule on AppModule (app.module.ts)
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../src/aws.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,gBAAgB,oBACwB,CAAC;AAEtD,eAAO,MAAM,sBAAsB,QAAa,OAAO,CACrD,cAAc,GAAG,SAAS,CAQ3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,KAAK,MAAM,GAAG,SAAS,KACtB,OAAO,CAAC,MAAM,CAqBhB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo.module.d.ts","sourceRoot":"","sources":["../../../src/mongo.module.ts"],"names":[],"mappings":"AAIA,qBAKa,WAAW;CAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo.providers.d.ts","sourceRoot":"","sources":["../../../src/mongo.providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C,eAAO,MAAM,cAAc,EAAE,QAAQ,EAiBpC,CAAC"}
package/package.json CHANGED
@@ -1,23 +1,24 @@
1
1
  {
2
2
  "name": "@edirect/mongo",
3
- "version": "11.0.8",
3
+ "version": "11.0.10",
4
4
  "packageScope": "@edirect",
5
- "type": "module",
6
- "main": "./dist/src/index.js",
7
- "module": "./dist/src/index.js",
8
- "types": "./dist/src/index.d.ts",
5
+ "main": "./dist/cjs/src/index.js",
6
+ "module": "./dist/esm/src/index.js",
7
+ "types": "./dist/types/src/index.d.ts",
9
8
  "exports": {
10
9
  "./package.json": "./package.json",
11
10
  ".": {
12
11
  "development": "./src/index.ts",
13
- "types": "./dist/src/index.d.ts",
14
- "import": "./dist/src/index.js",
15
- "default": "./dist/src/index.js"
12
+ "default": "./dist/src/index.js",
13
+ "types": "./dist/types/src/index.d.ts",
14
+ "import": "./dist/esm/src/index.js",
15
+ "require": "./dist/cjs/src/index.js"
16
16
  }
17
17
  },
18
18
  "files": [
19
- "dist",
20
- "!**/*.tsbuildinfo"
19
+ "dist/esm",
20
+ "dist/cjs",
21
+ "dist/types"
21
22
  ],
22
23
  "dependencies": {
23
24
  "@aws-sdk/credential-providers": "^3.863.0",
@@ -25,22 +26,60 @@
25
26
  "mongoose": "^8.17.1",
26
27
  "@nestjs/common": "^11.1.6",
27
28
  "tslib": "^2.3.0",
28
- "@edirect/config": "11.0.8"
29
+ "@edirect/config": "11.0.10"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@nx/rollup": "21.3.11"
32
33
  },
33
34
  "nx": {
35
+ "name": "@edirect/mongo",
34
36
  "targets": {
35
- "build": {
37
+ "build:esm": {
38
+ "executor": "@nx/js:tsc",
39
+ "options": {
40
+ "main": "{workspaceRoot}/packages/edirect-mongo/src/index.ts",
41
+ "tsConfig": "{workspaceRoot}/packages/edirect-mongo/tsconfig.esm.json",
42
+ "outputPath": "{workspaceRoot}/packages/edirect-mongo/dist/esm",
43
+ "assets": [
44
+ "{workspaceRoot}/packages/edirect-mongo/package.json",
45
+ "{workspaceRoot}/packages/edirect-mongo/README.md"
46
+ ]
47
+ }
48
+ },
49
+ "build:cjs": {
36
50
  "executor": "@nx/js:tsc",
37
- "outputs": [
38
- "{workspaceRoot}/packages/edirect-mongo/dist"
39
- ],
40
51
  "options": {
41
52
  "main": "{workspaceRoot}/packages/edirect-mongo/src/index.ts",
42
- "tsConfig": "{workspaceRoot}/packages/edirect-mongo/tsconfig.lib.json",
43
- "outputPath": "{workspaceRoot}/packages/edirect-mongo/dist"
53
+ "tsConfig": "{workspaceRoot}/packages/edirect-mongo/tsconfig.cjs.json",
54
+ "outputPath": "{workspaceRoot}/packages/edirect-mongo/dist/cjs",
55
+ "assets": [
56
+ "{workspaceRoot}/packages/edirect-mongo/package.json",
57
+ "{workspaceRoot}/packages/edirect-mongo/README.md"
58
+ ]
59
+ }
60
+ },
61
+ "gen-pkg-json": {
62
+ "executor": "nx:run-commands",
63
+ "options": {
64
+ "cwd": "{workspaceRoot}/packages/edirect-mongo",
65
+ "commands": [
66
+ "node -e \"const fs=require('fs');fs.mkdirSync('dist/esm',{recursive:true});fs.mkdirSync('dist/cjs',{recursive:true});fs.writeFileSync('dist/esm/package.json',JSON.stringify({type:'module'},null,2));fs.writeFileSync('dist/cjs/package.json',JSON.stringify({type:'commonjs'},null,2));\""
67
+ ]
68
+ },
69
+ "outputs": [
70
+ "{workspaceRoot}/packages/edirect-mongo/dist/esm/package.json",
71
+ "{workspaceRoot}/packages/edirect-mongo/dist/cjs/package.json"
72
+ ]
73
+ },
74
+ "build": {
75
+ "executor": "nx:run-commands",
76
+ "options": {
77
+ "commands": [
78
+ "nx build:esm @edirect/mongo",
79
+ "nx build:cjs @edirect/mongo",
80
+ "nx gen-pkg-json @edirect/mongo"
81
+ ],
82
+ "parallel": false
44
83
  }
45
84
  }
46
85
  }
package/dist/package.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "name": "@edirect/mongo",
3
- "version": "11.0.7",
4
- "packageScope": "@edirect",
5
- "type": "module",
6
- "main": "./dist/src/index.js",
7
- "module": "./dist/src/index.js",
8
- "types": "./dist/src/index.d.ts",
9
- "exports": {
10
- "./package.json": "./package.json",
11
- ".": {
12
- "development": "./src/index.ts",
13
- "types": "./dist/src/index.d.ts",
14
- "import": "./dist/src/index.js",
15
- "default": "./dist/src/index.js"
16
- }
17
- },
18
- "files": [
19
- "dist",
20
- "!**/*.tsbuildinfo"
21
- ],
22
- "dependencies": {
23
- "@aws-sdk/credential-providers": "^3.863.0",
24
- "mongodb": "^6.18.0",
25
- "mongoose": "^8.17.1",
26
- "@edirect/config": "workspace:*",
27
- "@nestjs/common": "^11.1.6",
28
- "tslib": "^2.3.0"
29
- },
30
- "devDependencies": {
31
- "@nx/rollup": "21.3.11"
32
- },
33
- "nx": {
34
- "targets": {
35
- "build": {
36
- "executor": "@nx/js:tsc",
37
- "outputs": [
38
- "{workspaceRoot}/packages/edirect-mongo/dist"
39
- ],
40
- "options": {
41
- "main": "{workspaceRoot}/packages/edirect-mongo/src/index.ts",
42
- "tsConfig": "{workspaceRoot}/packages/edirect-mongo/tsconfig.lib.json",
43
- "outputPath": "{workspaceRoot}/packages/edirect-mongo/dist"
44
- }
45
- }
46
- }
47
- }
48
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../src/aws.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,gBAAgB,oBACwB,CAAC;AAEtD,eAAO,MAAM,sBAAsB,QAAa,OAAO,CACrD,cAAc,GAAG,SAAS,CAQ3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,KAAK,MAAM,GAAG,SAAS,KACtB,OAAO,CAAC,MAAM,CAqBhB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo.module.d.ts","sourceRoot":"","sources":["../../src/mongo.module.ts"],"names":[],"mappings":"AAIA,qBAKa,WAAW;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo.providers.d.ts","sourceRoot":"","sources":["../../src/mongo.providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C,eAAO,MAAM,cAAc,EAAE,QAAQ,EAiBpC,CAAC"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes