Replace bcrypt with @node-rs/bcrypt

This commit is contained in:
Nick O'Leary 2024-05-31 15:16:32 +01:00
parent 525d7356fe
commit 2ad3af1864
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
6 changed files with 19 additions and 13 deletions

View File

@ -83,7 +83,7 @@
"xml2js": "0.6.2" "xml2js": "0.6.2"
}, },
"optionalDependencies": { "optionalDependencies": {
"bcrypt": "5.1.1" "@node-rs/bcrypt": "1.10.4"
}, },
"devDependencies": { "devDependencies": {
"dompurify": "2.4.1", "dompurify": "2.4.1",

View File

@ -17,7 +17,7 @@
var util = require("util"); var util = require("util");
var clone = require("clone"); var clone = require("clone");
var bcrypt; var bcrypt;
try { bcrypt = require('bcrypt'); } try { bcrypt = require('@node-rs/bcrypt'); }
catch(e) { bcrypt = require('bcryptjs'); } catch(e) { bcrypt = require('bcryptjs'); }
var users = {}; var users = {};
var defaultUser = null; var defaultUser = null;

View File

@ -35,6 +35,6 @@
"ws": "7.5.6" "ws": "7.5.6"
}, },
"optionalDependencies": { "optionalDependencies": {
"bcrypt": "5.1.1" "@node-rs/bcrypt": "1.10.4"
} }
} }

View File

@ -44,7 +44,7 @@
"semver": "7.5.4" "semver": "7.5.4"
}, },
"optionalDependencies": { "optionalDependencies": {
"bcrypt": "5.1.1" "@node-rs/bcrypt": "1.10.4"
}, },
"engines": { "engines": {
"node": ">=18.5" "node": ">=18.5"

View File

@ -38,7 +38,7 @@ var https = require('https');
var util = require("util"); var util = require("util");
var express = require("express"); var express = require("express");
var crypto = require("crypto"); var crypto = require("crypto");
try { bcrypt = require('bcrypt'); } try { bcrypt = require('@node-rs/bcrypt'); }
catch(e) { bcrypt = require('bcryptjs'); } catch(e) { bcrypt = require('bcryptjs'); }
var nopt = require("nopt"); var nopt = require("nopt");
var path = require("path"); var path = require("path");

View File

@ -5,7 +5,6 @@ const fs = require("fs-extra");
const should = require("should"); const should = require("should");
const rootPackage = require(path.join("..","package.json")); const rootPackage = require(path.join("..","package.json"));
const rootDependencies = rootPackage.dependencies;
const packages = [ const packages = [
"node-red", "node-red",
"@node-red/editor-api", "@node-red/editor-api",
@ -18,21 +17,23 @@ const packages = [
const fixFlag = process.argv[2] === '--fix'; const fixFlag = process.argv[2] === '--fix';
function verifyDependencies() { async function verifyDependencies(depType = 'dependencies') {
const rootDependencies = rootPackage[depType];
let failures = []; let failures = [];
let packageUpdates = {}; let packageUpdates = {};
packages.forEach(package => { packages.forEach(package => {
let modulePackage = require(path.join("../packages/node_modules",package,"package.json")); let modulePackage = require(path.join("../packages/node_modules",package,"package.json"));
let dependencies = Object.keys(modulePackage.dependencies||{}); let dependencies = Object.keys(modulePackage[depType]||{});
dependencies.forEach(module => { dependencies.forEach(module => {
try { try {
if (!/^@node-red\//.test(module)) { if (!/^@node-red\//.test(module)) {
should.exist(rootDependencies[module],`[${package}] '${module}' missing from root package.json`); should.exist(rootDependencies[module],`[${package}] '${module}' missing from root package.json ${depType}`);
try { try {
rootDependencies[module].should.eql(modulePackage.dependencies[module],`[${package}] '${module}' version mismatch. Expected '${modulePackage.dependencies[module]}' (got '${rootDependencies[module]}') `); rootDependencies[module].should.eql(modulePackage[depType][module],`[${package}] '${module}' version mismatch. Expected '${modulePackage.dependencies[module]}' (got '${rootDependencies[module]}') in ${depType} `);
} catch(err) { } catch(err) {
if (fixFlag) { if (fixFlag) {
modulePackage.dependencies[module] = rootDependencies[module]; modulePackage[depType][module] = rootDependencies[module];
packageUpdates[package] = modulePackage; packageUpdates[package] = modulePackage;
} else { } else {
failures.push(err.toString()); failures.push(err.toString());
@ -56,12 +57,17 @@ function verifyDependencies() {
process.exit(1); process.exit(1);
}) })
} else { } else {
return Promise.resolve(failures); return failures;
} }
} }
if (require.main === module) { if (require.main === module) {
verifyDependencies().then(failures => { let failures = []
verifyDependencies('dependencies').then(depFailures => {
failures = failures.concat(depFailures)
return verifyDependencies('optionalDependencies')
}).then(optDepFailures => {
failures = failures.concat(optDepFailures)
if (failures.length > 0) { if (failures.length > 0) {
failures.forEach(f => console.log(` - ${f}`)); failures.forEach(f => console.log(` - ${f}`));
console.log("Run with --fix option to fix up versions") console.log("Run with --fix option to fix up versions")