Files
flipper/src/utils/info.js
Pascal Hartig d81a037962 Convert some CommonJS constructs to ES6
Summary:
Tried to automate this with [cjs-to-es6](https://github.com/nolanlawson/cjs-to-es6) but it only
works on vanilla JS files without any special Flow syntax. I converted some places
manually but we can just do the rest as we modify the files.

Reviewed By: jknoxville

Differential Revision: D16340187

fbshipit-source-id: b55c7ce2d719876e47e85f5f3fce13b8c8ae4010
2019-07-18 12:56:08 -07:00

48 lines
1.0 KiB
JavaScript

/**
* Copyright 2018-present Facebook.
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
* @format
*/
import os from 'os';
export type Info = {
arch: string,
platform: string,
unixname: string,
versions: {
[key: string]: ?string,
},
};
/**
* This method builds up some metadata about the users environment that we send
* on bug reports, analytic events, errors etc.
*/
export function getInfo(): Info {
return {
arch: process.arch,
platform: process.platform,
unixname: os.userInfo().username,
versions: {
electron: process.versions['atom-shell'],
node: process.versions.node,
},
};
}
export function stringifyInfo(info: Info): string {
const lines = [
`Platform: ${info.platform} ${info.arch}`,
`Unixname: ${info.unixname}`,
`Versions:`,
];
for (const key in info.versions) {
lines.push(` ${key}: ${String(info.versions[key])}`);
}
return lines.join('\n');
}