I had a similar problem with my codebase. I wanted to know the current version of NodeJ that I was going to use to start my server at runtime. To do this, I wrote code that can be run before starting the Server using the npm run start script. Below is the code useful for this question .
'use strict'; const semver = require('semver'); const engines = require('./package').engines; const nodeVersion = engines.node; // Compare installed NodeJs version with required NodeJs version. if (!semver.satisfies(process.version, nodeVersion)) { console.log('NodeJS Version Check: Required node version ${nodeVersion} NOT SATISFIED with current version ${process.version}.'); process.exit(1); } else { console.log('NodeJS Version Check: Required node version ${nodeVersion} SATISFIED with current version ${process.version}.'); }
My package.json looks like this:
{ "name": "echo-server", "version": "1.0.0", "engines": { "node": "8.5.0", "npm": "5.3.0" }, "description": "", "main": "index.js", "scripts": { "check-version" : "node checkVersion.js", "start-server" : "node app.js" "start" : "npm run check-version && npm run start-server", "test": "npm run check-version && echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "bluebird": "^3.5.1", "express": "^4.16.3", "good-guy-http": "^1.10.3", "semver": "^5.5.0" } }
npm run start npm install command before npm run start command to start the project.
S. Mishra Jun 07 '18 at 17:07 2018-06-07 17:07
source share