12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env node
- var DebugServer = require('../lib/debug-server').DebugServer,
- fs = require('fs'),
- path = require('path'),
- config = require('../lib/config'),
- packageJson = require('../package.json'),
- notifyParentProcess = getNotifyParentProcessFn();
- if (config.help || config.h) {
- console.log('Usage:');
- console.log(' node-inspector [options]');
- console.log('\nOptions:');
- console.log(config._describeOptions());
- console.log();
- process.exit();
- }
- if (config.version || config.v) {
- console.log('v' + require('../package.json').version);
- process.exit();
- }
- console.log('Node Inspector v%s', packageJson.version);
- var debugServer = new DebugServer();
- debugServer.on('error', onError);
- debugServer.on('listening', onListening);
- debugServer.on('close', function () {
- process.exit();
- });
- debugServer.start(config);
- function onError(err) {
- console.error(
- 'Cannot start the server at %s:%s. Error: %s.',
- config.webHost || '0.0.0.0',
- config.webPort,
- err.message || err
- );
- if (err.code === 'EADDRINUSE') {
- console.error(
- 'There is another process already listening at this address.\n' +
- 'Run `node-inspector --web-port={port}` to use a different port.'
- );
- }
- notifyParentProcess({
- event: 'SERVER.ERROR',
- error: err
- });
- }
- function onListening() {
- var address = this.address();
- console.log('Visit %s to start debugging.', address.url);
- notifyParentProcess({
- event: 'SERVER.LISTENING',
- address: address
- });
- }
- function getNotifyParentProcessFn() {
- if (!process.send) {
- return function(msg) {};
- }
- return function(msg) {
- process.send(msg);
- };
- }
|