Add Linux distribution version to debug logs

This commit is contained in:
ayumi-signal 2023-09-05 18:03:30 -07:00 committed by GitHub
parent 507986db92
commit 08e2716e6e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 4 deletions

View file

@ -2,6 +2,7 @@
// SPDX-License-Identifier: AGPL-3.0-only
import semver from 'semver';
import { readFileSync } from 'fs-extra';
function createIsPlatform(
platform: typeof process.platform,
@ -26,6 +27,7 @@ export type OSType = {
isLinux: (minVersion?: string) => boolean;
isMacOS: (minVersion?: string) => boolean;
isWindows: (minVersion?: string) => boolean;
getLinuxName: () => string | undefined;
};
export function getOSFunctions(osRelease: string): OSType {
@ -57,6 +59,20 @@ export function getOSFunctions(osRelease: string): OSType {
return 'os-linux';
};
const getLinuxName = (): string | undefined => {
if (!isLinux()) {
return undefined;
}
const etcOsRelease = readFileSync('/etc/os-release', 'utf-8');
const match = etcOsRelease.match(/^PRETTY_NAME=(.+?)$/m);
if (!match) {
return undefined;
}
return match[1];
};
return {
getClassName,
getName,
@ -64,5 +80,6 @@ export function getOSFunctions(osRelease: string): OSType {
isLinux,
isMacOS,
isWindows,
getLinuxName,
};
}