mongodash 1.0.2 → 1.3.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/CHANGELOG.md +38 -0
- package/dist/lib/OnError.js +17 -1
- package/dist/lib/OnError.js.map +1 -1
- package/dist/lib/OnInfo.js +26 -0
- package/dist/lib/OnInfo.js.map +1 -0
- package/dist/lib/createContinuousLock.js +3 -3
- package/dist/lib/createContinuousLock.js.map +1 -1
- package/dist/lib/cronTasks.js +35 -7
- package/dist/lib/cronTasks.js.map +1 -1
- package/dist/lib/getCollection.js +1 -1
- package/dist/lib/getMongoClient.js +1 -1
- package/dist/lib/index.js +20 -19
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/initPromise.js +17 -0
- package/dist/lib/initPromise.js.map +1 -0
- package/dist/lib/withLock.js +19 -5
- package/dist/lib/withLock.js.map +1 -1
- package/dist/lib/withTransaction.js +1 -1
- package/dist/types/OnError.d.ts +2 -0
- package/dist/types/OnInfo.d.ts +6 -0
- package/dist/types/createContinuousLock.d.ts +3 -4
- package/dist/types/cronTasks.d.ts +7 -1
- package/dist/types/getMongoClient.d.ts +1 -1
- package/dist/types/index.d.ts +9 -3
- package/dist/types/initPromise.d.ts +4 -0
- package/dist/types/withLock.d.ts +7 -2
- package/package.json +9 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
# [1.3.0](https://github.com/VaclavObornik/mongodash/compare/v1.2.0...v1.3.0) (2021-12-15)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* added duration to CRON info ([5d5ff8e](https://github.com/VaclavObornik/mongodash/commit/5d5ff8e4a625002eaf3d6ba55b63051999d12381))
|
|
7
|
+
|
|
8
|
+
# [1.2.0](https://github.com/VaclavObornik/mongodash/compare/v1.1.1...v1.2.0) (2021-12-15)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* added onInfo option for convenient logging ([5f8c45a](https://github.com/VaclavObornik/mongodash/commit/5f8c45afcfbabb824310573d99231d42480a4ff5))
|
|
14
|
+
* typescript update ([37b466d](https://github.com/VaclavObornik/mongodash/commit/37b466db1f90d88d9f6f5aa40a616a26fb51a2ee))
|
|
15
|
+
|
|
16
|
+
## [1.1.1](https://github.com/VaclavObornik/mongodash/compare/v1.1.0...v1.1.1) (2021-12-14)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* bump cron-parser from 3.5.0 to 4.2.0 ([0bb7e37](https://github.com/VaclavObornik/mongodash/commit/0bb7e37042d61c39e2d1287b9c4d6543b3f3827b))
|
|
22
|
+
|
|
23
|
+
# [1.1.0](https://github.com/VaclavObornik/mongodash/compare/v1.0.2...v1.1.0) (2021-12-13)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
* cron task registration can be called before monogdash.init ([181747d](https://github.com/VaclavObornik/mongodash/commit/181747ddd7a1dbba7671561bc3e49ae0eddb3ee0))
|
|
29
|
+
* isLockAlreadyAcquiredError function introduced ([2741bff](https://github.com/VaclavObornik/mongodash/commit/2741bffbfcc7858175fbff8ea62ffb0f42af4a86))
|
|
30
|
+
* WithLockOptions exported ([7a6443a](https://github.com/VaclavObornik/mongodash/commit/7a6443a568bffa60fff852bf1c072938bdf20481))
|
|
31
|
+
|
|
32
|
+
## [1.0.2](https://github.com/VaclavObornik/mongodash/compare/v1.0.1...v1.0.2) (2021-12-06)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* type update update ([c56f973](https://github.com/VaclavObornik/mongodash/commit/c56f97325131b011aa7d0e7f1b95bf5ce3dbf527))
|
|
38
|
+
|
|
1
39
|
## [1.0.1](https://github.com/VaclavObornik/mongodash/compare/v1.0.0...v1.0.1) (2021-08-27)
|
|
2
40
|
|
|
3
41
|
|
package/dist/lib/OnError.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* mongodash v1.0
|
|
2
|
+
* mongodash v1.3.0
|
|
3
3
|
* https://github.com/VaclavObornik/mongodash.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021 Václav Oborník
|
|
@@ -7,4 +7,20 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use strict";
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.secureOnError = exports.defaultOnError = void 0;
|
|
11
|
+
const defaultOnError = (error) => {
|
|
12
|
+
console.error(error);
|
|
13
|
+
};
|
|
14
|
+
exports.defaultOnError = defaultOnError;
|
|
15
|
+
function secureOnError(onError) {
|
|
16
|
+
return (error) => {
|
|
17
|
+
try {
|
|
18
|
+
onError(error);
|
|
19
|
+
}
|
|
20
|
+
catch (onErrorFailure) {
|
|
21
|
+
// intentionally suppress
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.secureOnError = secureOnError;
|
|
10
26
|
//# sourceMappingURL=OnError.js.map
|
package/dist/lib/OnError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnError.js","sourceRoot":"","sources":["../../src/OnError.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"OnError.js","sourceRoot":"","sources":["../../src/OnError.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAY,CAAC,KAAK,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO,CAAC,KAAK,EAAE,EAAE;QACb,IAAI;YACA,OAAO,CAAC,KAAK,CAAC,CAAC;SAClB;QAAC,OAAO,cAAc,EAAE;YACrB,yBAAyB;SAC5B;IACL,CAAC,CAAC;AACN,CAAC;AARD,sCAQC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* mongodash v1.3.0
|
|
3
|
+
* https://github.com/VaclavObornik/mongodash.git
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2021 Václav Oborník
|
|
6
|
+
* Released under the MIT license
|
|
7
|
+
*/
|
|
8
|
+
"use strict";
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.secureOnInfo = exports.defaultOnInfo = void 0;
|
|
11
|
+
const defaultOnInfo = (info) => {
|
|
12
|
+
console.log(info.message);
|
|
13
|
+
};
|
|
14
|
+
exports.defaultOnInfo = defaultOnInfo;
|
|
15
|
+
function secureOnInfo(onInfo) {
|
|
16
|
+
return (info) => {
|
|
17
|
+
try {
|
|
18
|
+
onInfo(info);
|
|
19
|
+
}
|
|
20
|
+
catch (onErrorFailure) {
|
|
21
|
+
// intentionally suppress
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.secureOnInfo = secureOnInfo;
|
|
26
|
+
//# sourceMappingURL=OnInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnInfo.js","sourceRoot":"","sources":["../../src/OnInfo.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAW,CAAC,IAAI,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,SAAgB,YAAY,CAAC,MAAc;IACvC,OAAO,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI;YACA,MAAM,CAAC,IAAI,CAAC,CAAC;SAChB;QAAC,OAAO,cAAc,EAAE;YACrB,yBAAyB;SAC5B;IACL,CAAC,CAAC;AACN,CAAC;AARD,oCAQC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* mongodash v1.0
|
|
2
|
+
* mongodash v1.3.0
|
|
3
3
|
* https://github.com/VaclavObornik/mongodash.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021 Václav Oborník
|
|
@@ -11,14 +11,14 @@ exports.createContinuousLock = void 0;
|
|
|
11
11
|
function createContinuousLock(collection, documentId, lockProperty, lockTime, onError) {
|
|
12
12
|
let taskInProgress = true;
|
|
13
13
|
let prolongLockTimeoutId = null;
|
|
14
|
-
let lastProlongPromise = Promise.resolve(); // all errors
|
|
14
|
+
let lastProlongPromise = Promise.resolve(); // all errors have to be suppressed
|
|
15
15
|
function scheduleLockProlong() {
|
|
16
16
|
prolongLockTimeoutId = setTimeout(() => {
|
|
17
17
|
prolongLockTimeoutId = null;
|
|
18
18
|
lastProlongPromise = (async () => {
|
|
19
19
|
try {
|
|
20
20
|
// debug('performing lock prolong');
|
|
21
|
-
await collection.updateOne({ _id: documentId }, { $set: {
|
|
21
|
+
await collection.updateOne({ _id: documentId }, { $set: { [lockProperty]: new Date(Date.now() + lockTime) } });
|
|
22
22
|
}
|
|
23
23
|
catch (err) {
|
|
24
24
|
// debug('Error during task prolong', err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContinuousLock.js","sourceRoot":"","sources":["../../src/createContinuousLock.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"createContinuousLock.js","sourceRoot":"","sources":["../../src/createContinuousLock.ts"],"names":[],"mappings":";;;AAKA,SAAgB,oBAAoB,CAChC,UAAoC,EACpC,UAAkB,EAClB,YAAoB,EACpB,QAAgB,EAChB,OAAgB;IAEhB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,oBAAoB,GAAyC,IAAI,CAAC;IACtE,IAAI,kBAAkB,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,mCAAmC;IAEjG,SAAS,mBAAmB;QACxB,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI;oBACA,oCAAoC;oBACpC,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAS,CAAC,CAAC;iBAChI;gBAAC,OAAO,GAAG,EAAE;oBACV,2CAA2C;oBAC3C,OAAO,CAAC,GAAY,CAAC,CAAC;iBACzB;wBAAS;oBACN,IAAI,cAAc,EAAE;wBAChB,yCAAyC;wBACzC,mBAAmB,EAAE,CAAC;qBACzB;iBACJ;YACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,mBAAmB,EAAE,CAAC;IAEtB,0BAA0B;IAC1B,OAAO,KAAK,IAAI,EAAE;QACd,cAAc,GAAG,KAAK,CAAC,CAAC,0BAA0B;QAClD,IAAI,oBAAoB,EAAE;YACtB,YAAY,CAAC,oBAAoB,CAAC,CAAC;SACtC;QACD,MAAM,kBAAkB,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC;AAzCD,oDAyCC"}
|
package/dist/lib/cronTasks.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* mongodash v1.0
|
|
2
|
+
* mongodash v1.3.0
|
|
3
3
|
* https://github.com/VaclavObornik/mongodash.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021 Václav Oborník
|
|
@@ -7,12 +7,17 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use strict";
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.cronTask = exports.scheduleCronTaskImmediately = exports.startCronTasks = exports.stopCronTasks = exports.init = exports.runCronTask = void 0;
|
|
10
|
+
exports.cronTask = exports.scheduleCronTaskImmediately = exports.startCronTasks = exports.stopCronTasks = exports.init = exports.runCronTask = exports.CODE_CRON_TASK_FAILED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_STARTED = void 0;
|
|
11
11
|
// import * as _debug from 'debug';
|
|
12
12
|
const cron_parser_1 = require("cron-parser");
|
|
13
13
|
const parse_duration_1 = require("parse-duration");
|
|
14
14
|
const createContinuousLock_1 = require("./createContinuousLock");
|
|
15
15
|
const getCollection_1 = require("./getCollection");
|
|
16
|
+
const initPromise_1 = require("./initPromise");
|
|
17
|
+
exports.CODE_CRON_TASK_STARTED = 'cronTaskStarted';
|
|
18
|
+
exports.CODE_CRON_TASK_FINISHED = 'cronTaskFinished';
|
|
19
|
+
exports.CODE_CRON_TASK_SCHEDULED = 'cronTaskScheduled';
|
|
20
|
+
exports.CODE_CRON_TASK_FAILED = 'cronTaskFailed';
|
|
16
21
|
class TaskDocument {
|
|
17
22
|
constructor(_id, runSince) {
|
|
18
23
|
this._id = _id;
|
|
@@ -40,6 +45,7 @@ const state = {
|
|
|
40
45
|
cronExpressionParserOptions: {},
|
|
41
46
|
};
|
|
42
47
|
let _onError;
|
|
48
|
+
let _onInfo;
|
|
43
49
|
function dateInMillis(milliseconds) {
|
|
44
50
|
return new Date(Date.now() + milliseconds);
|
|
45
51
|
}
|
|
@@ -71,8 +77,8 @@ function createIntervalFunctionFromScalar(interval) {
|
|
|
71
77
|
}
|
|
72
78
|
return () => dateInMillis(duration);
|
|
73
79
|
}
|
|
74
|
-
async function getNextRunDate(
|
|
75
|
-
const maybeDate = await
|
|
80
|
+
async function getNextRunDate(intervalFunction) {
|
|
81
|
+
const maybeDate = await intervalFunction();
|
|
76
82
|
if (maybeDate instanceof Date) {
|
|
77
83
|
return maybeDate;
|
|
78
84
|
}
|
|
@@ -167,19 +173,28 @@ async function findATaskToRun(enforcedTask) {
|
|
|
167
173
|
async function processTask(task, enforcedTask) {
|
|
168
174
|
// debug(`processing task ${task.taskId}`);
|
|
169
175
|
let taskError = null;
|
|
176
|
+
let nextRunDate;
|
|
177
|
+
let nextRunScheduled = false;
|
|
170
178
|
// todo solve the "any"
|
|
171
179
|
const stopContinuousLock = (0, createContinuousLock_1.createContinuousLock)(state.collection, task.taskId, 'lockedTill', lockTime, _onError);
|
|
180
|
+
const start = new Date();
|
|
172
181
|
try {
|
|
173
182
|
await (function mongoDashRunTaskNotCyclic() {
|
|
183
|
+
_onInfo({ message: `Cron task '${task.taskId}' started.`, taskId: task.taskId, code: exports.CODE_CRON_TASK_STARTED });
|
|
174
184
|
return task.task();
|
|
175
185
|
})();
|
|
186
|
+
const duration = Date.now() - start.getTime();
|
|
187
|
+
_onInfo({ message: `Cron task '${task.taskId}' finished in ${duration}ms.`, taskId: task.taskId, code: exports.CODE_CRON_TASK_FINISHED, duration });
|
|
176
188
|
}
|
|
177
189
|
catch (err) {
|
|
190
|
+
const duration = Date.now() - start.getTime();
|
|
191
|
+
const reason = err instanceof Error ? err.message : `${err}`;
|
|
192
|
+
_onInfo({ message: `Cron task '${task.taskId}' failed in ${duration}ms.`, taskId: task.taskId, code: exports.CODE_CRON_TASK_FAILED, reason, duration });
|
|
178
193
|
taskError = err;
|
|
179
194
|
}
|
|
180
195
|
try {
|
|
181
196
|
await stopContinuousLock(); // to avoid possibility of lock after the following document update
|
|
182
|
-
|
|
197
|
+
nextRunDate = await getNextRunDate(task.intervalFunction);
|
|
183
198
|
// debug(`scheduling task ${task.taskId} to run in ${nextRunDate.getTime() - Date.now()}ms`);
|
|
184
199
|
await state.collection.updateOne({ _id: task.taskId }, {
|
|
185
200
|
$set: {
|
|
@@ -189,6 +204,7 @@ async function processTask(task, enforcedTask) {
|
|
|
189
204
|
'runLog.0.finishedAt': new Date(),
|
|
190
205
|
},
|
|
191
206
|
});
|
|
207
|
+
nextRunScheduled = true;
|
|
192
208
|
}
|
|
193
209
|
finally {
|
|
194
210
|
if (enforcedTask) {
|
|
@@ -202,6 +218,15 @@ async function processTask(task, enforcedTask) {
|
|
|
202
218
|
else if (taskError) {
|
|
203
219
|
_onError(taskError);
|
|
204
220
|
}
|
|
221
|
+
// we want to inform about the scheduling after the
|
|
222
|
+
if (nextRunScheduled) {
|
|
223
|
+
_onInfo({
|
|
224
|
+
message: `Cron task '${task.taskId}' scheduled to ${nextRunDate.toISOString()}.`,
|
|
225
|
+
taskId: task.taskId,
|
|
226
|
+
code: exports.CODE_CRON_TASK_SCHEDULED,
|
|
227
|
+
nextRunDate: new Date(nextRunDate.toISOString()),
|
|
228
|
+
});
|
|
229
|
+
}
|
|
205
230
|
}
|
|
206
231
|
}
|
|
207
232
|
/** can never throw */
|
|
@@ -226,6 +251,7 @@ function runATask() {
|
|
|
226
251
|
// debug('runATask called');
|
|
227
252
|
state.working = true;
|
|
228
253
|
(async () => {
|
|
254
|
+
await initPromise_1.initPromise;
|
|
229
255
|
const enforcedTask = state.enforcedTasks.shift() || null; // there can be no enforced task
|
|
230
256
|
let task = null;
|
|
231
257
|
const countOfTasks = state.tasks.size;
|
|
@@ -275,12 +301,13 @@ function runATask() {
|
|
|
275
301
|
}
|
|
276
302
|
})();
|
|
277
303
|
}
|
|
278
|
-
function init({ runCronTasks, cronExpressionParserOptions, onError }) {
|
|
304
|
+
function init({ runCronTasks, cronExpressionParserOptions, onError, onInfo }) {
|
|
279
305
|
if (cronExpressionParserOptions.endDate) {
|
|
280
306
|
throw new Error("The 'endDate' parameter of the cron-parser package is not supported yet.");
|
|
281
307
|
}
|
|
282
308
|
state.shouldRun = runCronTasks;
|
|
283
309
|
_onError = onError;
|
|
310
|
+
_onInfo = onInfo;
|
|
284
311
|
state.cronExpressionParserOptions = cronExpressionParserOptions;
|
|
285
312
|
}
|
|
286
313
|
exports.init = init;
|
|
@@ -322,6 +349,7 @@ async function scheduleCronTaskImmediately(taskId) {
|
|
|
322
349
|
}
|
|
323
350
|
exports.scheduleCronTaskImmediately = scheduleCronTaskImmediately;
|
|
324
351
|
async function cronTask(taskId, interval, task) {
|
|
352
|
+
await initPromise_1.initPromise;
|
|
325
353
|
if (state.tasks.has(taskId)) {
|
|
326
354
|
throw new Error(`The taskId '${taskId}' is already used.`);
|
|
327
355
|
}
|
|
@@ -332,7 +360,7 @@ async function cronTask(taskId, interval, task) {
|
|
|
332
360
|
state.tasks.set(taskId, {
|
|
333
361
|
taskId,
|
|
334
362
|
task,
|
|
335
|
-
|
|
363
|
+
intervalFunction,
|
|
336
364
|
});
|
|
337
365
|
// debug(`task ${taskId} has been registered`);
|
|
338
366
|
await ensureIndex();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronTasks.js","sourceRoot":"","sources":["../../src/cronTasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cronTasks.js","sourceRoot":"","sources":["../../src/cronTasks.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* mongodash v1.0
|
|
2
|
+
* mongodash v1.3.0
|
|
3
3
|
* https://github.com/VaclavObornik/mongodash.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021 Václav Oborník
|
|
@@ -7,52 +7,53 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use strict";
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.init = exports.withTransaction = exports.withLock = exports.getMongoClient = exports.getCollection = exports.stopCronTasks = exports.startCronTasks = exports.scheduleCronTaskImmediately = exports.runCronTask = exports.cronTask = void 0;
|
|
10
|
+
exports.init = exports.withTransaction = exports.LockAlreadyAcquiredError = exports.isLockAlreadyAcquiredError = exports.withLock = exports.getMongoClient = exports.getCollection = exports.CODE_CRON_TASK_FAILED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_STARTED = exports.stopCronTasks = exports.startCronTasks = exports.scheduleCronTaskImmediately = exports.runCronTask = exports.cronTask = void 0;
|
|
11
11
|
const cronTasks_1 = require("./cronTasks");
|
|
12
12
|
const getCollection_1 = require("./getCollection");
|
|
13
13
|
const getMongoClient_1 = require("./getMongoClient");
|
|
14
|
+
const OnError_1 = require("./OnError");
|
|
15
|
+
const OnInfo_1 = require("./OnInfo");
|
|
14
16
|
const withLock_1 = require("./withLock");
|
|
17
|
+
const initPromise_1 = require("./initPromise");
|
|
15
18
|
var cronTasks_2 = require("./cronTasks");
|
|
16
19
|
Object.defineProperty(exports, "cronTask", { enumerable: true, get: function () { return cronTasks_2.cronTask; } });
|
|
17
20
|
Object.defineProperty(exports, "runCronTask", { enumerable: true, get: function () { return cronTasks_2.runCronTask; } });
|
|
18
21
|
Object.defineProperty(exports, "scheduleCronTaskImmediately", { enumerable: true, get: function () { return cronTasks_2.scheduleCronTaskImmediately; } });
|
|
19
22
|
Object.defineProperty(exports, "startCronTasks", { enumerable: true, get: function () { return cronTasks_2.startCronTasks; } });
|
|
20
23
|
Object.defineProperty(exports, "stopCronTasks", { enumerable: true, get: function () { return cronTasks_2.stopCronTasks; } });
|
|
24
|
+
Object.defineProperty(exports, "CODE_CRON_TASK_STARTED", { enumerable: true, get: function () { return cronTasks_2.CODE_CRON_TASK_STARTED; } });
|
|
25
|
+
Object.defineProperty(exports, "CODE_CRON_TASK_FINISHED", { enumerable: true, get: function () { return cronTasks_2.CODE_CRON_TASK_FINISHED; } });
|
|
26
|
+
Object.defineProperty(exports, "CODE_CRON_TASK_SCHEDULED", { enumerable: true, get: function () { return cronTasks_2.CODE_CRON_TASK_SCHEDULED; } });
|
|
27
|
+
Object.defineProperty(exports, "CODE_CRON_TASK_FAILED", { enumerable: true, get: function () { return cronTasks_2.CODE_CRON_TASK_FAILED; } });
|
|
21
28
|
var getCollection_2 = require("./getCollection");
|
|
22
29
|
Object.defineProperty(exports, "getCollection", { enumerable: true, get: function () { return getCollection_2.getCollection; } });
|
|
23
30
|
var getMongoClient_2 = require("./getMongoClient");
|
|
24
31
|
Object.defineProperty(exports, "getMongoClient", { enumerable: true, get: function () { return getMongoClient_2.getMongoClient; } });
|
|
25
32
|
var withLock_2 = require("./withLock");
|
|
26
33
|
Object.defineProperty(exports, "withLock", { enumerable: true, get: function () { return withLock_2.withLock; } });
|
|
34
|
+
Object.defineProperty(exports, "isLockAlreadyAcquiredError", { enumerable: true, get: function () { return withLock_2.isLockAlreadyAcquiredError; } });
|
|
35
|
+
Object.defineProperty(exports, "LockAlreadyAcquiredError", { enumerable: true, get: function () { return withLock_2.LockAlreadyAcquiredError; } });
|
|
27
36
|
var withTransaction_1 = require("./withTransaction");
|
|
28
37
|
Object.defineProperty(exports, "withTransaction", { enumerable: true, get: function () { return withTransaction_1.withTransaction; } });
|
|
29
38
|
let initCalled = false;
|
|
30
|
-
const defaultOnError = (error) => {
|
|
31
|
-
console.error(error);
|
|
32
|
-
};
|
|
33
39
|
async function init(options) {
|
|
34
|
-
var _a, _b, _c, _d
|
|
40
|
+
var _a, _b, _c, _d;
|
|
35
41
|
if (initCalled) {
|
|
36
42
|
throw new Error('init method can be called only once.');
|
|
37
43
|
}
|
|
38
44
|
initCalled = true;
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
_onError(error);
|
|
43
|
-
}
|
|
44
|
-
catch (onErrorFailure) {
|
|
45
|
-
// intentionally suppress
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
(0, getCollection_1.init)({ collectionFactory: (_b = options.collectionFactory) !== null && _b !== void 0 ? _b : null });
|
|
45
|
+
const onError = options.onError ? (0, OnError_1.secureOnError)(options.onError) : OnError_1.defaultOnError;
|
|
46
|
+
const onInfo = options.onInfo ? (0, OnInfo_1.secureOnInfo)(options.onInfo) : OnInfo_1.defaultOnInfo;
|
|
47
|
+
(0, getCollection_1.init)({ collectionFactory: (_a = options.collectionFactory) !== null && _a !== void 0 ? _a : null });
|
|
49
48
|
(0, withLock_1.init)({ onError });
|
|
50
49
|
(0, cronTasks_1.init)({
|
|
51
|
-
runCronTasks: (
|
|
52
|
-
cronExpressionParserOptions: (
|
|
50
|
+
runCronTasks: (_b = options.runCronTasks) !== null && _b !== void 0 ? _b : true,
|
|
51
|
+
cronExpressionParserOptions: (_c = options.cronExpressionParserOptions) !== null && _c !== void 0 ? _c : {},
|
|
53
52
|
onError,
|
|
53
|
+
onInfo,
|
|
54
54
|
});
|
|
55
|
-
await (0, getMongoClient_1.init)(Object.assign(Object.assign({}, options), { autoConnect: (
|
|
55
|
+
await (0, getMongoClient_1.init)(Object.assign(Object.assign({}, options), { autoConnect: (_d = options.autoConnect) !== null && _d !== void 0 ? _d : true }));
|
|
56
|
+
initPromise_1.resolver.resolve();
|
|
56
57
|
}
|
|
57
58
|
exports.init = init;
|
|
58
59
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyF;AACzF,mDAAqG;AACrG,qDAAqG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyF;AACzF,mDAAqG;AACrG,qDAAqG;AACrG,uCAAmE;AACnE,qCAA+D;AAC/D,yCAAkD;AAClD,+CAAyC;AACzC,yCAaqB;AAZjB,qGAAA,QAAQ,OAAA;AAER,wGAAA,WAAW,OAAA;AACX,wHAAA,2BAA2B,OAAA;AAC3B,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AAGb,mHAAA,sBAAsB,OAAA;AACtB,oHAAA,uBAAuB,OAAA;AACvB,qHAAA,wBAAwB,OAAA;AACxB,kHAAA,qBAAqB,OAAA;AAEzB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,uCAA6G;AAApG,oGAAA,QAAQ,OAAA;AAAE,sHAAA,0BAA0B,OAAA;AAAmB,oHAAA,wBAAwB,OAAA;AACxF,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,IAAI,UAAU,GAAG,KAAK,CAAC;AAShB,KAAK,UAAU,IAAI,CAAC,OAAoB;;IAC3C,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KAC3D;IACD,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,uBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAc,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC;IAE7E,IAAA,oBAAiB,EAAC,EAAE,iBAAiB,EAAE,MAAA,OAAO,CAAC,iBAAiB,mCAAI,IAAI,EAAE,CAAC,CAAC;IAE5E,IAAA,eAAY,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1B,IAAA,gBAAa,EAAC;QACV,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI;QAC1C,2BAA2B,EAAE,MAAA,OAAO,CAAC,2BAA2B,mCAAI,EAAE;QACtE,OAAO;QACP,MAAM;KACT,CAAC,CAAC;IAEH,MAAM,IAAA,qBAAe,kCACd,OAAO,KACV,WAAW,EAAE,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAI,IAC1C,CAAC;IAEH,sBAAQ,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC;AA1BD,oBA0BC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* mongodash v1.3.0
|
|
3
|
+
* https://github.com/VaclavObornik/mongodash.git
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2021 Václav Oborník
|
|
6
|
+
* Released under the MIT license
|
|
7
|
+
*/
|
|
8
|
+
"use strict";
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.initPromise = exports.resolver = void 0;
|
|
11
|
+
exports.resolver = {
|
|
12
|
+
resolve: null,
|
|
13
|
+
};
|
|
14
|
+
exports.initPromise = new Promise((resolve) => {
|
|
15
|
+
exports.resolver.resolve = resolve;
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=initPromise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initPromise.js","sourceRoot":"","sources":["../../src/initPromise.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACpB,OAAO,EAAE,IAA6B;CACzC,CAAC;AAEW,QAAA,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IACrD,gBAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
package/dist/lib/withLock.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* mongodash v1.0
|
|
2
|
+
* mongodash v1.3.0
|
|
3
3
|
* https://github.com/VaclavObornik/mongodash.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021 Václav Oborník
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
'use strict';
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.withLock = exports.init = void 0;
|
|
10
|
+
exports.withLock = exports.isLockAlreadyAcquiredError = exports.LockAlreadyAcquiredError = exports.init = void 0;
|
|
11
11
|
// import * as _debug from 'debug';
|
|
12
12
|
const mongodb_1 = require("mongodb");
|
|
13
13
|
const createContinuousLock_1 = require("./createContinuousLock");
|
|
@@ -32,6 +32,21 @@ async function getLockerCollection() {
|
|
|
32
32
|
}
|
|
33
33
|
return collectionPromise;
|
|
34
34
|
}
|
|
35
|
+
class LockAlreadyAcquiredError extends Error {
|
|
36
|
+
constructor(key) {
|
|
37
|
+
super(lockAcquiredMessage);
|
|
38
|
+
this.key = key;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.LockAlreadyAcquiredError = LockAlreadyAcquiredError;
|
|
42
|
+
function isLockAlreadyAcquiredError(err, key) {
|
|
43
|
+
const rightError = err instanceof LockAlreadyAcquiredError;
|
|
44
|
+
if (!rightError) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
return key ? err.key === key : true;
|
|
48
|
+
}
|
|
49
|
+
exports.isLockAlreadyAcquiredError = isLockAlreadyAcquiredError;
|
|
35
50
|
async function withLock(key, callback, { maxWaitForLock = 3 * 1000, startingDelay = 50, expireIn = 15 * 1000 } = {}) {
|
|
36
51
|
const lockId = new mongodb_1.ObjectId();
|
|
37
52
|
const stringKey = `${key}`;
|
|
@@ -50,7 +65,7 @@ async function withLock(key, callback, { maxWaitForLock = 3 * 1000, startingDela
|
|
|
50
65
|
}
|
|
51
66
|
catch (err) {
|
|
52
67
|
if ([11000, 11001].includes(err.code)) {
|
|
53
|
-
throw new
|
|
68
|
+
throw new LockAlreadyAcquiredError(key);
|
|
54
69
|
}
|
|
55
70
|
await releaseLock(); // the lock could be possible acquired
|
|
56
71
|
throw err;
|
|
@@ -78,7 +93,7 @@ async function withLock(key, callback, { maxWaitForLock = 3 * 1000, startingDela
|
|
|
78
93
|
nextTime = ultimateAttemptStart;
|
|
79
94
|
}
|
|
80
95
|
// debug(`wait time ${waitTime} for ${n}`);
|
|
81
|
-
if (err
|
|
96
|
+
if (isLockAlreadyAcquiredError(err, key) && nextTime <= ultimateAttemptStart) {
|
|
82
97
|
await new Promise((resolve) => setTimeout(resolve, waitTime));
|
|
83
98
|
}
|
|
84
99
|
else {
|
|
@@ -86,7 +101,6 @@ async function withLock(key, callback, { maxWaitForLock = 3 * 1000, startingDela
|
|
|
86
101
|
}
|
|
87
102
|
}
|
|
88
103
|
}
|
|
89
|
-
// todo solve the "any"
|
|
90
104
|
const stopContinuousLock = (0, createContinuousLock_1.createContinuousLock)(collection, stringKey, expirationKey, expireIn, onError);
|
|
91
105
|
const cleanUp = () => Promise.all([stopContinuousLock(), releaseLock()]);
|
|
92
106
|
let value;
|
package/dist/lib/withLock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withLock.js","sourceRoot":"","sources":["../../src/withLock.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,mCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"withLock.js","sourceRoot":"","sources":["../../src/withLock.ts"],"names":[],"mappings":"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"}
|
package/dist/types/OnError.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Collection } from 'mongodb';
|
|
2
2
|
import { OnError } from './OnError';
|
|
3
3
|
declare type StopContinuousLock = () => Promise<void>;
|
|
4
|
-
declare
|
|
5
|
-
_id:
|
|
6
|
-
};
|
|
7
|
-
export declare function createContinuousLock(collection: Collection<ObjectWithId>, documentId: string, lockProperty: string, lockTime: number, onError: OnError): StopContinuousLock;
|
|
4
|
+
export declare function createContinuousLock<DocumentType extends {
|
|
5
|
+
_id: string;
|
|
6
|
+
}>(collection: Collection<DocumentType>, documentId: string, lockProperty: string, lockTime: number, onError: OnError): StopContinuousLock;
|
|
8
7
|
export {};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { ParserOptions as CronExpressionParserOptions } from 'cron-parser';
|
|
2
2
|
import { OnError } from './OnError';
|
|
3
|
+
import { OnInfo } from './OnInfo';
|
|
4
|
+
export declare const CODE_CRON_TASK_STARTED = "cronTaskStarted";
|
|
5
|
+
export declare const CODE_CRON_TASK_FINISHED = "cronTaskFinished";
|
|
6
|
+
export declare const CODE_CRON_TASK_SCHEDULED = "cronTaskScheduled";
|
|
7
|
+
export declare const CODE_CRON_TASK_FAILED = "cronTaskFailed";
|
|
3
8
|
export declare type TaskFunction = () => Promise<unknown> | void;
|
|
4
9
|
export declare type ScalarInterval = number | string;
|
|
5
10
|
export declare type StaticInterval = ScalarInterval | Date;
|
|
@@ -11,8 +16,9 @@ export declare type InitOptions = {
|
|
|
11
16
|
runCronTasks: boolean;
|
|
12
17
|
cronExpressionParserOptions: CronExpressionParserOptions;
|
|
13
18
|
onError: OnError;
|
|
19
|
+
onInfo: OnInfo;
|
|
14
20
|
};
|
|
15
|
-
export declare function init({ runCronTasks, cronExpressionParserOptions, onError }: InitOptions): void;
|
|
21
|
+
export declare function init({ runCronTasks, cronExpressionParserOptions, onError, onInfo }: InitOptions): void;
|
|
16
22
|
export declare function stopCronTasks(): void;
|
|
17
23
|
export declare function startCronTasks(): void;
|
|
18
24
|
export declare function scheduleCronTaskImmediately(taskId: TaskId): Promise<void>;
|
|
@@ -8,7 +8,7 @@ declare type ReadyClientOptions = CommonOptions & {
|
|
|
8
8
|
};
|
|
9
9
|
declare type UriOptions = CommonOptions & {
|
|
10
10
|
uri: string;
|
|
11
|
-
clientOptions
|
|
11
|
+
clientOptions?: MongoClientOptions;
|
|
12
12
|
};
|
|
13
13
|
export declare type InitOptions = ReadyClientOptions | UriOptions;
|
|
14
14
|
export declare function init(options: InitOptions): Promise<void>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { InitOptions as CronTasksInitOptions } from './cronTasks';
|
|
2
2
|
import { InitOptions as GetCollectionInitOptions } from './getCollection';
|
|
3
3
|
import { InitOptions as GetMongoClientInitOptions } from './getMongoClient';
|
|
4
|
-
|
|
4
|
+
import { OnError } from './OnError';
|
|
5
|
+
import { OnInfo } from './OnInfo';
|
|
6
|
+
export { cronTask, Interval, runCronTask, scheduleCronTaskImmediately, startCronTasks, stopCronTasks, TaskFunction, TaskId, CODE_CRON_TASK_STARTED, CODE_CRON_TASK_FINISHED, CODE_CRON_TASK_SCHEDULED, CODE_CRON_TASK_FAILED, } from './cronTasks';
|
|
5
7
|
export { getCollection } from './getCollection';
|
|
6
8
|
export { getMongoClient } from './getMongoClient';
|
|
7
9
|
export { OnError } from './OnError';
|
|
8
|
-
export { withLock } from './withLock';
|
|
10
|
+
export { withLock, isLockAlreadyAcquiredError, WithLockOptions, LockAlreadyAcquiredError } from './withLock';
|
|
9
11
|
export { withTransaction } from './withTransaction';
|
|
10
|
-
|
|
12
|
+
declare type PackageOptions = {
|
|
13
|
+
onError?: OnError;
|
|
14
|
+
onInfo?: OnInfo;
|
|
15
|
+
};
|
|
16
|
+
export declare type InitOptions = PackageOptions & GetMongoClientInitOptions & Partial<CronTasksInitOptions> & Partial<GetCollectionInitOptions>;
|
|
11
17
|
export declare function init(options: InitOptions): Promise<void>;
|
package/dist/types/withLock.d.ts
CHANGED
|
@@ -5,9 +5,14 @@ export declare function init(options: {
|
|
|
5
5
|
}): void;
|
|
6
6
|
export declare type LockKey = string | number | ObjectId;
|
|
7
7
|
export declare type LockCallback<T> = () => Promise<T>;
|
|
8
|
-
export declare type
|
|
8
|
+
export declare type WithLockOptions = {
|
|
9
9
|
maxWaitForLock?: number;
|
|
10
10
|
startingDelay?: number;
|
|
11
11
|
expireIn?: number;
|
|
12
12
|
};
|
|
13
|
-
export declare
|
|
13
|
+
export declare class LockAlreadyAcquiredError extends Error {
|
|
14
|
+
readonly key: LockKey;
|
|
15
|
+
constructor(key: LockKey);
|
|
16
|
+
}
|
|
17
|
+
export declare function isLockAlreadyAcquiredError(err: unknown, key?: LockKey): boolean;
|
|
18
|
+
export declare function withLock<T>(key: LockKey, callback: LockCallback<T>, { maxWaitForLock, startingDelay, expireIn }?: WithLockOptions): Promise<T>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mongodash",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "An utility library delivering super-useful and super-simple tools using MongoDB",
|
|
5
5
|
"main": "./dist/lib/index.js",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
"build": "tsc",
|
|
16
16
|
"dev": "tsc --watch",
|
|
17
17
|
"test": "run-p test:lint test:coverage --aggregate-output",
|
|
18
|
+
"test:ts": "run-p test:ts:*",
|
|
19
|
+
"test:ts:src": "tsc --noEmit",
|
|
20
|
+
"test:ts:test": "cd test && tsc --noEmit",
|
|
18
21
|
"test:lint": "eslint ./src/**/*.ts ./test/**/*.ts",
|
|
19
22
|
"test:simple": "jest --runInBand --forceExit",
|
|
20
23
|
"test:coverage": "jest --coverage --runInBand --forceExit",
|
|
@@ -30,7 +33,7 @@
|
|
|
30
33
|
"init": "ts-node tools/init.ts"
|
|
31
34
|
},
|
|
32
35
|
"dependencies": {
|
|
33
|
-
"cron-parser": "^
|
|
36
|
+
"cron-parser": "^4.2.0",
|
|
34
37
|
"debug": "^4.3.2",
|
|
35
38
|
"parse-duration": "^1.0.0"
|
|
36
39
|
},
|
|
@@ -56,23 +59,23 @@
|
|
|
56
59
|
"eslint": "^7.32.0",
|
|
57
60
|
"eslint-config-prettier": "^8.3.0",
|
|
58
61
|
"eslint-plugin-no-only-tests": "^2.6.0",
|
|
59
|
-
"eslint-plugin-prettier": "^
|
|
62
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
60
63
|
"husky": "^7.0.2",
|
|
61
64
|
"jest": "^27.1.0",
|
|
62
65
|
"jest-config": "^27.1.0",
|
|
63
66
|
"jest-transform-stub": "^2.0.0",
|
|
64
67
|
"lint-staged": "^11.1.2",
|
|
65
68
|
"lodash": "^4.17.21",
|
|
66
|
-
"mongodb": "^4.
|
|
69
|
+
"mongodb": "^4.2.2",
|
|
67
70
|
"npm-run-all": "^4.1.5",
|
|
68
|
-
"organize-imports-cli": "^0.
|
|
71
|
+
"organize-imports-cli": "^0.9.0",
|
|
69
72
|
"prettier": "^2.3.2",
|
|
70
73
|
"rimraf": "^3.0.2",
|
|
71
74
|
"semantic-release": "^17.4.7",
|
|
72
75
|
"sinon": "^11.1.2",
|
|
73
76
|
"ts-jest": "^27.0.5",
|
|
74
77
|
"ts-node": "^10.2.1",
|
|
75
|
-
"typescript": "^4.4
|
|
78
|
+
"typescript": "^4.5.4"
|
|
76
79
|
},
|
|
77
80
|
"keywords": [
|
|
78
81
|
"mongodb",
|