@mongodb-js/compass-logging 1.1.1 → 1.1.3
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/dist/index.d.ts +4 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -111
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +13 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +114 -0
- package/dist/logger.js.map +1 -0
- package/dist/react.d.ts +21 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +38 -0
- package/dist/react.js.map +1 -0
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
@@ -1,12 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
export declare function createLoggerAndTelemetry(component: string): {
|
6
|
-
log: ReturnType<MongoLogWriter['bindComponent']>;
|
7
|
-
mongoLogId: typeof mongoLogId;
|
8
|
-
debug: ReturnType<typeof createDebug>;
|
9
|
-
track: TrackFunction;
|
10
|
-
};
|
11
|
-
export default createLoggerAndTelemetry;
|
1
|
+
export { createLoggerAndTelemetry } from './logger';
|
2
|
+
export { createLoggerAndTelemetry as default } from './logger';
|
3
|
+
export type { LoggerAndTelemetry } from './logger';
|
4
|
+
export { useLoggerAndTelemetry, useTrackOnChange, withLoggerAndTelemetry, } from './react';
|
12
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
@@ -1,114 +1,12 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.createLoggerAndTelemetry = void 0;
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
process.emit(event, data);
|
39
|
-
}
|
40
|
-
}
|
41
|
-
function createLoggerAndTelemetry(component) {
|
42
|
-
const ipc = is_electron_renderer_1.default
|
43
|
-
? require('hadron-ipc')
|
44
|
-
: null;
|
45
|
-
const target = {
|
46
|
-
write(line, callback) {
|
47
|
-
emit(ipc, 'compass:log', { line });
|
48
|
-
callback();
|
49
|
-
},
|
50
|
-
end(callback) {
|
51
|
-
callback();
|
52
|
-
},
|
53
|
-
};
|
54
|
-
const writer = new mongodb_log_writer_1.MongoLogWriter('', null, target);
|
55
|
-
const track = (...args) => {
|
56
|
-
void Promise.resolve()
|
57
|
-
.then(() => trackAsync(...args))
|
58
|
-
.catch((error) => debug('track failed', error));
|
59
|
-
};
|
60
|
-
const trackAsync = async (event, properties = {}) => {
|
61
|
-
try {
|
62
|
-
preferences !== null && preferences !== void 0 ? preferences : (preferences = (await Promise.resolve().then(() => __importStar(require('compass-preferences-model'))))
|
63
|
-
.preferencesAccess);
|
64
|
-
}
|
65
|
-
catch (_a) {
|
66
|
-
preferences !== null && preferences !== void 0 ? preferences : (preferences = {
|
67
|
-
getPreferences() {
|
68
|
-
return { trackUsageStatistics: true };
|
69
|
-
},
|
70
|
-
});
|
71
|
-
}
|
72
|
-
const { trackUsageStatistics = true } = preferences === null || preferences === void 0 ? void 0 : preferences.getPreferences();
|
73
|
-
if (!trackUsageStatistics) {
|
74
|
-
return;
|
75
|
-
}
|
76
|
-
const data = {
|
77
|
-
event,
|
78
|
-
properties,
|
79
|
-
};
|
80
|
-
if (typeof properties === 'function') {
|
81
|
-
try {
|
82
|
-
data.properties = await properties();
|
83
|
-
}
|
84
|
-
catch (error) {
|
85
|
-
emit(ipc, 'compass:track', {
|
86
|
-
event: 'Error Fetching Attributes',
|
87
|
-
properties: {
|
88
|
-
event_name: event,
|
89
|
-
},
|
90
|
-
});
|
91
|
-
return;
|
92
|
-
}
|
93
|
-
}
|
94
|
-
emit(ipc, 'compass:track', data);
|
95
|
-
};
|
96
|
-
const debug = (0, debug_1.default)(`mongodb-compass:${component.toLowerCase()}`);
|
97
|
-
writer.on('log', ({ s, ctx, msg, attr }) => {
|
98
|
-
if (attr) {
|
99
|
-
debug(msg, { s, ctx, ...attr });
|
100
|
-
}
|
101
|
-
else {
|
102
|
-
debug(msg, { s, ctx });
|
103
|
-
}
|
104
|
-
});
|
105
|
-
return {
|
106
|
-
log: writer.bindComponent(component),
|
107
|
-
mongoLogId: mongodb_log_writer_1.mongoLogId,
|
108
|
-
debug,
|
109
|
-
track,
|
110
|
-
};
|
111
|
-
}
|
112
|
-
exports.createLoggerAndTelemetry = createLoggerAndTelemetry;
|
113
|
-
exports.default = createLoggerAndTelemetry;
|
3
|
+
exports.withLoggerAndTelemetry = exports.useTrackOnChange = exports.useLoggerAndTelemetry = exports.default = exports.createLoggerAndTelemetry = void 0;
|
4
|
+
var logger_1 = require("./logger");
|
5
|
+
Object.defineProperty(exports, "createLoggerAndTelemetry", { enumerable: true, get: function () { return logger_1.createLoggerAndTelemetry; } });
|
6
|
+
var logger_2 = require("./logger");
|
7
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return logger_2.createLoggerAndTelemetry; } });
|
8
|
+
var react_1 = require("./react");
|
9
|
+
Object.defineProperty(exports, "useLoggerAndTelemetry", { enumerable: true, get: function () { return react_1.useLoggerAndTelemetry; } });
|
10
|
+
Object.defineProperty(exports, "useTrackOnChange", { enumerable: true, get: function () { return react_1.useTrackOnChange; } });
|
11
|
+
Object.defineProperty(exports, "withLoggerAndTelemetry", { enumerable: true, get: function () { return react_1.withLoggerAndTelemetry; } });
|
114
12
|
//# sourceMappingURL=index.js.map
|
package/dist/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":";;;AAAA,mCAAoD;AAA3C,kHAAA,wBAAwB,OAAA;AACjC,mCAA+D;AAAtD,iGAAA,wBAAwB,OAAW;AAE5C,iCAIiB;AAHf,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,+GAAA,sBAAsB,OAAA"}
|
package/dist/logger.d.ts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
import { MongoLogWriter, mongoLogId } from 'mongodb-log-writer';
|
2
|
+
import createDebug from 'debug';
|
3
|
+
declare type TrackProps = Record<string, any> | (() => Record<string, any>);
|
4
|
+
declare type TrackFunction = (event: string, properties?: TrackProps) => void;
|
5
|
+
export declare type LoggerAndTelemetry = {
|
6
|
+
log: ReturnType<MongoLogWriter['bindComponent']>;
|
7
|
+
mongoLogId: typeof mongoLogId;
|
8
|
+
debug: ReturnType<typeof createDebug>;
|
9
|
+
track: TrackFunction;
|
10
|
+
};
|
11
|
+
export declare function createLoggerAndTelemetry(component: string): LoggerAndTelemetry;
|
12
|
+
export default createLoggerAndTelemetry;
|
13
|
+
//# sourceMappingURL=logger.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,WAAW,MAAM,OAAO,CAAC;AAQhC,aAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,aAAK,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAetE,oBAAY,kBAAkB,GAAG;IAC/B,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACtC,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAChB,kBAAkB,CA0FpB;AAED,eAAe,wBAAwB,CAAC"}
|
package/dist/logger.js
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.createLoggerAndTelemetry = void 0;
|
30
|
+
const mongodb_log_writer_1 = require("mongodb-log-writer");
|
31
|
+
const is_electron_renderer_1 = __importDefault(require("is-electron-renderer"));
|
32
|
+
const debug_1 = __importDefault(require("debug"));
|
33
|
+
let preferences;
|
34
|
+
function emit(ipc, event, data) {
|
35
|
+
var _a;
|
36
|
+
void ((_a = ipc === null || ipc === void 0 ? void 0 : ipc.callQuiet) === null || _a === void 0 ? void 0 : _a.call(ipc, event, data));
|
37
|
+
if (typeof process !== 'undefined' && typeof process.emit === 'function') {
|
38
|
+
process.emit(event, data);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
function createLoggerAndTelemetry(component) {
|
42
|
+
const ipc = is_electron_renderer_1.default
|
43
|
+
? require('hadron-ipc')
|
44
|
+
: null;
|
45
|
+
const target = {
|
46
|
+
write(line, callback) {
|
47
|
+
emit(ipc, 'compass:log', { line });
|
48
|
+
callback();
|
49
|
+
},
|
50
|
+
end(callback) {
|
51
|
+
callback();
|
52
|
+
},
|
53
|
+
};
|
54
|
+
const writer = new mongodb_log_writer_1.MongoLogWriter('', null, target);
|
55
|
+
const track = (...args) => {
|
56
|
+
void Promise.resolve()
|
57
|
+
.then(() => trackAsync(...args))
|
58
|
+
.catch((error) => debug('track failed', error));
|
59
|
+
};
|
60
|
+
const trackAsync = async (event, properties = {}) => {
|
61
|
+
try {
|
62
|
+
preferences !== null && preferences !== void 0 ? preferences : (preferences = (await Promise.resolve().then(() => __importStar(require('compass-preferences-model'))))
|
63
|
+
.preferencesAccess);
|
64
|
+
}
|
65
|
+
catch (_a) {
|
66
|
+
preferences !== null && preferences !== void 0 ? preferences : (preferences = {
|
67
|
+
getPreferences() {
|
68
|
+
return { trackUsageStatistics: true };
|
69
|
+
},
|
70
|
+
});
|
71
|
+
}
|
72
|
+
const { trackUsageStatistics = true } = preferences === null || preferences === void 0 ? void 0 : preferences.getPreferences();
|
73
|
+
if (!trackUsageStatistics) {
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
const data = {
|
77
|
+
event,
|
78
|
+
properties,
|
79
|
+
};
|
80
|
+
if (typeof properties === 'function') {
|
81
|
+
try {
|
82
|
+
data.properties = await properties();
|
83
|
+
}
|
84
|
+
catch (error) {
|
85
|
+
emit(ipc, 'compass:track', {
|
86
|
+
event: 'Error Fetching Attributes',
|
87
|
+
properties: {
|
88
|
+
event_name: event,
|
89
|
+
},
|
90
|
+
});
|
91
|
+
return;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
emit(ipc, 'compass:track', data);
|
95
|
+
};
|
96
|
+
const debug = (0, debug_1.default)(`mongodb-compass:${component.toLowerCase()}`);
|
97
|
+
writer.on('log', ({ s, ctx, msg, attr }) => {
|
98
|
+
if (attr) {
|
99
|
+
debug(msg, { s, ctx, ...attr });
|
100
|
+
}
|
101
|
+
else {
|
102
|
+
debug(msg, { s, ctx });
|
103
|
+
}
|
104
|
+
});
|
105
|
+
return {
|
106
|
+
log: writer.bindComponent(component),
|
107
|
+
mongoLogId: mongodb_log_writer_1.mongoLogId,
|
108
|
+
debug,
|
109
|
+
track,
|
110
|
+
};
|
111
|
+
}
|
112
|
+
exports.createLoggerAndTelemetry = createLoggerAndTelemetry;
|
113
|
+
exports.default = createLoggerAndTelemetry;
|
114
|
+
//# sourceMappingURL=logger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/react.d.ts
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import type { LoggerAndTelemetry } from './logger';
|
2
|
+
export declare function useLoggerAndTelemetry(component: string, React: {
|
3
|
+
useRef: any;
|
4
|
+
}): LoggerAndTelemetry;
|
5
|
+
export declare function useTrackOnChange(component: string, onChange: (track: LoggerAndTelemetry['track']) => void, dependencies: unknown[], options: {
|
6
|
+
skipOnMount: boolean;
|
7
|
+
} | undefined, React: {
|
8
|
+
useRef: any;
|
9
|
+
useEffect: any;
|
10
|
+
}): void;
|
11
|
+
declare type ComponentProps<T> = T extends (props: infer P) => any ? P : T extends {
|
12
|
+
new (props: infer P): any;
|
13
|
+
} ? P : never;
|
14
|
+
declare type ComponentReturnType<T> = T extends (...args: any[]) => infer R ? R : T extends {
|
15
|
+
new (...args: any[]): {
|
16
|
+
render(...args: any[]): infer R;
|
17
|
+
};
|
18
|
+
} ? R : never;
|
19
|
+
export declare function withLoggerAndTelemetry<T = any>(ReactComponent: T, component: string, React: any): (props: Omit<ComponentProps<T>, 'logger'>) => ComponentReturnType<T>;
|
20
|
+
export {};
|
21
|
+
//# sourceMappingURL=react.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GACrB,kBAAkB,CAMpB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,EACtD,YAAY,EAAE,OAAO,EAAE,EACvB,OAAO;iBAAiB,OAAO;aAA2B,EAC1D,KAAK,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,GAAG,CAAA;CAAE,QAavC;AAED,aAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GACtD,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAA;CAAE,GACvC,CAAC,GACD,KAAK,CAAC;AAEV,aAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAC/D,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GACvE,CAAC,GACD,KAAK,CAAC;AAEV,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAC5C,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,WAGD,KAAK,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,KACvC,oBAAoB,CAAC,CAAC,CAK1B"}
|
package/dist/react.js
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.withLoggerAndTelemetry = exports.useTrackOnChange = exports.useLoggerAndTelemetry = void 0;
|
7
|
+
const logger_1 = __importDefault(require("./logger"));
|
8
|
+
function useLoggerAndTelemetry(component, React) {
|
9
|
+
const loggerRef = React.useRef();
|
10
|
+
if (!loggerRef.current) {
|
11
|
+
loggerRef.current = (0, logger_1.default)(component);
|
12
|
+
}
|
13
|
+
return loggerRef.current;
|
14
|
+
}
|
15
|
+
exports.useLoggerAndTelemetry = useLoggerAndTelemetry;
|
16
|
+
function useTrackOnChange(component, onChange, dependencies, options = { skipOnMount: false }, React) {
|
17
|
+
const onChangeRef = React.useRef(onChange);
|
18
|
+
onChangeRef.current = onChange;
|
19
|
+
const { track } = useLoggerAndTelemetry(component, React);
|
20
|
+
let initial = true;
|
21
|
+
React.useEffect(() => {
|
22
|
+
if (options.skipOnMount && initial) {
|
23
|
+
initial = false;
|
24
|
+
return;
|
25
|
+
}
|
26
|
+
onChangeRef.current(track);
|
27
|
+
}, [...dependencies, track]);
|
28
|
+
}
|
29
|
+
exports.useTrackOnChange = useTrackOnChange;
|
30
|
+
function withLoggerAndTelemetry(ReactComponent, component, React) {
|
31
|
+
const WithLoggerAndTelemetry = (props) => {
|
32
|
+
const logger = useLoggerAndTelemetry(component, React);
|
33
|
+
return React.createElement(ReactComponent, { ...props, logger });
|
34
|
+
};
|
35
|
+
return WithLoggerAndTelemetry;
|
36
|
+
}
|
37
|
+
exports.withLoggerAndTelemetry = withLoggerAndTelemetry;
|
38
|
+
//# sourceMappingURL=react.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAgD;AAGhD,SAAgB,qBAAqB,CACnC,SAAiB,EACjB,KAAsB;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QACtB,SAAS,CAAC,OAAO,GAAG,IAAA,gBAAwB,EAAC,SAAS,CAAC,CAAC;KACzD;IACD,OAAO,SAAS,CAAC,OAA6B,CAAC;AACjD,CAAC;AATD,sDASC;AAED,SAAgB,gBAAgB,CAC9B,SAAiB,EACjB,QAAsD,EACtD,YAAuB,EACvB,UAAoC,EAAE,WAAW,EAAE,KAAK,EAAE,EAC1D,KAAsC;IAEtC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,EAAE;YAClC,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO;SACR;QACD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/B,CAAC;AAlBD,4CAkBC;AAcD,SAAgB,sBAAsB,CACpC,cAAiB,EACjB,SAAiB,EACjB,KAAU;IAEV,MAAM,sBAAsB,GAAG,CAC7B,KAAwC,EAChB,EAAE;QAC1B,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAZD,wDAYC"}
|
package/package.json
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
"email": "compass@mongodb.com"
|
14
14
|
},
|
15
15
|
"homepage": "https://github.com/mongodb-js/compass",
|
16
|
-
"version": "1.1.
|
16
|
+
"version": "1.1.3",
|
17
17
|
"repository": {
|
18
18
|
"type": "git",
|
19
19
|
"url": "https://github.com/mongodb-js/compass.git"
|
@@ -23,7 +23,7 @@
|
|
23
23
|
],
|
24
24
|
"license": "SSPL",
|
25
25
|
"peerDependencies": {
|
26
|
-
"hadron-ipc": "^3.1.
|
26
|
+
"hadron-ipc": "^3.1.1"
|
27
27
|
},
|
28
28
|
"main": "dist/index.js",
|
29
29
|
"compass:main": "src/index.ts",
|
@@ -45,16 +45,16 @@
|
|
45
45
|
"test-cov": "nyc -x \"**/*.spec.*\" --reporter=lcov --reporter=text --reporter=html npm run test",
|
46
46
|
"test-watch": "npm run test -- --watch",
|
47
47
|
"test-ci": "npm run test-cov",
|
48
|
-
"reformat": "npm run prettier -- --write ."
|
48
|
+
"reformat": "npm run prettier -- --write . && npm run eslint . --fix"
|
49
49
|
},
|
50
50
|
"dependencies": {
|
51
51
|
"debug": "^4.2.0",
|
52
52
|
"is-electron-renderer": "^2.0.1",
|
53
|
-
"mongodb-log-writer": "^1.1.
|
53
|
+
"mongodb-log-writer": "^1.1.5"
|
54
54
|
},
|
55
55
|
"devDependencies": {
|
56
|
-
"@mongodb-js/eslint-config-compass": "^1.0.
|
57
|
-
"@mongodb-js/mocha-config-compass": "^1.0.
|
56
|
+
"@mongodb-js/eslint-config-compass": "^1.0.3",
|
57
|
+
"@mongodb-js/mocha-config-compass": "^1.0.2",
|
58
58
|
"@mongodb-js/prettier-config-compass": "^1.0.0",
|
59
59
|
"@mongodb-js/tsconfig-compass": "^1.0.1",
|
60
60
|
"@types/chai": "^4.2.21",
|
@@ -63,7 +63,7 @@
|
|
63
63
|
"chai": "^4.3.4",
|
64
64
|
"depcheck": "^1.4.1",
|
65
65
|
"eslint": "^7.25.0",
|
66
|
-
"hadron-ipc": "^3.1.
|
66
|
+
"hadron-ipc": "^3.1.1",
|
67
67
|
"mocha": "^8.4.0",
|
68
68
|
"nyc": "^15.1.0",
|
69
69
|
"prettier": "^2.7.1",
|
@@ -73,5 +73,5 @@
|
|
73
73
|
"optionalPeerDependencies": {
|
74
74
|
"compass-preferences-model": "^2.0.0"
|
75
75
|
},
|
76
|
-
"gitHead": "
|
76
|
+
"gitHead": "96ec6b32140254def920e2b4a8dba9be56633f75"
|
77
77
|
}
|