Example #1
0
module.exports = function (platform, release) {
	if (!platform && release) {
		throw new Error('You can\'t specify a `release` without specfying `platform`');
	}

	platform = platform || os.platform();
	release = release || os.release();

	var id;

	if (platform === 'darwin') {
		id = osxRelease(release).name;
		return 'OS X' + (id ? ' ' + id : '');
	}

	if (platform === 'linux') {
		id = release.replace(/^(\d+\.\d+).*/, '$1');
		return 'Linux' + (id ? ' ' + id : '');
	}

	if (platform === 'win32') {
		id = winRelease(release);
		return 'Windows' + (id ? ' ' + id : '');
	}

	return platform;
};
Example #2
0
  track(name, data) {
    if (!name) {
      return;
    }

    const payload = data || {};

    if (window.localStorage.getItem('metrics.enabled') !== 'true') {
      return;
    }

    let id = window.localStorage.getItem('metrics.id');
    if (!id) {
      id = uuid.v4();
      window.localStorage.setItem('metrics.id', id);
    }

    const osName = os.platform();
    const osVersion = util.isWindows() ? os.release() : osxRelease(os.release()).version;

    mixpanel.track(name, assign({
      distinct_id: id,
      version: util.packagejson().version,
      'Operating System': osName,
      'Operating System Version': osVersion,
      'Operating System Architecture': os.arch()
    }, payload));
  },

};