@mongosh/types 3.2.0 → 3.5.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/AUTHORS +3 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.spec.ts +27 -0
- package/src/index.ts +30 -0
package/AUTHORS
CHANGED
|
@@ -11,3 +11,6 @@ Basit <1305718+mabaasit@users.noreply.github.com>
|
|
|
11
11
|
Alena Khineika <alena.khineika@mongodb.com>
|
|
12
12
|
Gagik Amaryan <me@gagik.co>
|
|
13
13
|
mongodb-devtools-bot[bot] <189715634+mongodb-devtools-bot[bot]@users.noreply.github.com>
|
|
14
|
+
Ubuntu <ubuntu@ip-10-0-5-160.ec2.internal>
|
|
15
|
+
Nikola Irinchev <irinchev@me.com>
|
|
16
|
+
Ubuntu <ubuntu@ip-10-0-4-95.ec2.internal>
|
package/lib/index.d.ts
CHANGED
|
@@ -145,9 +145,12 @@ export interface EditorReadVscodeExtensionsFailedEvent {
|
|
|
145
145
|
export interface FetchingUpdateMetadataEvent {
|
|
146
146
|
updateURL: string;
|
|
147
147
|
localFilePath: string;
|
|
148
|
+
currentVersion: string;
|
|
148
149
|
}
|
|
149
150
|
export interface FetchingUpdateMetadataCompleteEvent {
|
|
150
151
|
latest: string | null;
|
|
152
|
+
currentVersion: string;
|
|
153
|
+
hasGreetingCTA: boolean;
|
|
151
154
|
}
|
|
152
155
|
export interface SessionStartedEvent {
|
|
153
156
|
isInteractive: boolean;
|
|
@@ -219,6 +222,7 @@ export interface MongoshBusEventsMap extends ConnectEventMap {
|
|
|
219
222
|
'mongosh-editor:read-vscode-extensions-failed': (ev: EditorReadVscodeExtensionsFailedEvent) => void;
|
|
220
223
|
'mongosh:fetching-update-metadata': (ev: FetchingUpdateMetadataEvent) => void;
|
|
221
224
|
'mongosh:fetching-update-metadata-complete': (ev: FetchingUpdateMetadataCompleteEvent) => void;
|
|
225
|
+
'mongosh:log-initialized': () => void;
|
|
222
226
|
}
|
|
223
227
|
export interface MongoshBus {
|
|
224
228
|
on<K extends keyof MongoshBusEventsMap>(event: K, listener: MongoshBusEventsMap[K]): this;
|
|
@@ -230,6 +234,7 @@ export declare class ShellUserConfig {
|
|
|
230
234
|
maxTimeMS: number | null;
|
|
231
235
|
enableTelemetry: boolean;
|
|
232
236
|
editor: string | null;
|
|
237
|
+
logLocation: string | undefined;
|
|
233
238
|
}
|
|
234
239
|
export declare class ShellUserConfigValidator {
|
|
235
240
|
static validate<K extends keyof ShellUserConfig>(key: K, value: ShellUserConfig[K]): Promise<string | null>;
|
|
@@ -256,6 +261,12 @@ export declare class CliUserConfig extends SnippetShellUserConfig {
|
|
|
256
261
|
oidcTrustedEndpoints: undefined | string[];
|
|
257
262
|
browser: undefined | false | string;
|
|
258
263
|
updateURL: string;
|
|
264
|
+
disableLogging: boolean;
|
|
265
|
+
logLocation: string | undefined;
|
|
266
|
+
logRetentionDays: number;
|
|
267
|
+
logMaxFileCount: number;
|
|
268
|
+
logCompressionEnabled: boolean;
|
|
269
|
+
logRetentionGB: number | undefined;
|
|
259
270
|
}
|
|
260
271
|
export declare class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
261
272
|
static validate<K extends keyof CliUserConfig>(key: K, value: CliUserConfig[K]): Promise<string | null>;
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TimingCategories = exports.CliUserConfigValidator = exports.CliUserConfig = exports.SnippetShellUserConfigValidator = exports.SnippetShellUserConfig = exports.ShellUserConfigValidator = exports.ShellUserConfig = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
4
8
|
class ShellUserConfig {
|
|
5
9
|
constructor() {
|
|
6
10
|
this.displayBatchSize = 20;
|
|
@@ -89,6 +93,12 @@ class CliUserConfig extends SnippetShellUserConfig {
|
|
|
89
93
|
this.oidcTrustedEndpoints = undefined;
|
|
90
94
|
this.browser = undefined;
|
|
91
95
|
this.updateURL = 'https://downloads.mongodb.com/compass/mongosh.json';
|
|
96
|
+
this.disableLogging = false;
|
|
97
|
+
this.logLocation = undefined;
|
|
98
|
+
this.logRetentionDays = 30;
|
|
99
|
+
this.logMaxFileCount = 100;
|
|
100
|
+
this.logCompressionEnabled = false;
|
|
101
|
+
this.logRetentionGB = undefined;
|
|
92
102
|
}
|
|
93
103
|
}
|
|
94
104
|
exports.CliUserConfig = CliUserConfig;
|
|
@@ -107,12 +117,21 @@ class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
|
107
117
|
return null;
|
|
108
118
|
case 'inspectDepth':
|
|
109
119
|
case 'historyLength':
|
|
120
|
+
case 'logRetentionDays':
|
|
121
|
+
case 'logMaxFileCount':
|
|
110
122
|
if (typeof value !== 'number' || value < 0) {
|
|
111
123
|
return `${key} must be a positive integer`;
|
|
112
124
|
}
|
|
113
125
|
return null;
|
|
126
|
+
case 'logRetentionGB':
|
|
127
|
+
if (value !== undefined && (typeof value !== 'number' || value < 0)) {
|
|
128
|
+
return `${key} must be a positive number or undefined`;
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
case 'disableLogging':
|
|
114
132
|
case 'forceDisableTelemetry':
|
|
115
133
|
case 'showStackTraces':
|
|
134
|
+
case 'logCompressionEnabled':
|
|
116
135
|
if (typeof value !== 'boolean') {
|
|
117
136
|
return `${key} must be a boolean`;
|
|
118
137
|
}
|
|
@@ -148,6 +167,12 @@ class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
|
148
167
|
return `${key} must be a valid URL or empty`;
|
|
149
168
|
}
|
|
150
169
|
return null;
|
|
170
|
+
case 'logLocation':
|
|
171
|
+
if (value !== undefined &&
|
|
172
|
+
(typeof value !== 'string' || !path_1.default.isAbsolute(value))) {
|
|
173
|
+
return `${key} must be a valid absolute path or undefined`;
|
|
174
|
+
}
|
|
175
|
+
return null;
|
|
151
176
|
default:
|
|
152
177
|
return super.validate(key, value);
|
|
153
178
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongosh/types",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "Types for mongosh internals",
|
|
5
5
|
"author": "Anna Henningsen <anna.henningsen@mongodb.com>",
|
|
6
6
|
"homepage": "https://github.com/mongodb-js/mongosh/tree/main/packages/types#readme",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@mongodb-js/tsconfig-mongosh": "^1.0.0",
|
|
47
47
|
"depcheck": "^1.4.7",
|
|
48
48
|
"eslint": "^7.25.0",
|
|
49
|
-
"mongodb": "^6.
|
|
49
|
+
"mongodb": "^6.13.0",
|
|
50
50
|
"prettier": "^2.8.8"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "4a09f590a638f320b1809a9a483172b21e222417"
|
|
53
53
|
}
|
package/src/index.spec.ts
CHANGED
|
@@ -25,6 +25,33 @@ describe('config validation', function () {
|
|
|
25
25
|
expect(await validate('historyLength', 0)).to.equal(null);
|
|
26
26
|
expect(await validate('historyLength', 1)).to.equal(null);
|
|
27
27
|
expect(await validate('historyLength', Infinity)).to.equal(null);
|
|
28
|
+
expect(await validate('logRetentionDays', 'foo')).to.equal(
|
|
29
|
+
'logRetentionDays must be a positive integer'
|
|
30
|
+
);
|
|
31
|
+
expect(await validate('logRetentionDays', -1)).to.equal(
|
|
32
|
+
'logRetentionDays must be a positive integer'
|
|
33
|
+
);
|
|
34
|
+
expect(await validate('logRetentionGB', 'foo')).to.equal(
|
|
35
|
+
'logRetentionGB must be a positive number or undefined'
|
|
36
|
+
);
|
|
37
|
+
expect(await validate('logRetentionGB', -1)).to.equal(
|
|
38
|
+
'logRetentionGB must be a positive number or undefined'
|
|
39
|
+
);
|
|
40
|
+
expect(await validate('logRetentionGB', undefined)).to.equal(null);
|
|
41
|
+
expect(await validate('logRetentionGB', 100)).to.equal(null);
|
|
42
|
+
expect(await validate('logMaxFileCount', 'foo')).to.equal(
|
|
43
|
+
'logMaxFileCount must be a positive integer'
|
|
44
|
+
);
|
|
45
|
+
expect(await validate('logMaxFileCount', -1)).to.equal(
|
|
46
|
+
'logMaxFileCount must be a positive integer'
|
|
47
|
+
);
|
|
48
|
+
expect(await validate('logCompressionEnabled', 'foo')).to.equal(
|
|
49
|
+
'logCompressionEnabled must be a boolean'
|
|
50
|
+
);
|
|
51
|
+
expect(await validate('logCompressionEnabled', -1)).to.equal(
|
|
52
|
+
'logCompressionEnabled must be a boolean'
|
|
53
|
+
);
|
|
54
|
+
expect(await validate('logCompressionEnabled', false)).to.equal(null);
|
|
28
55
|
expect(await validate('showStackTraces', 'foo')).to.equal(
|
|
29
56
|
'showStackTraces must be a boolean'
|
|
30
57
|
);
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ConnectEventMap } from '@mongodb-js/devtools-connect';
|
|
2
|
+
import path from 'path';
|
|
2
3
|
|
|
3
4
|
export interface ApiEventArguments {
|
|
4
5
|
pipeline?: any[];
|
|
@@ -173,10 +174,13 @@ export interface EditorReadVscodeExtensionsFailedEvent {
|
|
|
173
174
|
export interface FetchingUpdateMetadataEvent {
|
|
174
175
|
updateURL: string;
|
|
175
176
|
localFilePath: string;
|
|
177
|
+
currentVersion: string;
|
|
176
178
|
}
|
|
177
179
|
|
|
178
180
|
export interface FetchingUpdateMetadataCompleteEvent {
|
|
179
181
|
latest: string | null;
|
|
182
|
+
currentVersion: string;
|
|
183
|
+
hasGreetingCTA: boolean;
|
|
180
184
|
}
|
|
181
185
|
|
|
182
186
|
export interface SessionStartedEvent {
|
|
@@ -393,6 +397,8 @@ export interface MongoshBusEventsMap extends ConnectEventMap {
|
|
|
393
397
|
'mongosh:fetching-update-metadata-complete': (
|
|
394
398
|
ev: FetchingUpdateMetadataCompleteEvent
|
|
395
399
|
) => void;
|
|
400
|
+
/** Signals that logging has been initialized. */
|
|
401
|
+
'mongosh:log-initialized': () => void;
|
|
396
402
|
}
|
|
397
403
|
|
|
398
404
|
export interface MongoshBus {
|
|
@@ -418,6 +424,7 @@ export class ShellUserConfig {
|
|
|
418
424
|
maxTimeMS: number | null = null;
|
|
419
425
|
enableTelemetry = false;
|
|
420
426
|
editor: string | null = null;
|
|
427
|
+
logLocation: string | undefined;
|
|
421
428
|
}
|
|
422
429
|
|
|
423
430
|
export class ShellUserConfigValidator {
|
|
@@ -504,6 +511,12 @@ export class CliUserConfig extends SnippetShellUserConfig {
|
|
|
504
511
|
oidcTrustedEndpoints: undefined | string[] = undefined;
|
|
505
512
|
browser: undefined | false | string = undefined;
|
|
506
513
|
updateURL = 'https://downloads.mongodb.com/compass/mongosh.json';
|
|
514
|
+
disableLogging = false;
|
|
515
|
+
logLocation: string | undefined = undefined;
|
|
516
|
+
logRetentionDays = 30;
|
|
517
|
+
logMaxFileCount = 100;
|
|
518
|
+
logCompressionEnabled = false;
|
|
519
|
+
logRetentionGB: number | undefined = undefined;
|
|
507
520
|
}
|
|
508
521
|
|
|
509
522
|
export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
@@ -526,12 +539,21 @@ export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
|
526
539
|
return null;
|
|
527
540
|
case 'inspectDepth':
|
|
528
541
|
case 'historyLength':
|
|
542
|
+
case 'logRetentionDays':
|
|
543
|
+
case 'logMaxFileCount':
|
|
529
544
|
if (typeof value !== 'number' || value < 0) {
|
|
530
545
|
return `${key} must be a positive integer`;
|
|
531
546
|
}
|
|
532
547
|
return null;
|
|
548
|
+
case 'logRetentionGB':
|
|
549
|
+
if (value !== undefined && (typeof value !== 'number' || value < 0)) {
|
|
550
|
+
return `${key} must be a positive number or undefined`;
|
|
551
|
+
}
|
|
552
|
+
return null;
|
|
553
|
+
case 'disableLogging':
|
|
533
554
|
case 'forceDisableTelemetry':
|
|
534
555
|
case 'showStackTraces':
|
|
556
|
+
case 'logCompressionEnabled':
|
|
535
557
|
if (typeof value !== 'boolean') {
|
|
536
558
|
return `${key} must be a boolean`;
|
|
537
559
|
}
|
|
@@ -575,6 +597,14 @@ export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
|
575
597
|
return `${key} must be a valid URL or empty`;
|
|
576
598
|
}
|
|
577
599
|
return null;
|
|
600
|
+
case 'logLocation':
|
|
601
|
+
if (
|
|
602
|
+
value !== undefined &&
|
|
603
|
+
(typeof value !== 'string' || !path.isAbsolute(value))
|
|
604
|
+
) {
|
|
605
|
+
return `${key} must be a valid absolute path or undefined`;
|
|
606
|
+
}
|
|
607
|
+
return null;
|
|
578
608
|
default:
|
|
579
609
|
return super.validate(
|
|
580
610
|
key as keyof SnippetShellUserConfig,
|