@mongodb-js/compass-logging
Advanced tools
Comparing version 0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82 to 0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e
@@ -1,12 +0,5 @@ | ||
import { MongoLogWriter, mongoLogId } from 'mongodb-log-writer'; | ||
import createDebug from 'debug'; | ||
declare type TrackProps = Record<string, any> | (() => Record<string, any>); | ||
declare type TrackFunction = (event: string, properties?: TrackProps) => void; | ||
export declare function createLoggerAndTelemetry(component: string): { | ||
log: ReturnType<MongoLogWriter['bindComponent']>; | ||
mongoLogId: typeof mongoLogId; | ||
debug: ReturnType<typeof createDebug>; | ||
track: TrackFunction; | ||
}; | ||
export default createLoggerAndTelemetry; | ||
export { createLoggerAndTelemetry } from './logger'; | ||
export { createLoggerAndTelemetry as default } from './logger'; | ||
export type { LoggerAndTelemetry } from './logger'; | ||
export { useLoggerAndTelemetry, useTrackOnChange, withLoggerAndTelemetry, } from './react'; | ||
//# sourceMappingURL=index.d.ts.map |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createLoggerAndTelemetry = void 0; | ||
const mongodb_log_writer_1 = require("mongodb-log-writer"); | ||
const is_electron_renderer_1 = __importDefault(require("is-electron-renderer")); | ||
const debug_1 = __importDefault(require("debug")); | ||
let preferences; | ||
function emit(ipc, event, data) { | ||
var _a; | ||
void ((_a = ipc === null || ipc === void 0 ? void 0 : ipc.callQuiet) === null || _a === void 0 ? void 0 : _a.call(ipc, event, data)); | ||
if (typeof process !== 'undefined' && typeof process.emit === 'function') { | ||
process.emit(event, data); | ||
} | ||
} | ||
function createLoggerAndTelemetry(component) { | ||
const ipc = is_electron_renderer_1.default | ||
? require('hadron-ipc') | ||
: null; | ||
const target = { | ||
write(line, callback) { | ||
emit(ipc, 'compass:log', { line }); | ||
callback(); | ||
}, | ||
end(callback) { | ||
callback(); | ||
}, | ||
}; | ||
const writer = new mongodb_log_writer_1.MongoLogWriter('', null, target); | ||
const track = (...args) => { | ||
void Promise.resolve() | ||
.then(() => trackAsync(...args)) | ||
.catch((error) => debug('track failed', error)); | ||
}; | ||
const trackAsync = async (event, properties = {}) => { | ||
try { | ||
preferences !== null && preferences !== void 0 ? preferences : (preferences = (await Promise.resolve().then(() => __importStar(require('compass-preferences-model')))) | ||
.preferencesAccess); | ||
} | ||
catch (_a) { | ||
preferences !== null && preferences !== void 0 ? preferences : (preferences = { | ||
getPreferences() { | ||
return { trackUsageStatistics: true }; | ||
}, | ||
}); | ||
} | ||
const { trackUsageStatistics = true } = preferences === null || preferences === void 0 ? void 0 : preferences.getPreferences(); | ||
if (!trackUsageStatistics) { | ||
return; | ||
} | ||
const data = { | ||
event, | ||
properties, | ||
}; | ||
if (typeof properties === 'function') { | ||
try { | ||
data.properties = await properties(); | ||
} | ||
catch (error) { | ||
emit(ipc, 'compass:track', { | ||
event: 'Error Fetching Attributes', | ||
properties: { | ||
event_name: event, | ||
}, | ||
}); | ||
return; | ||
} | ||
} | ||
emit(ipc, 'compass:track', data); | ||
}; | ||
const debug = (0, debug_1.default)(`mongodb-compass:${component.toLowerCase()}`); | ||
writer.on('log', ({ s, ctx, msg, attr }) => { | ||
if (attr) { | ||
debug(msg, { s, ctx, ...attr }); | ||
} | ||
else { | ||
debug(msg, { s, ctx }); | ||
} | ||
}); | ||
return { | ||
log: writer.bindComponent(component), | ||
mongoLogId: mongodb_log_writer_1.mongoLogId, | ||
debug, | ||
track, | ||
}; | ||
} | ||
exports.createLoggerAndTelemetry = createLoggerAndTelemetry; | ||
exports.default = createLoggerAndTelemetry; | ||
exports.withLoggerAndTelemetry = exports.useTrackOnChange = exports.useLoggerAndTelemetry = exports.default = exports.createLoggerAndTelemetry = void 0; | ||
var logger_1 = require("./logger"); | ||
Object.defineProperty(exports, "createLoggerAndTelemetry", { enumerable: true, get: function () { return logger_1.createLoggerAndTelemetry; } }); | ||
var logger_2 = require("./logger"); | ||
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return logger_2.createLoggerAndTelemetry; } }); | ||
var react_1 = require("./react"); | ||
Object.defineProperty(exports, "useLoggerAndTelemetry", { enumerable: true, get: function () { return react_1.useLoggerAndTelemetry; } }); | ||
Object.defineProperty(exports, "useTrackOnChange", { enumerable: true, get: function () { return react_1.useTrackOnChange; } }); | ||
Object.defineProperty(exports, "withLoggerAndTelemetry", { enumerable: true, get: function () { return react_1.withLoggerAndTelemetry; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -16,3 +16,3 @@ { | ||
"homepage": "https://github.com/mongodb-js/compass", | ||
"version": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"version": "0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e", | ||
"repository": { | ||
@@ -27,3 +27,3 @@ "type": "git", | ||
"peerDependencies": { | ||
"hadron-ipc": "^3.1.0" | ||
"hadron-ipc": "^3.1.1" | ||
}, | ||
@@ -50,3 +50,3 @@ "main": "dist/index.js", | ||
"test-ci": "npm run test-cov", | ||
"reformat": "npm run prettier -- --write ." | ||
"reformat": "npm run prettier -- --write . && npm run eslint . --fix" | ||
}, | ||
@@ -56,9 +56,9 @@ "dependencies": { | ||
"is-electron-renderer": "^2.0.1", | ||
"mongodb-log-writer": "^1.1.4" | ||
"mongodb-log-writer": "^1.1.5" | ||
}, | ||
"devDependencies": { | ||
"@mongodb-js/eslint-config-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/mocha-config-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/prettier-config-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/tsconfig-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/eslint-config-compass": "0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e", | ||
"@mongodb-js/mocha-config-compass": "0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e", | ||
"@mongodb-js/prettier-config-compass": "0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e", | ||
"@mongodb-js/tsconfig-compass": "0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e", | ||
"@types/chai": "^4.2.21", | ||
@@ -70,8 +70,8 @@ "@types/mocha": "^9.0.0", | ||
"eslint": "^7.25.0", | ||
"hadron-ipc": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"mocha": "^8.4.0", | ||
"hadron-ipc": "0.0.0-next-259fb95ccf1d41c3210676266488d0705f9b544e", | ||
"mocha": "^10.2.0", | ||
"nyc": "^15.1.0", | ||
"prettier": "^2.7.1", | ||
"sinon": "^9.2.3", | ||
"typescript": "^4.8.3" | ||
"typescript": "^5.0.4" | ||
}, | ||
@@ -81,3 +81,3 @@ "optionalPeerDependencies": { | ||
}, | ||
"gitHead": "21edffba0b9d147d7a297a3e4a69d68cdca09b82" | ||
"gitHead": "259fb95ccf1d41c3210676266488d0705f9b544e" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
47822
14
197
1
13
178
Updatedmongodb-log-writer@^1.1.5