-const chalk = require('chalk');
-// eslint-disable-next-line node/no-unpublished-require
-const SemVer = require('semver');
-
-const enginesNodeVersion = require('./package.json').engines.node;
+import chalk from 'chalk';
+import semVer from 'semver';
+import packageJson from './package.json' assert { type: 'json' };
+import { version, exit } from 'node:process';
/**
- *
+ * Check if the current node version match the required engines version.
*/
-function checkNodeVersion() {
- if (SemVer.satisfies(process.version, enginesNodeVersion) === false) {
+export const checkNodeVersion = () => {
+ const enginesNodeVersion = packageJson.engines.node;
+ if (semVer.satisfies(version, enginesNodeVersion) === false) {
console.error(
chalk.red(
- `Required node version ${enginesNodeVersion} not satisfied with current version ${process.version}.`
- )
+ `Required node version ${enginesNodeVersion} not satisfied with current version ${version}.`,
+ ),
);
- // eslint-disable-next-line no-process-exit
- process.exit(1);
+ // eslint-disable-next-line n/no-process-exit
+ exit(1);
}
-}
+};
checkNodeVersion();
-
-module.exports = { checkNodeVersion };