Comparing version 2.5.15 to 2.5.16
@@ -7,11 +7,12 @@ # Changelog | ||
#### Koffi 2.5.15 (2023-08-24) | ||
#### Koffi 2.5.16 (2023-08-25) | ||
- Run Koffi tests through usual index.js entry point | ||
#### Koffi 2.5.14 (2023-08-23) | ||
- Fix DLL error when using Koffi from NW.js on Windows | ||
- Simplify NW.js Koffi example | ||
```{warning} | ||
Pre-built binaries don't work correctly in Koffi 2.5.13 to 2.5.15, skip those versions. | ||
``` | ||
#### Koffi 2.5.12 (2023-08-21) | ||
@@ -18,0 +19,0 @@ |
{ | ||
"name": "koffi", | ||
"version": "2.5.15", | ||
"stable": "2.5.15", | ||
"version": "2.5.16", | ||
"stable": "2.5.16", | ||
"description": "Fast and simple C FFI (foreign function interface) for Node.js", | ||
@@ -28,3 +28,3 @@ "keywords": [ | ||
"scripts": { | ||
"install": "node src/cnoke/cnoke.js --prebuild -d src/koffi" | ||
"install": "node src/cnoke/cnoke.js -p . -d src/koffi --prebuild" | ||
}, | ||
@@ -31,0 +31,0 @@ "license": "MIT", |
@@ -80,6 +80,11 @@ #!/usr/bin/env node | ||
config.project_dir = fs.realpathSync(value); | ||
} else if (arg == '-o' || arg == '--output') { | ||
} else if (arg == '-p' || arg == '--package') { | ||
if (value == null) | ||
throw new Error(`Missing value for ${arg}`); | ||
config.package_dir = fs.realpathSync(value); | ||
} else if (arg == '-O' || arg == '--out') { | ||
if (value == null) | ||
throw new Error(`Missing value for ${arg}`); | ||
config.output_directory = value; | ||
@@ -157,5 +162,8 @@ } else if ((command == 'build' || command == 'configure') && (arg == '-v' || arg == '--runtime-version')) { | ||
Options: | ||
-d, --directory <DIR> Change project directory | ||
-d, --directory <DIR> Change source directory | ||
(default: current working directory) | ||
-O, --output <DIR> Change explicit output directory | ||
-p, --package <DIR> Change package directory | ||
(default: current working directory) | ||
-O, --out <DIR> Set explicit output directory | ||
(default: ./build) | ||
@@ -162,0 +170,0 @@ |
{ | ||
"name": "cnoke", | ||
"version": "3.3.2", | ||
"version": "4.0.1", | ||
"description": "Build native Node addons based on CMake, without extra dependency", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -39,2 +39,3 @@ // Copyright 2023 Niels Martignène <niels.martignene@protonmail.com> | ||
let project_dir = config.project_dir; | ||
let package_dir = config.package_dir; | ||
@@ -47,2 +48,5 @@ if (app_dir == null) | ||
project_dir = project_dir.replace(/\\/g, '/'); | ||
if (package_dir == null) | ||
package_dir = project_dir; | ||
package_dir = package_dir.replace(/\\/g, '/'); | ||
@@ -73,6 +77,6 @@ let runtime_version = config.runtime_version; | ||
if (pkg.cnoke.output != null) { | ||
build_dir = pkg.cnoke.output; | ||
build_dir = expand_path(pkg.cnoke.output); | ||
if (!tools.path_is_absolute(build_dir)) | ||
build_dir = project_dir + '/' + build_dir; | ||
build_dir = package_dir + '/' + build_dir; | ||
} else { | ||
@@ -82,3 +86,2 @@ build_dir = project_dir + '/build'; | ||
} | ||
build_dir = expand_path(build_dir); | ||
work_dir = build_dir + `/v${runtime_version}_${arch}`; | ||
@@ -292,3 +295,3 @@ | ||
if (!tools.path_is_absolute(archive_filename)) | ||
archive_filename = path.join(project_dir, archive_filename); | ||
archive_filename = path.join(package_dir, archive_filename); | ||
@@ -310,3 +313,3 @@ if (!fs.existsSync(archive_filename)) | ||
if (!tools.path_is_absolute(require_filename)) | ||
require_filename = path.join(project_dir, require_filename); | ||
require_filename = path.join(package_dir, require_filename); | ||
@@ -329,2 +332,17 @@ if (fs.existsSync(require_filename)) { | ||
function find_parent_directory(dirname, basename) | ||
{ | ||
if (process.platform == 'win32') | ||
dirname = dirname.replace(/\\/g, '/'); | ||
do { | ||
if (fs.existsSync(dirname + '/' + basename)) | ||
return dirname; | ||
dirname = path.dirname(dirname); | ||
} while (!dirname.endsWith('/')); | ||
return null; | ||
} | ||
function get_cache_directory() { | ||
@@ -414,8 +432,10 @@ if (process.platform == 'win32') { | ||
try { | ||
let json = fs.readFileSync(project_dir + '/package.json', { encoding: 'utf-8' }); | ||
pkg = JSON.parse(json); | ||
} catch (err) { | ||
if (err.code != 'ENOENT') | ||
throw err; | ||
if (package_dir != null) { | ||
try { | ||
let json = fs.readFileSync(package_dir + '/package.json', { encoding: 'utf-8' }); | ||
pkg = JSON.parse(json); | ||
} catch (err) { | ||
if (err.code != 'ENOENT') | ||
throw err; | ||
} | ||
} | ||
@@ -422,0 +442,0 @@ |
@@ -381,4 +381,4 @@ "use strict"; | ||
name: "koffi", | ||
version: "2.5.15", | ||
stable: "2.5.15", | ||
version: "2.5.16", | ||
stable: "2.5.16", | ||
description: "Fast and simple C FFI (foreign function interface) for Node.js", | ||
@@ -385,0 +385,0 @@ keywords: [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Install scripts
Supply chain riskInstall scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
Install scripts
Supply chain riskInstall scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
7846
68016930
404