项目作者: kitmi

项目描述 :
Command line interface worker process template
高级语言: JavaScript
项目地址: git://github.com/kitmi/cli-worker.git
创建时间: 2018-10-10T03:57:43Z
项目社区:https://github.com/kitmi/cli-worker

开源协议:MIT License

下载


npm version
Build Status
Coverage Status

cli-worker

CLI Worker Process Library

see API Document

example

usage

  1. const CliApp = require('cli-worker');
  2. let cliApp = new CliApp('test');
  3. cliApp.start_().then(() => {
  4. cliApp.log('info', 'started.');
  5. cliApp.showUsage();
  6. let biLogs = cliApp.getService('logger:bi');
  7. biLogs.info({
  8. user: 'tester',
  9. operation: 'ad hoc smoke test'
  10. });
  11. let tracer = cliApp.getService('logger:trace');
  12. tracer.info(cliApp.settings.parser.lib);
  13. return cliApp.stop_();
  14. }).catch(error => {
  15. console.error(error);
  16. process.exit(1);
  17. });

sample app config

  1. {
  2. "version": "1.0",
  3. "cmdLineOptions": {
  4. "banner": "#!jsv: (app) => `This is the program banner v${app.version}`",
  5. "arguments": [
  6. { "name": "target file", "required": true }
  7. ],
  8. "options": {
  9. "e": {
  10. "desc": "Target environment",
  11. "alias": [ "env", "environment" ],
  12. "default": "development"
  13. },
  14. "v": {
  15. "desc": "Show version number",
  16. "alias": [ "version" ],
  17. "isBool": true,
  18. "default": false
  19. },
  20. "?": {
  21. "desc": "Show usage message",
  22. "alias": [ "help" ],
  23. "isBool": true,
  24. "default": false
  25. }
  26. }
  27. },
  28. "bootstrap": {},
  29. "devConfigByGitUser": {},
  30. "settings": {
  31. "parser": {
  32. "lib": "default"
  33. }
  34. },
  35. "loggers": {
  36. "trace": {
  37. "transports": [
  38. {
  39. "type": "console",
  40. "options": {
  41. "level": "info",
  42. "format": "#!jsv: log.format.combine(log.format.colorize(), log.format.simple())"
  43. }
  44. },
  45. {
  46. "type": "daily-rotate-file",
  47. "options": {
  48. "level": "verbose",
  49. "filename": "category2-%DATE%.log",
  50. "datePattern": "YYYYMMDD"
  51. }
  52. }
  53. ]
  54. },
  55. "bi": {
  56. "transports": [
  57. {
  58. "type": "mongodb",
  59. "options": {
  60. "db": "mongodb://root:root@localhost/biLogs?authSource=admin"
  61. }
  62. }
  63. ]
  64. }
  65. }
  66. }

License

MIT