# inspector-proxy
|
|
node inspector proxy
|
|
[![NPM version][npm-image]][npm-url]
|
[![Build Status][travis-image]][travis-url]
|
[![Appveyor status][appveyor-image]][appveyor-url]
|
[![Coverage Status][coveralls-image]][coveralls-url]
|
|
[npm-image]: https://img.shields.io/npm/v/inspector-proxy.svg?style=flat-square
|
[npm-url]: https://npmjs.org/package/inspector-proxy
|
[travis-url]: https://travis-ci.org/whxaxes/inspector-proxy
|
[travis-image]: http://img.shields.io/travis/whxaxes/inspector-proxy.svg
|
[appveyor-url]: https://ci.appveyor.com/project/whxaxes/inspector-proxy/branch/master
|
[appveyor-image]: https://ci.appveyor.com/api/projects/status/github/whxaxes/inspector-proxy?branch=master&svg=true
|
[coveralls-url]: https://coveralls.io/r/whxaxes/inspector-proxy
|
[coveralls-image]: https://img.shields.io/coveralls/whxaxes/inspector-proxy.svg
|
|
## Usage
|
|
```bash
|
$ npm i inspector-proxy -g
|
```
|
|
CLI
|
|
```bash
|
# base usage
|
$ inspector-proxy ./test.js
|
|
# appoint port
|
$ inspector-proxy --proxy=9228 --debug=9888 ./test.js
|
```
|
|
```bash
|
# exec by node
|
$ node --inspect ./test.js
|
|
# start a inspect proxy in other terminal
|
$ inspector-proxy --proxy=9228
|
```
|
|
Using in code
|
|
```js
|
const InspectorProxy = require('inspector-proxy');
|
const cfork = require('cfork');
|
const proxy = new InspectorProxy({ port: 9229 });
|
|
// use cfork to inspect file
|
cfork({
|
exec: './test.js',
|
execArgv: [ '--inspect' ],
|
count: 1,
|
refork: true,
|
}).on('fork', worker => {
|
let port;
|
// match debug port from argv
|
worker.process.spawnargs
|
.some(arg => {
|
let matches;
|
// node-6: --inspect=9888
|
// node-8: --inspect-port=9888
|
if (arg.startsWith('--inspect') && (matches = arg.match(/\d+/))) {
|
port = matches[0];
|
return true;
|
}
|
return false;
|
});
|
|
proxy.start({ debugPort: port })
|
.then(() => {
|
console.log(`\nproxy url: ${proxy.url}\n`);
|
});
|
});
|
```
|
|
## Log Explanation
|
|
```bash
|
# inspector server opened
|
9229 opened
|
|
# inspector server closed
|
9229 closed
|
|
# inspector has been attached
|
Debugger attached
|
```
|
|
## Debug log
|
|
```bash
|
$ DEBUG=*-proxy inspector-proxy ./test.js
|
```
|
|
## License
|
|
MIT
|
|
---
|
|

|