diff --git a/package.json b/package.json index 809d702a22..55136ddd3e 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "app-package": "npm run package --prefix packages/insomnia-app", "app-release": "npm run release --prefix packages/insomnia-app", "storybook-start": "npm run storybook --prefix packages/insomnia-components", - "storybook-legacy-start": "npm run storybook --prefix packages/insomnia-app" + "storybook-legacy-start": "npm run storybook --prefix packages/insomnia-app", + "preinstall": "node ./scripts/check-version.js" }, "lint-staged": { "{packages,plugins}/**/*.{js,json}": [ diff --git a/scripts/check-version.js b/scripts/check-version.js new file mode 100644 index 0000000000..e8fb0a41d5 --- /dev/null +++ b/scripts/check-version.js @@ -0,0 +1,17 @@ +const fs = require('fs'); + +const foundNodeVersion = process.versions.node; +const expectedNodeVersion = fs + .readFileSync('.nvmrc') + .toString() + .trim(); + +if (foundNodeVersion !== expectedNodeVersion) { + console.log(`Current node version: ${foundNodeVersion}`); + console.log(`Expected node version: ${expectedNodeVersion}`); + console.log( + `Remember to 'npm run clean && npm run bootstrap' after installing the expected version.`, + ); + console.log(); + process.exit(1); +}