mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-13 17:35:46 +01:00
Fix node --inspect
This commit is contained in:
15
src/meta/debugParams.js
Normal file
15
src/meta/debugParams.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = function () {
|
||||||
|
var debugArg = process.execArgv.find(function (arg) {
|
||||||
|
return /^--(debug|inspect)/.test(arg);
|
||||||
|
});
|
||||||
|
if (global.v8debug || debugArg) {
|
||||||
|
debugArg = debugArg ? debugArg.split('=') : ['--debug', 5859];
|
||||||
|
var num = parseInt(debugArg[1], 10) + 1;
|
||||||
|
|
||||||
|
return { execArgv: [debugArg[0] + '=' + num, '--nolazy'] };
|
||||||
|
}
|
||||||
|
|
||||||
|
return { execArgv: [] };
|
||||||
|
};
|
||||||
@@ -11,31 +11,10 @@ var postcss = require('postcss');
|
|||||||
var autoprefixer = require('autoprefixer');
|
var autoprefixer = require('autoprefixer');
|
||||||
var clean = require('postcss-clean');
|
var clean = require('postcss-clean');
|
||||||
|
|
||||||
|
var debugParams = require('./debugParams');
|
||||||
|
|
||||||
var Minifier = module.exports;
|
var Minifier = module.exports;
|
||||||
|
|
||||||
function setupDebugging() {
|
|
||||||
/**
|
|
||||||
* Check if the parent process is running with the debug option --debug (or --debug-brk)
|
|
||||||
*/
|
|
||||||
var forkProcessParams = {};
|
|
||||||
if (global.v8debug || parseInt(process.execArgv.indexOf('--debug'), 10) !== -1) {
|
|
||||||
/**
|
|
||||||
* use the line below if you want to debug minifier.js script too (or even --debug-brk option, but
|
|
||||||
* you'll have to setup your debugger and connect to the forked process)
|
|
||||||
*/
|
|
||||||
// forkProcessParams = { execArgv: ['--debug=' + (global.process.debugPort + 1), '--nolazy'] };
|
|
||||||
|
|
||||||
/**
|
|
||||||
* otherwise, just clean up --debug/--debug-brk options which are set up by default from the parent one
|
|
||||||
*/
|
|
||||||
forkProcessParams = {
|
|
||||||
execArgv: [],
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return forkProcessParams;
|
|
||||||
}
|
|
||||||
|
|
||||||
var pool = [];
|
var pool = [];
|
||||||
var free = [];
|
var free = [];
|
||||||
|
|
||||||
@@ -68,7 +47,7 @@ function getChild() {
|
|||||||
return free.shift();
|
return free.shift();
|
||||||
}
|
}
|
||||||
|
|
||||||
var forkProcessParams = setupDebugging();
|
var forkProcessParams = debugParams();
|
||||||
var proc = childProcess.fork(__filename, [], Object.assign({}, forkProcessParams, {
|
var proc = childProcess.fork(__filename, [], Object.assign({}, forkProcessParams, {
|
||||||
cwd: __dirname,
|
cwd: __dirname,
|
||||||
env: {
|
env: {
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
|
||||||
var fork = require('child_process').fork;
|
var fork = require('child_process').fork;
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
|
||||||
|
var debugParams = require('./meta/debugParams');
|
||||||
|
|
||||||
exports.hash = function (rounds, password, callback) {
|
exports.hash = function (rounds, password, callback) {
|
||||||
forkChild({ type: 'hash', rounds: rounds, password: password }, callback);
|
forkChild({ type: 'hash', rounds: rounds, password: password }, callback);
|
||||||
};
|
};
|
||||||
@@ -16,11 +17,7 @@ exports.compare = function (password, hash, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function forkChild(message, callback) {
|
function forkChild(message, callback) {
|
||||||
var forkProcessParams = {};
|
var child = fork(path.join(__dirname, 'bcrypt'), [], debugParams());
|
||||||
if (global.v8debug || parseInt(process.execArgv.indexOf('--debug'), 10) !== -1) {
|
|
||||||
forkProcessParams = { execArgv: ['--debug=' + (5859), '--nolazy'] };
|
|
||||||
}
|
|
||||||
var child = fork(path.join(__dirname, 'bcrypt'), [], forkProcessParams);
|
|
||||||
|
|
||||||
child.on('message', function (msg) {
|
child.on('message', function (msg) {
|
||||||
if (msg.err) {
|
if (msg.err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user