UNPKG

babel-node-debug

Version:
66 lines (61 loc) 2.05 kB
#!/usr/bin/env node // var path = require('path') var util = require('util') var Debugger = require('yadc').Debugger // var nodeDebugDir = path.dirname(require.resolve('node-inspector/bin/node-debug')) // process.argv.splice(2, 0, '--nodejs', babelNodePath) var OriginalDebugServer = require('node-inspector/lib/debug-server').DebugServer function DebugServer() { var debugServer = this OriginalDebugServer.apply(this, arguments) var oldStart = debugServer.start debugServer.start = function start(config) { var returnValue = oldStart.apply(this, arguments) continueToMainFile(debugServer, config) return returnValue } return debugServer } util.inherits(DebugServer, OriginalDebugServer) require('node-inspector/lib/debug-server').DebugServer = DebugServer function continueToMainFile(debugServer, config) { debugServer.on('listening', function() { setTimeout(function() { console.log(config) var debug = new Debugger({ port: config.debugPort, host: '127.0.0.1' }) debug.send({command: 'continue'}, function() { debug.send({ command: 'setBreakpoint', arguments: { type: 'scriptRegExp', target: config.script, line: 1, column: 1 } }, function(err, result) { if (err) return debug.on('event', function listener(event) { if (event.event === 'break') { debug.send({ command: 'clearbreakpoint', arguments: { type: 'scriptRegExp', breakpoint: result.res.body.breakpoint } }) debug.client.end() debug.removeListener('event', listener) debug.removeListener('error', onError) } }) }) }) function onError(errObj) {} debug.on('error', onError) }, 1000) }) } require('node-inspector/bin/inspector')