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.
Build environment checking for node.js.
This allows for autoconf-like functionality for node addons/build scripts.
Note: Obsolete and/or exotic build environments or platforms not supported by node.js are not supported.
npm install buildcheck
'use strict';
const BuildEnvironment = require('buildcheck');
const buildEnv = new BuildEnvironment();
console.log(buildEnv.checkFunction('c', 'preadv2'));
'use strict';
const BuildEnvironment = require('buildcheck');
const buildEnv = new BuildEnvironment();
console.log(buildEnv.checkHeader('c', 'linux/io_uring.h'));
'use strict';
const BuildEnvironment = require('buildcheck');
const buildEnv = new BuildEnvironment();
// Should be a successful compile
console.log(buildEnv.tryCompile('c', 'int main() { return 0; }'));
// Should be a failed compile
console.log(buildEnv.tryCompile('c', 'int main() { return z; }'));
The exported value is BuildEnvironment
, the main class for dealing with a build environment.
(constructor)([< object >config]) - Creates and returns a new BuildEnvironment instance. config
may contain:
compilerC - string - C compiler command to use. Note: this is ignored on Windows. Default: process.env.CC
or 'cc'
compilerCXX - string - C++ compiler command to use. Note: this is ignored on Windows. Default: process.env.CXX
or 'c++'
msvs_version - mixed - A string or number containing the year of the Visual Studio compiler to use. Note: this is for Windows only. Default: newest version installed
checkDeclared(< string >lang, < string >symbolName[, < object >options]) - boolean - Checks if a symbol symbolName
is declared where lang
is either 'c'
or 'c++'
. Returns true
if symbol exists, false
otherwise. options
may contain:
headers - array - A list of headers to try when checking if the symbol is declared. checkFunction()
will always first try without a library. If not supplied, a default list of common (platform-specific) headers will be used.
searchLibs - array - A list of library names (without the '-l'
prefix) to try when checking if the symbol is declared. checkDeclared()
will always first try without a library.
checkFunction(< string >lang, < string >functionName[, < object >options]) - boolean - Checks if a function functionName
exists and is linkable where lang
is either 'c'
or 'c++'
. Returns true
if function exists, false
otherwise. options
may contain:
'-l'
prefix) to try when checking for this function. checkFunction()
will always first try without a library.checkFeature(< string >featureName) - mixed - Executes a special test for a "feature" and returns the result. Supported values for featureName
:
'strerror_r'
- Returns an object containing:
declared
- boolean - Whether strerror_r()
is declared
returnsCharPtr
- boolean - If strerror_r()
is declared, whether it returns char*
(a GNU extension) or not.
checkHeader(< string >lang, < string >headerName) - boolean - Checks if the header headerName
exists and is usable where lang
is either 'c'
or 'c++'
. Returns true
if the header exists and is usable, false
otherwise.
defines([< string >lang[, < boolean >rendered]]) - array - Returns a list of features, functions, headers, and symbols known to be defined by this build environment instance. lang
is either 'c'
or 'c++'
If lang
is not set, defines for both 'c'
and 'c++'
will be returned. If rendered
is true
(defaults to false
), autoconf-style defines (e.g. "HAVE_FOO=1") will be returned instead. Defines coming from features utilize base strings/names from autoconf for better compatibility.
libs([< string >lang]) - array - Returns a list of ('-l'
-prefixed) libraries known to be required for features and functions defined by this build environment instance. lang
is either 'c'
or 'c++'
If lang
is not set, defines for both 'c'
and 'c++'
will be returned.
tryCompile(< string >lang, < string >code[, < array >compilerParams]) - mixed - Attempts to compile code
where lang
is either 'c'
or 'c++'
. compilerParams
is an optional array of compiler/linker flags to include. Returns true
on successful compilation, or an Error instance with an output
property containing the compiler error output.
FAQs
Build environment checking (a la autoconf) for node.js
The npm package buildcheck receives a total of 2,307,719 weekly downloads. As such, buildcheck popularity was classified as popular.
We found that buildcheck demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.