@originvault/ov-id-sdk
Version:
A TypeScript SDK for managing decentralized identities (DIDs) and verifiable credentials (VCs)
24 lines • 1.09 kB
JavaScript
import { execSync } from 'child_process';
import rpj from 'read-package-json-fast';
import crypto from 'crypto';
import os from 'os';
export async function getEnvironmentMetadata(packageJsonPath) {
const packageJson = await rpj(packageJsonPath);
const normalizedPackageJson = await rpj.normalize(packageJson);
const metadata = {
environment: process.env.NODE_ENV || `Node.js ${process.version}`,
packageJson: normalizedPackageJson,
timestamp: new Date().toISOString(),
operatingSystem: `${os.platform()} ${os.release()}`,
hostname: crypto.createHash('sha256').update(os.hostname()).digest('hex'),
ipAddress: crypto.createHash('sha256').update(Object.values(os.networkInterfaces())
.flat()
.find((iface) => iface && iface.family === 'IPv4' && !iface.internal)?.address || '').digest('hex') || '',
};
if (process.env.NODE_ENV === 'development') {
metadata.commitHash = execSync('git rev-parse HEAD').toString().trim();
}
return metadata;
}
;
//# sourceMappingURL=environment.js.map