Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
npm-install-checks
Advanced tools
The npm-install-checks package provides utility functions to check the environment and other conditions before proceeding with npm installations. It is primarily used to ensure that the system meets the necessary requirements for a successful package installation, such as node and npm version checks, platform compatibility, and engine requirements.
Check Node Version
This function checks if the current Node.js version meets the specified version requirements. It throws an error if the requirement is not met, allowing developers to handle version incompatibility gracefully.
const { checkNodeVersion } = require('npm-install-checks');
try {
checkNodeVersion('>=10.0.0', process.version);
console.log('Node version is compatible.');
} catch (err) {
console.error('Incompatible Node version:', err);
}
Check Platform
This function verifies if the user's operating system and CPU architecture match the specified criteria. It is useful for ensuring that a package is installed on compatible platforms, preventing runtime errors due to platform incompatibilities.
const { checkPlatform } = require('npm-install-checks');
try {
checkPlatform({ os: ['darwin', 'linux'], cpu: ['x64'] });
console.log('Platform is compatible.');
} catch (err) {
console.error('Incompatible platform:', err);
}
Similar to npm-install-checks, check-node-version allows developers to ensure that the Node.js, npm, and yarn versions meet the project's requirements. Unlike npm-install-checks, which is more focused on pre-install checks, check-node-version can be used more flexibly at various stages of development.
While envinfo does not directly perform checks, it gathers detailed information about the development environment, which can be used to manually or programmatically verify compatibility. It provides a broader range of information compared to npm-install-checks, which is specifically tailored for npm installation conditions.
Check the engines and platform fields in package.json
Both functions will throw an error if the check fails, or return
undefined
if everything is ok.
Errors have a required
and current
fields.
Check if a package's engines.node
and engines.npm
match the running system.
force
argument will override the node version check, but not the npm
version check, as this typically would indicate that the current version of
npm is unable to install the package properly for some reason.
Error code: 'EBADENGINE'
Check if a package's os
, cpu
and libc
match the running system.
force
argument skips all checks.
environment
overrides the execution environment which comes from process.platform
process.arch
and current libc
environment by default. environment.os
environment.cpu
and environment.libc
are available.
Error code: 'EBADPLATFORM'
Check if a package's devEngines
property matches the current system environment.
Returns an array of Error
objects, some of which may be warnings, this can be checked with .isError
and .isWarn
. Errors correspond to an error for a given "engine" failure, reasons for each engine "dependency" failure can be found within .errors
.
FAQs
Check the engines and platform fields in package.json
The npm package npm-install-checks receives a total of 7,267,006 weekly downloads. As such, npm-install-checks popularity was classified as popular.
We found that npm-install-checks demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.