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
48 lines
1.0 KiB
JavaScript
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');
|
|
}
|