@o3r/schematics
Version:
Schematics module of the Otter framework
51 lines • 2.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnvironmentInfoStringify = exports.getEnvironmentInfo = void 0;
const fs = require("node:fs");
const os = require("node:os");
const semver = require("semver");
const package_manager_runner_1 = require("./package-manager-runner");
/**
* Get all environment information
* Could be useful for debugging issue
*/
const getEnvironmentInfo = () => {
const nodeVersion = semver.parse(process.version);
const osInfo = {
architecture: os.arch(),
platform: os.platform(),
version: os.release()
};
const nodeInfo = {
version: nodeVersion && `${nodeVersion.major}.${nodeVersion.minor}.${nodeVersion.patch}`
};
const packageManagerInfo = (0, package_manager_runner_1.getPackageManagerInfo)();
let otterCorePackageJsonPath;
try {
otterCorePackageJsonPath = require.resolve('@o3r/core/package.json');
}
catch { }
const otterInfo = {
version: otterCorePackageJsonPath ? JSON.parse(fs.readFileSync(otterCorePackageJsonPath, { encoding: 'utf8' })).version : undefined
};
return { os: osInfo, node: nodeInfo, packageManager: packageManagerInfo, otter: otterInfo };
};
exports.getEnvironmentInfo = getEnvironmentInfo;
/**
* Stringify the result of `getEnvironmentInfo`
* @see getEnvironmentInfo
*/
const getEnvironmentInfoStringify = () => {
const { os: osInfo, node: nodeInfo, packageManager: packageManagerInfo, otter: otterInfo } = (0, exports.getEnvironmentInfo)();
return `
- User Agent Architecture: ${osInfo.architecture}
- User Agent Platform: ${osInfo.platform}
- User Agent Version: ${osInfo.version}
- Node Version: ${nodeInfo.version || 'undefined'}
- Package Manager Name: ${packageManagerInfo.name}
- Package Manager Version: ${packageManagerInfo.version || 'undefined'}
- Otter Version: ${otterInfo.version || 'undefined'}
`;
};
exports.getEnvironmentInfoStringify = getEnvironmentInfoStringify;
//# sourceMappingURL=environment.js.map