eslint-rule-benchmark
Version:
Benchmark ESLint rules with detailed performance metrics for CI and plugin development
28 lines (27 loc) • 910 B
JavaScript
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 }