refactor: convert commonjs files to esm
[e-mobility-charging-stations-simulator.git] / build-requirements.js
diff --git a/build-requirements.js b/build-requirements.js
new file mode 100644 (file)
index 0000000..839be55
--- /dev/null
@@ -0,0 +1,22 @@
+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.
+ */
+export function 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 ${version}.`,
+      ),
+    );
+    // eslint-disable-next-line n/no-process-exit
+    exit(1);
+  }
+}
+
+checkNodeVersion();