UNPKG

@originvault/ov-id-sdk

Version:

A TypeScript SDK for managing decentralized identities (DIDs) and verifiable credentials (VCs)

24 lines 1.09 kB
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