@storyous/mongodb 1.10.1 → 1.10.2-beta.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/lib/getMongoConfig.js
CHANGED
|
@@ -65,7 +65,6 @@ exports.default = (envPrefix = 'DOCUMENTDB', mongoOptions = {}, documentDbOption
|
|
|
65
65
|
mongoOptions: {
|
|
66
66
|
tlsCAFile: path.resolve(__dirname, 'global-bundle.pem'),
|
|
67
67
|
tls: true,
|
|
68
|
-
sslValidate: true,
|
|
69
68
|
auth: {
|
|
70
69
|
username,
|
|
71
70
|
password,
|
|
@@ -84,4 +83,4 @@ exports.default = (envPrefix = 'DOCUMENTDB', mongoOptions = {}, documentDbOption
|
|
|
84
83
|
}
|
|
85
84
|
throw new Error(`Invalid ${envPrefix}_ENGINE value "${engine}", values "mongodb" or "documentdb" allowed.`);
|
|
86
85
|
};
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TW9uZ29Db25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRNb25nb0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBTzdCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBYyxFQUFFLFFBQWdCLEVBQUUsZUFBNEIsSUFBSSxFQUFVLEVBQUU7SUFDMUYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDL0MsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sSUFBSSxRQUFRLFlBQVksQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixrQkFBZSxDQUNYLFlBQW9CLFlBQVksRUFDaEMsWUFBWSxHQUFHLEVBQUUsRUFDakIsaUJBQWlCLEdBQUcsRUFBRSxFQUNoQixFQUFFO0lBQ1IsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNOLE9BQU87WUFDSCxVQUFVLEVBQUUsR0FBRztZQUNmLFlBQVk7U0FDZixDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9DLE1BQU0sWUFBWSxHQUFHLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRCxNQUFNLFNBQVMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFbEQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkIsT0FBTztZQUNILFVBQVUsRUFBRSxHQUFHLFFBQVEsTUFBTSxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsWUFBWSxHQUFHLFNBQVMsRUFBRTtZQUNyRyxZQUFZO1NBQ2YsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLE1BQU0sS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0gsVUFBVSxFQUFFLEdBQUcsUUFBUSxNQUFNLFFBQVEsR0FBRyxRQUFRLEdBQUcsWUFBWSxHQUFHLFNBQVMsRUFBRTtZQUM3RSxZQUFZLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDO2dCQUN2RCxHQUFHLEVBQUUsSUFBSTtnQkFDVCxJQUFJLEVBQUU7b0JBQ0YsUUFBUTtvQkFDUixRQUFRO2lCQUNYO2dCQUNELFVBQVUsRUFBRSxLQUFLO2dCQUNqQixXQUFXLEVBQUUsS0FBSztnQkFDbEIsZ0JBQWdCLEVBQUUsSUFBSTtnQkFDdEIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsd0JBQXdCLEVBQUUsSUFBSTtnQkFDOUIsR0FBRyxpQkFBaUI7YUFDdkI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxTQUFTLGtCQUFrQixNQUFNLDhDQUE4QyxDQUFDLENBQUM7QUFDaEgsQ0FBQyxDQUFDIn0=
|
package/lib/getMongoConfig.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type RunMigrationsOptions = {
|
|
|
4
4
|
continueOnError?: boolean;
|
|
5
5
|
safeMigration?: boolean;
|
|
6
6
|
fileType?: 'js' | 'ts';
|
|
7
|
-
|
|
7
|
+
lockerOptions?: LockerOptions;
|
|
8
8
|
skipLock?: boolean;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
@@ -13,4 +13,4 @@ export type RunMigrationsOptions = {
|
|
|
13
13
|
* @param {string} directory Path to directory where migrations are
|
|
14
14
|
* @param {RunMigrationsOptions} runMigrationsOptions
|
|
15
15
|
*/
|
|
16
|
-
export default function runMigrations(logger: Logger, directory: string, { continueOnError, safeMigration, fileType,
|
|
16
|
+
export default function runMigrations(logger: Logger, directory: string, { continueOnError, safeMigration, fileType, lockerOptions, skipLock, }: RunMigrationsOptions): Promise<void>;
|
|
@@ -14,7 +14,7 @@ const MIGRATIONS_LOCK_KEY = 'migrations:run';
|
|
|
14
14
|
* @param {string} directory Path to directory where migrations are
|
|
15
15
|
* @param {RunMigrationsOptions} runMigrationsOptions
|
|
16
16
|
*/
|
|
17
|
-
async function runMigrations(logger, directory, { continueOnError = false, safeMigration = true, fileType = 'js',
|
|
17
|
+
async function runMigrations(logger, directory, { continueOnError = false, safeMigration = true, fileType = 'js', lockerOptions = {
|
|
18
18
|
expireIn: 600000, // 10 minutes
|
|
19
19
|
// noLaterThan and StartAttemptsDelay remain default by mongoLocker
|
|
20
20
|
}, skipLock = false, }) {
|
|
@@ -64,7 +64,7 @@ async function runMigrations(logger, directory, { continueOnError = false, safeM
|
|
|
64
64
|
}
|
|
65
65
|
try {
|
|
66
66
|
logger.info('Attempting to acquire migration lock');
|
|
67
|
-
return await (0, mongoLocker_1.default)(MIGRATIONS_LOCK_KEY, executeMigrations,
|
|
67
|
+
return await (0, mongoLocker_1.default)(MIGRATIONS_LOCK_KEY, executeMigrations, lockerOptions);
|
|
68
68
|
}
|
|
69
69
|
catch (error) {
|
|
70
70
|
if (errors_1.AppError.isConcurrentRequestError(error)) {
|
|
@@ -76,4 +76,4 @@ async function runMigrations(logger, directory, { continueOnError = false, safeM
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
exports.default = runMigrations;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuTWlncmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bk1pZ3JhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMscUNBQTZDO0FBRzdDLGlFQUF5QztBQUN6Qyx3RUFBZ0Q7QUFFaEQsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQVU3Qzs7Ozs7R0FLRztBQUNZLEtBQUssVUFBVSxhQUFhLENBQ3ZDLE1BQWMsRUFDZCxTQUFpQixFQUNqQixFQUNJLGVBQWUsR0FBRyxLQUFLLEVBQ3ZCLGFBQWEsR0FBRyxJQUFJLEVBQ3BCLFFBQVEsR0FBRyxJQUFJLEVBQ2YsYUFBYSxHQUFHO0lBQ1osUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhO0lBQy9CLG1FQUFtRTtDQUN0RSxFQUNELFFBQVEsR0FBRyxLQUFLLEdBQ0c7SUFFdkIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNsRSxJQUFBLGNBQUksRUFDQTtZQUNJLFVBQVUsRUFBRSxJQUFJLHlCQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUM7WUFDakUsbUJBQW1CLEVBQUUsU0FBUztZQUM5QixjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM5QixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO2dCQUNELElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzRCxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQztTQUNMLEVBQ0QsQ0FBQyxHQUFpQixFQUFFLEdBQWlCLEVBQUUsRUFBRTtZQUNyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDWixPQUFPO1lBQ1gsQ0FBQztZQUVELEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7Z0JBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1lBRUgsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFjLEVBQUUsU0FBaUIsRUFBRSxFQUFFO2dCQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsU0FBUyxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDOUUsQ0FBQyxDQUFDLENBQUM7WUFFSCxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1IsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2QsT0FBTztvQkFDWCxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQy9DLENBQUM7Z0JBRUQsT0FBTyxFQUFFLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQzNELE9BQU8saUJBQWlCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sTUFBTSxJQUFBLHFCQUFXLEVBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxpQkFBUSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0wsQ0FBQztBQTVFRCxnQ0E0RUMifQ==
|
|
@@ -11,7 +11,7 @@ export type RunMigrationsOptions = {
|
|
|
11
11
|
continueOnError?: boolean; // If app crashes on error or continue
|
|
12
12
|
safeMigration?: boolean; // Do not allow to rewrite all migrations with empty array
|
|
13
13
|
fileType?: 'js' | 'ts'; // Specifies the file extension type to check in the migration folder
|
|
14
|
-
|
|
14
|
+
lockerOptions?: LockerOptions; // Lock options for distributed locking to prevent concurrent migration execution.
|
|
15
15
|
skipLock?: boolean; // Skip distributed locking (not recommended in production with multiple instances).
|
|
16
16
|
};
|
|
17
17
|
|
|
@@ -28,7 +28,7 @@ export default async function runMigrations (
|
|
|
28
28
|
continueOnError = false,
|
|
29
29
|
safeMigration = true,
|
|
30
30
|
fileType = 'js',
|
|
31
|
-
|
|
31
|
+
lockerOptions = {
|
|
32
32
|
expireIn: 600000, // 10 minutes
|
|
33
33
|
// noLaterThan and StartAttemptsDelay remain default by mongoLocker
|
|
34
34
|
},
|
|
@@ -88,7 +88,7 @@ export default async function runMigrations (
|
|
|
88
88
|
|
|
89
89
|
try {
|
|
90
90
|
logger.info('Attempting to acquire migration lock');
|
|
91
|
-
return await mongoLocker(MIGRATIONS_LOCK_KEY, executeMigrations,
|
|
91
|
+
return await mongoLocker(MIGRATIONS_LOCK_KEY, executeMigrations, lockerOptions);
|
|
92
92
|
} catch (error: any) {
|
|
93
93
|
if (AppError.isConcurrentRequestError(error)) {
|
|
94
94
|
logger.info('Another instance is running migrations');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storyous/mongodb",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.2-beta.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://github.com/Storyous/mono-utils#readme",
|
|
6
6
|
"license": "ISC",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"mongodb": "^6.8.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "b4cb70ac6865956fa3a15765284c910f54252f74"
|
|
50
50
|
}
|