@mongodb-js/compass-logging 0.2.0 → 0.6.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/dist/index.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import { MongoLogWriter, mongoLogId } from 'mongodb-log-writer';
2
- declare function createLogger(component: string): {
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 function createLoggerAndTelemetry(component: string): {
3
6
  log: ReturnType<MongoLogWriter['bindComponent']>;
4
7
  mongoLogId: typeof mongoLogId;
8
+ debug: ReturnType<typeof createDebug>;
9
+ track: TrackFunction;
5
10
  };
6
- export = createLogger;
11
+ export default createLoggerAndTelemetry;
package/dist/index.js CHANGED
@@ -2,24 +2,68 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLoggerAndTelemetry = void 0;
5
7
  const mongodb_log_writer_1 = require("mongodb-log-writer");
6
- const stream_1 = require("stream");
7
- const hadron_ipc_1 = __importDefault(require("hadron-ipc"));
8
- function createLogger(component) {
9
- const target = new stream_1.Writable({
10
- decodeStrings: false,
11
- write(line, encoding, callback) {
12
- var _a;
13
- (_a = hadron_ipc_1.default.call) === null || _a === void 0 ? void 0 : _a.call(hadron_ipc_1.default, 'compass:log', { line });
14
- process.emit('compass:log', { line });
8
+ const is_electron_renderer_1 = __importDefault(require("is-electron-renderer"));
9
+ const debug_1 = __importDefault(require("debug"));
10
+ function emit(ipc, event, data) {
11
+ var _a;
12
+ (_a = ipc === null || ipc === void 0 ? void 0 : ipc.callQuiet) === null || _a === void 0 ? void 0 : _a.call(ipc, event, data);
13
+ if (typeof process !== 'undefined' && typeof process.emit === 'function') {
14
+ process.emit(event, data);
15
+ }
16
+ }
17
+ function createLoggerAndTelemetry(component) {
18
+ const ipc = is_electron_renderer_1.default
19
+ ? require('hadron-ipc')
20
+ : null;
21
+ const target = {
22
+ write(line, callback) {
23
+ emit(ipc, 'compass:log', { line });
15
24
  callback();
16
25
  },
17
- });
26
+ end(callback) {
27
+ callback();
28
+ },
29
+ };
18
30
  const writer = new mongodb_log_writer_1.MongoLogWriter('', null, target);
31
+ const track = (...args) => {
32
+ void Promise.resolve()
33
+ .then(() => trackAsync(...args))
34
+ .catch((error) => debug('track failed', error));
35
+ };
36
+ const trackAsync = async (event, properties = {}) => {
37
+ var _a, _b;
38
+ const isTrackingEnabled = (_b = (_a = global) === null || _a === void 0 ? void 0 : _a.hadronApp) === null || _b === void 0 ? void 0 : _b.isFeatureEnabled('trackUsageStatistics');
39
+ if (!isTrackingEnabled) {
40
+ return;
41
+ }
42
+ const data = {
43
+ event,
44
+ properties,
45
+ };
46
+ if (typeof properties === 'function') {
47
+ data.properties = await properties();
48
+ }
49
+ emit(ipc, 'compass:track', data);
50
+ };
51
+ const debug = (0, debug_1.default)(`mongodb-compass:${component.toLowerCase()}`);
52
+ writer.on('log', ({ s, ctx, msg, attr }) => {
53
+ if (attr) {
54
+ debug(msg, { s, ctx, ...attr });
55
+ }
56
+ else {
57
+ debug(msg, { s, ctx });
58
+ }
59
+ });
19
60
  return {
20
61
  log: writer.bindComponent(component),
21
62
  mongoLogId: mongodb_log_writer_1.mongoLogId,
63
+ debug,
64
+ track,
22
65
  };
23
66
  }
24
- module.exports = createLogger;
67
+ exports.createLoggerAndTelemetry = createLoggerAndTelemetry;
68
+ exports.default = createLoggerAndTelemetry;
25
69
  //# 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":";;;;AAAA,2DAAgE;AAChE,mCAAkC;AAClC,4DAA6B;AAE7B,SAAS,YAAY,CAAC,SAAiB;IAIrC,MAAM,MAAM,GAAG,IAAI,iBAAQ,CAAC;QAC1B,aAAa,EAAE,KAAK;QACpB,KAAK,CAAC,IAAY,EAAE,QAAiB,EAAE,QAAoB;;YAEzD,MAAA,oBAAG,CAAC,IAAI,+CAAR,oBAAG,EAAQ,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,OAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,QAAQ,EAAE,CAAC;QACb,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,mCAAc,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;QACpC,UAAU,EAAV,+BAAU;KACX,CAAC;AACJ,CAAC;AAED,iBAAS,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA+E;AAC/E,gFAAsD;AACtD,kDAAgC;AAOhC,SAAS,IAAI,CACX,GAA6B,EAC7B,KAAa,EACb,IAAyB;;IAIzB,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,+CAAd,GAAG,EAAc,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;QACvE,OAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACpC;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,SAAiB;IAOxD,MAAM,GAAG,GAA6B,8BAAkB;QACtD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,IAAI,CAAC;IAMT,MAAM,MAAM,GAAG;QACb,KAAK,CAAC,IAAY,EAAE,QAAoB;YACtC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,GAAG,CAAC,QAAoB;YACtB,QAAQ,EAAE,CAAC;QACb,CAAC;KACU,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,mCAAc,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,CAAC,GAAG,IAA2B,EAAE,EAAE;QAC/C,KAAK,OAAO,CAAC,OAAO,EAAE;aACnB,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;aAC/B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EACtB,KAAa,EACb,aAAyB,EAAE,EACZ,EAAE;;QACjB,MAAM,iBAAiB,GAAG,MAAA,MAAC,MAAc,0CAAE,SAAS,0CAAE,gBAAgB,CACpE,sBAAsB,CACvB,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO;SACR;QACD,MAAM,IAAI,GAAG;YACX,KAAK;YACL,UAAU;SACX,CAAC;QACF,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;YACpC,IAAI,CAAC,UAAU,GAAG,MAAM,UAAU,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,mBAAmB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAiB,EAAE,EAAE;QACxD,IAAI,IAAI,EAAE;YACR,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SACjC;aAAM;YACL,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;SACxB;IACH,CAAC,CAAC,CAAC;IACH,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;QACpC,UAAU,EAAV,+BAAU;QACV,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAlED,4DAkEC;AAED,kBAAe,wBAAwB,CAAC"}
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": "0.2.0",
16
+ "version": "0.6.0",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/compass.git"
@@ -26,6 +26,10 @@
26
26
  "hadron-ipc": "*"
27
27
  },
28
28
  "main": "dist/index.js",
29
+ "exports": {
30
+ "webpack": "./src/index.ts",
31
+ "require": "./dist/index.js"
32
+ },
29
33
  "types": "./dist/index.d.ts",
30
34
  "scripts": {
31
35
  "bootstrap": "npm run compile",
@@ -44,25 +48,27 @@
44
48
  "reformat": "npm run prettier -- --write ."
45
49
  },
46
50
  "dependencies": {
47
- "mongodb-log-writer": "^1.0.3"
51
+ "debug": "4.3.0",
52
+ "is-electron-renderer": "^2.0.1",
53
+ "mongodb-log-writer": "^1.1.2"
48
54
  },
49
55
  "devDependencies": {
50
- "@mongodb-js/eslint-config-compass": "^0.3.0",
51
- "@mongodb-js/mocha-config-compass": "^0.3.0",
52
- "@mongodb-js/prettier-config-compass": "^0.2.0",
53
- "@mongodb-js/tsconfig-compass": "^0.2.0",
56
+ "@mongodb-js/eslint-config-compass": "^0.5.0",
57
+ "@mongodb-js/mocha-config-compass": "^0.7.0",
58
+ "@mongodb-js/prettier-config-compass": "^0.4.0",
59
+ "@mongodb-js/tsconfig-compass": "^0.4.0",
54
60
  "@types/chai": "^4.2.21",
55
61
  "@types/mocha": "^9.0.0",
56
62
  "@types/sinon-chai": "^3.2.5",
57
63
  "chai": "^4.3.4",
58
64
  "depcheck": "^1.4.1",
59
65
  "eslint": "^7.25.0",
60
- "hadron-ipc": "^2.5.0",
66
+ "hadron-ipc": "^2.7.0",
61
67
  "mocha": "^8.4.0",
62
68
  "nyc": "^15.1.0",
63
69
  "prettier": "2.3.2",
64
70
  "sinon": "^9.2.3",
65
71
  "typescript": "^4.3.5"
66
72
  },
67
- "gitHead": "455c6523f99a08c6796480d59727b53bdfa441f0"
73
+ "gitHead": "542e3fa07d48435b1a7acc21c96de20562b843b3"
68
74
  }