UNPKG

eslint-rule-benchmark

Version:

Benchmark ESLint rules with detailed performance metrics for CI and plugin development

28 lines (27 loc) 910 B
import { createRequire } from 'node:module' import fs from 'node:fs/promises' import os from 'node:os' async function collectSystemInfo() { let require2 = createRequire(import.meta.url) let eslintPackagePath = require2.resolve('eslint/package.json') let eslintPackageContent = await fs.readFile(eslintPackagePath, 'utf8') let eslintPackage = JSON.parse(eslintPackageContent) let eslintVersion = eslintPackage.version let totalMemoryBytes = os.totalmem() let totalMemoryGb = Math.round(totalMemoryBytes / (1024 * 1024 * 1024)) let cpus = os.cpus() let [firstCpu] = cpus return { v8Version: process.versions.v8, nodeVersion: process.version, cpuSpeedMHz: firstCpu.speed, cpuModel: firstCpu.model, platform: os.platform(), osRelease: os.release(), cpuCount: cpus.length, arch: os.arch(), totalMemoryGb, eslintVersion, } } export { collectSystemInfo }