Socket
Socket
Sign inDemoInstall

egg-bin

Package Overview
Dependencies
Maintainers
5
Versions
178
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

egg-bin

egg developer tool


Version published
Weekly downloads
18K
decreased by-17.24%
Maintainers
5
Weekly downloads
 
Created
Source

egg-bin

NPM version build status Test coverage David deps Known Vulnerabilities npm download

egg developer tool


Install

$ npm i egg-bin --save-dev

Usage

Add egg-bin to package.json scripts:

{
  "devDependencies": {
    "egg-bin": "1"
  },
  "scripts": {
    "dev": "egg-bin dev",
    "debug": "egg-bin debug",
    "test": "egg-bin test",
    "cov": "egg-bin cov",
    "lint": "eslint .",
    "ci": "npm run lint && npm run cov"
  }
}

Command

dev

Start dev cluster on local env, it will start a master, an agent and a worker.

$ egg-bin dev

debug

Debug egg app with Chrome Developer Tools by iron-node.

$ egg-bin debug

test

Using mocha with thunk-mocha to run test.

You can set TESTS env to set the tests directory, it support glob grammar.

TESTS=test/a.test.js egg-bin test

And the reporter can set by the TEST_REPORTER env, default is spec.

TEST_REPORTER=doc egg-bin test

The test timeout can set by TEST_TIMEOUT env, default is 30000 ms.

TEST_TIMEOUT=2000 egg-bin test

cov

Using istanbul to run code coverage, it support all test params above.

Coverage reporter will output text-summary, json and lcov.

excludes

You can set COV_EXCLUDES env to add dir ignore coverage.

$ COV_EXCLUDES="app/plugins/c*,app/autocreate/**" egg-bin cov

Custom egg-bin for your team

You maybe need a custom egg-bin to implement more custom features if your team has develop a framework base on egg.

Now you can implement a Program sub class, and Command sub class to do that. Or you can just override the exists command.

Example: Add nsp for security scan

nsp has provide a useful security scan feature.

This example will show you how to add a new NspCommand and MyProgram to create a new egg-bin tool.

  • Full demo: my-egg-bin
MyProgram
const Program = require('egg-bin').Program;

class MyProgram extends Program {
  constructor() {
    super();
    this.version = require('../package.json').version;

    this.addCommand('nsp', path.join(__dirname, 'NspCommand.js'));
  }
}

module.exports = MyProgram;
NspCommand
const Command = require('egg-bin').Command;

class NspCommand extends Command {
  * run(cwd, args) {
    console.log('run nsp check at %s with %j', cwd, args);
  }

  help() {
    return 'nsp check';
  }
}

module.exports = NspCommand;
my-egg-bin.js
#!/usr/bin/env node

'use strict';

const run = require('egg-bin').run;

run(require('../lib/my_program'));
Run result
$ my-egg-bin nsp

run nsp check at /foo/bar with []

License

MIT

FAQs

Package last updated on 18 Aug 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc