// Generated by CoffeeScript 1.12.5 var Mixpanel, Promise, _, packageJSON, resin; _ = require('lodash'); Mixpanel = require('mixpanel'); Promise = require('bluebird'); resin = require('resin-sdk-preconfigured'); packageJSON = require('../package.json'); exports.getLoggerInstance = _.memoize(function() { return resin.models.config.getMixpanelToken().then(Mixpanel.init); }); exports.trackCommand = function(capitanoCommand) { var capitanoStateGetMatchCommandAsync; capitanoStateGetMatchCommandAsync = Promise.promisify(require('capitano').state.getMatchCommand); return Promise.props({ resinUrl: resin.settings.get('resinUrl'), username: resin.auth.whoami(), mixpanel: exports.getLoggerInstance() }).then(function(data) { return capitanoStateGetMatchCommandAsync(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 }); }); }); };