@ebarahona/loopback-connector-mongodb 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +526 -0
- package/dist/connector/coercion.d.ts +30 -0
- package/dist/connector/coercion.js +75 -0
- package/dist/connector/coercion.js.map +1 -0
- package/dist/connector/errors.d.ts +13 -0
- package/dist/connector/errors.js +20 -0
- package/dist/connector/errors.js.map +1 -0
- package/dist/connector/index.d.ts +6 -0
- package/dist/connector/index.js +24 -0
- package/dist/connector/index.js.map +1 -0
- package/dist/connector/mongo.connector.d.ts +171 -0
- package/dist/connector/mongo.connector.js +567 -0
- package/dist/connector/mongo.connector.js.map +1 -0
- package/dist/connector/property-mapping.d.ts +64 -0
- package/dist/connector/property-mapping.js +105 -0
- package/dist/connector/property-mapping.js.map +1 -0
- package/dist/connector/query-builder.d.ts +42 -0
- package/dist/connector/query-builder.js +204 -0
- package/dist/connector/query-builder.js.map +1 -0
- package/dist/datasource/index.d.ts +3 -0
- package/dist/datasource/index.js +10 -0
- package/dist/datasource/index.js.map +1 -0
- package/dist/datasource/mongo.datasource.d.ts +17 -0
- package/dist/datasource/mongo.datasource.factory.d.ts +30 -0
- package/dist/datasource/mongo.datasource.factory.js +44 -0
- package/dist/datasource/mongo.datasource.factory.js.map +1 -0
- package/dist/datasource/mongo.datasource.js +40 -0
- package/dist/datasource/mongo.datasource.js.map +1 -0
- package/dist/datasource/mongo.datasource.provider.d.ts +17 -0
- package/dist/datasource/mongo.datasource.provider.js +42 -0
- package/dist/datasource/mongo.datasource.provider.js.map +1 -0
- package/dist/helpers/config-validator.d.ts +34 -0
- package/dist/helpers/config-validator.js +79 -0
- package/dist/helpers/config-validator.js.map +1 -0
- package/dist/helpers/connection-manager.d.ts +78 -0
- package/dist/helpers/connection-manager.js +212 -0
- package/dist/helpers/connection-manager.js.map +1 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.js +15 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/topology.d.ts +23 -0
- package/dist/helpers/topology.js +27 -0
- package/dist/helpers/topology.js.map +1 -0
- package/dist/helpers/url-builder.d.ts +7 -0
- package/dist/helpers/url-builder.js +30 -0
- package/dist/helpers/url-builder.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/keys.d.ts +38 -0
- package/dist/keys.js +38 -0
- package/dist/keys.js.map +1 -0
- package/dist/mongo.component.d.ts +59 -0
- package/dist/mongo.component.js +138 -0
- package/dist/mongo.component.js.map +1 -0
- package/dist/providers/index.d.ts +0 -0
- package/dist/providers/index.js +4 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +7 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/mongo.service.d.ts +61 -0
- package/dist/services/mongo.service.impl.d.ts +58 -0
- package/dist/services/mongo.service.impl.js +211 -0
- package/dist/services/mongo.service.impl.js.map +1 -0
- package/dist/services/mongo.service.js +3 -0
- package/dist/services/mongo.service.js.map +1 -0
- package/dist/types.d.ts +85 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +109 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { MongoClientOptions } from 'mongodb';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the MongoDB connector and service.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface MongoConnectorConfig {
|
|
8
|
+
/**
|
|
9
|
+
* MongoDB connection string.
|
|
10
|
+
* Supports mongodb:// and mongodb+srv:// schemes.
|
|
11
|
+
*/
|
|
12
|
+
url?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Default database name. Used when no database is specified
|
|
15
|
+
* in the connection string.
|
|
16
|
+
*/
|
|
17
|
+
database?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Host for connection (used when url is not provided).
|
|
20
|
+
*/
|
|
21
|
+
host?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Port for connection (used when url is not provided).
|
|
24
|
+
* @defaultValue 27017
|
|
25
|
+
*/
|
|
26
|
+
port?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Username for authentication.
|
|
29
|
+
*/
|
|
30
|
+
username?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Password for authentication.
|
|
33
|
+
*/
|
|
34
|
+
password?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Authentication source database.
|
|
37
|
+
*/
|
|
38
|
+
authSource?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Replica set name.
|
|
41
|
+
*/
|
|
42
|
+
replicaSet?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Native MongoClient options passed directly to the driver.
|
|
45
|
+
*/
|
|
46
|
+
clientOptions?: MongoClientOptions;
|
|
47
|
+
/**
|
|
48
|
+
* Enable lazy connection. If true, connection is deferred
|
|
49
|
+
* until the first operation. Only applies when using the
|
|
50
|
+
* connector via juggler DataSource, not via MongoComponent.
|
|
51
|
+
* @defaultValue false
|
|
52
|
+
*/
|
|
53
|
+
lazyConnect?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Enable debug logging.
|
|
56
|
+
* @defaultValue false
|
|
57
|
+
*/
|
|
58
|
+
debug?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Enable extended operators ($inc, $set, $push, etc.)
|
|
61
|
+
* in update operations.
|
|
62
|
+
* @defaultValue true
|
|
63
|
+
*/
|
|
64
|
+
allowExtendedOperators?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Enable GeoPoint indexing support.
|
|
67
|
+
* @defaultValue false
|
|
68
|
+
*/
|
|
69
|
+
enableGeoIndexing?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Coerce ObjectId strings strictly. When true, only properties
|
|
72
|
+
* explicitly marked with mongodb.dataType: 'ObjectId' are coerced.
|
|
73
|
+
* When false, any 24-char hex string is auto-coerced.
|
|
74
|
+
* @defaultValue false
|
|
75
|
+
*/
|
|
76
|
+
strictObjectIDCoercion?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Connector name override.
|
|
79
|
+
*/
|
|
80
|
+
connector?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Name for this connector instance.
|
|
83
|
+
*/
|
|
84
|
+
name?: string;
|
|
85
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ebarahona/loopback-connector-mongodb",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Full-featured MongoDB connector for LoopBack 4 on driver 7.x. Aggregation, Change Streams, Time Series, GridFS, transactions, tailable cursors, bulk ops, and an injectable MongoService.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=20.19.0"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.build.json",
|
|
18
|
+
"clean": "rimraf dist",
|
|
19
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
20
|
+
"lint": "eslint \"src/**/*.ts\"",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"test:unit": "vitest run src/__tests__/unit",
|
|
23
|
+
"test:integration": "vitest run src/__tests__/integration",
|
|
24
|
+
"test:dev": "vitest",
|
|
25
|
+
"commitlint": "commitlint --edit",
|
|
26
|
+
"prepare": "sh scripts/install-hooks.sh",
|
|
27
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
28
|
+
"leak-detection": "node --expose-gc scripts/leak-detection.mjs",
|
|
29
|
+
"bench": "node bench/index.mjs",
|
|
30
|
+
"docs": "typedoc"
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"loopback",
|
|
34
|
+
"loopback4",
|
|
35
|
+
"mongodb",
|
|
36
|
+
"native-driver",
|
|
37
|
+
"aggregation",
|
|
38
|
+
"change-streams",
|
|
39
|
+
"time-series",
|
|
40
|
+
"gridfs",
|
|
41
|
+
"transactions",
|
|
42
|
+
"loopback4 extension",
|
|
43
|
+
"extension"
|
|
44
|
+
],
|
|
45
|
+
"author": "Ed Barahona (https://github.com/ebarahona)",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "git+https://github.com/ebarahona/loopback-connector-mongodb.git"
|
|
50
|
+
},
|
|
51
|
+
"bugs": {
|
|
52
|
+
"url": "https://github.com/ebarahona/loopback-connector-mongodb/issues"
|
|
53
|
+
},
|
|
54
|
+
"homepage": "https://github.com/ebarahona/loopback-connector-mongodb#readme",
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"@loopback/core": ">=7.0.0 <8.0.0",
|
|
57
|
+
"@loopback/repository": ">=8.0.0 <9.0.0"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"debug": "^4.3.4",
|
|
61
|
+
"mongodb": "^7.2.0"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@commitlint/cli": "^21.0.1",
|
|
65
|
+
"@commitlint/config-conventional": "^21.0.1",
|
|
66
|
+
"@loopback/core": "^7.0.12",
|
|
67
|
+
"@loopback/repository": "^8.0.12",
|
|
68
|
+
"@size-limit/preset-small-lib": "^11.0.0",
|
|
69
|
+
"@types/debug": "^4.1.12",
|
|
70
|
+
"@types/node": "^25.7.0",
|
|
71
|
+
"@typescript-eslint/eslint-plugin": "^8.59.3",
|
|
72
|
+
"@typescript-eslint/parser": "^8.59.3",
|
|
73
|
+
"eslint": "^10.3.0",
|
|
74
|
+
"eslint-config-prettier": "^10.1.8",
|
|
75
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
76
|
+
"eslint-plugin-tsdoc": "^0.5.2",
|
|
77
|
+
"lefthook": "^2.1.6",
|
|
78
|
+
"mongodb-memory-server": "^11.1.0",
|
|
79
|
+
"prettier": "^3.2.0",
|
|
80
|
+
"rimraf": "^6.0.1",
|
|
81
|
+
"size-limit": "^11.0.0",
|
|
82
|
+
"tinybench": "^3.1.1",
|
|
83
|
+
"typedoc": "^0.28.19",
|
|
84
|
+
"typescript": "^6.0.3",
|
|
85
|
+
"vitest": "^4.1.6",
|
|
86
|
+
"yaml": "^2.9.0"
|
|
87
|
+
},
|
|
88
|
+
"files": [
|
|
89
|
+
"dist",
|
|
90
|
+
"README.md",
|
|
91
|
+
"LICENSE"
|
|
92
|
+
],
|
|
93
|
+
"publishConfig": {
|
|
94
|
+
"access": "public"
|
|
95
|
+
},
|
|
96
|
+
"size-limit": [
|
|
97
|
+
{
|
|
98
|
+
"name": "dist (CommonJS)",
|
|
99
|
+
"path": "dist/index.js",
|
|
100
|
+
"limit": "100 KB",
|
|
101
|
+
"ignore": [
|
|
102
|
+
"@loopback/core",
|
|
103
|
+
"@loopback/repository",
|
|
104
|
+
"mongodb",
|
|
105
|
+
"debug"
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|