Commit | Line | Data |
---|---|---|
653b69b4 JB |
1 | import chalk from 'chalk'; |
2 | import semVer from 'semver'; | |
3 | import packageJson from './package.json' assert { type: 'json' }; | |
10687422 | 4 | import { version, exit } from 'node:process'; |
1f7fa4de | 5 | |
67623aa6 | 6 | /** |
fc040c43 | 7 | * Check if the current node version match the required engines version. |
67623aa6 | 8 | */ |
1cee0015 | 9 | export const checkNodeVersion = () => { |
21ece8a1 | 10 | const enginesNodeVersion = packageJson.engines.node; |
10687422 | 11 | if (semVer.satisfies(version, enginesNodeVersion) === false) { |
67623aa6 JB |
12 | console.error( |
13 | chalk.red( | |
10687422 | 14 | `Required node version ${enginesNodeVersion} not satisfied with current version ${version}.`, |
5edd8ba0 | 15 | ), |
67623aa6 | 16 | ); |
ef85c95a | 17 | // eslint-disable-next-line n/no-process-exit |
10687422 | 18 | exit(1); |
67623aa6 | 19 | } |
1cee0015 | 20 | }; |
67623aa6 JB |
21 | |
22 | checkNodeVersion(); |