balena-cli/build/events.js
2017-03-22 12:46:06 +03:00

40 lines
1.1 KiB
JavaScript

// Generated by CoffeeScript 1.12.4
var Mixpanel, Promise, _, capitanoState, packageJSON, resin;
_ = require('lodash');
Mixpanel = require('mixpanel');
Promise = require('bluebird');
resin = require('resin-sdk-preconfigured');
capitanoState = Promise.promisifyAll(require('capitano').state);
packageJSON = require('../package.json');
exports.getLoggerInstance = _.memoize(function() {
return resin.models.config.getMixpanelToken().then(Mixpanel.init);
});
exports.trackCommand = function(capitanoCommand) {
return Promise.props({
resinUrl: resin.settings.get('resinUrl'),
username: resin.auth.whoami(),
mixpanel: exports.getLoggerInstance()
}).then(function(data) {
return capitanoState.getMatchCommandAsync(capitanoCommand.command).then(function(command) {
return data.mixpanel.track("[CLI] " + (command.signature.toString()), {
distinct_id: data.username,
argv: process.argv.join(' '),
version: packageJSON.version,
node: process.version,
arch: process.arch,
resinUrl: data.resinUrl,
platform: process.platform,
command: capitanoCommand
});
});
});
};