pax_global_header00006660000000000000000000000064130421353120014504gustar00rootroot0000000000000052 comment=fcb23dd091e08e733a5f5243d9b3d0c3155e4599 node-console-group-0.3.3/000077500000000000000000000000001304213531200152265ustar00rootroot00000000000000node-console-group-0.3.3/.gitignore000066400000000000000000000000341304213531200172130ustar00rootroot00000000000000.DS_Store node_modules dist node-console-group-0.3.3/CHANGELOG.md000066400000000000000000000010001304213531200170260ustar00rootroot00000000000000# node-console-group changelog ## 0.3.3 * Add `console.warn` support ([#3](https://github.com/Rich-Harris/node-console-group/issues/3)) ## 0.3.2 * Include dist files! ## 0.3.1 * Update build process etc ## 0.3.0 * Override `console.error` as well (fix `console.trace` as a corollary) ## 0.2.1 * Consistently use `this._stdout` ## 0.2.0 * `jsnext:main` ## 0.1.2 * Better logging output, partly based on [nodejs/io.js#1727](https://github.com/nodejs/io.js/pull/1727/files) ## 0.1.1 * First release node-console-group-0.3.3/README.md000066400000000000000000000024171304213531200165110ustar00rootroot00000000000000# node-console-group In browsers, `console.group()` is an incredibly useful debugging tool: ```js function foo (input) { console.group('we are debugging', 'foo'); console.log('input value:'); console.log(input); console.group('nested group'); console.log('console.groupception') console.groupEnd(); console.groupEnd(); return input.answer; } foo({answer: 42}); ``` ![console-group-browser](https://cloud.githubusercontent.com/assets/1162160/7666720/72819c7a-fbbd-11e4-928f-a7b65586c077.png) But it doesn't exist in node.js! It was driving me crazy, so I created this package: ![console-group-terminal](https://cloud.githubusercontent.com/assets/1162160/7666721/7284b91e-fbbd-11e4-82a1-47ba4522a285.png) It's a 5 minute job - highly unsophisticated, doesn't even have a test suite, so YMMV. I'm not planning to actively maintain it (though I'll certainly take pull requests). Be warned! If that doesn't put you off, read on for usage instructions. ## Installation and usage Install... ```bash npm install console-group ``` ...and use. This overwrites the `console.log` method, and adds `console.group` and `console.groupEnd`. ```js require( 'console-group' ).install(); // later, if you want to clean up require( 'console-group' ).teardown(); ``` ## License MIT. node-console-group-0.3.3/package.json000066400000000000000000000015321304213531200175150ustar00rootroot00000000000000{ "name": "console-group", "version": "0.3.3", "description": "basic console.group implementation for node", "main": "dist/console-group.cjs.js", "module": "dist/console-group.es.js", "jsnext:main": "dist/console-group.es.js", "scripts": { "test": "node test/test.js", "build": "rollup -c", "pretest": "npm run build", "prepublish": "npm test" }, "files": [ "dist", "README.md" ], "repository": { "type": "git", "url": "https://github.com/rich-harris/node-console-group" }, "keywords": [ "console" ], "author": "Rich Harris", "license": "MIT", "bugs": { "url": "https://github.com/rich-harris/node-console-group/issues" }, "homepage": "https://github.com/rich-harris/node-console-group", "devDependencies": { "rollup": "^0.34.13", "rollup-plugin-buble": "^0.13.0" } } node-console-group-0.3.3/rollup.config.js000066400000000000000000000003601304213531200203440ustar00rootroot00000000000000import buble from 'rollup-plugin-buble'; const pkg = require( './package.json' ); export default { entry: 'src/index.js', plugins: [ buble() ], targets: [ { dest: pkg.module, format: 'es' }, { dest: pkg.main, format: 'cjs' } ] }; node-console-group-0.3.3/src/000077500000000000000000000000001304213531200160155ustar00rootroot00000000000000node-console-group-0.3.3/src/index.js000066400000000000000000000016501304213531200174640ustar00rootroot00000000000000import * as util from 'util'; const originalLog = console.log; const originalWarn = console.warn; const originalError = console.error; let prefix = ''; function format ( args ) { return util.format( ...args ).replace( /^/gm, prefix ); } function consoleLog () { this._stdout.write( format( arguments ) + '\n' ); } function consoleError () { this._stderr.write( format( arguments ) + '\n' ); } function consoleGroup () { prefix += '⎢ '; this._stdout.write( '\u001b[1m' + format( arguments ) + '\u001b[22m\n' ); } function consoleGroupEnd () { prefix = prefix.slice( 0, -2 ); } export function install () { console.log = consoleLog; console.warn = console.error = consoleError; console.group = consoleGroup; console.groupEnd = consoleGroupEnd; } export function teardown () { console.log = originalLog; console.warn = originalWarn; console.error = originalError; delete console.group; delete console.groupEnd; } node-console-group-0.3.3/test/000077500000000000000000000000001304213531200162055ustar00rootroot00000000000000node-console-group-0.3.3/test/test.js000066400000000000000000000006351304213531200175260ustar00rootroot00000000000000require( '../' ).install(); console.group( 'test' ); console.log( 'indented' ); console.error( 'stdout' ); console.warn( 'also stdout' ); console.log( 'another indented line' ); console.group( 'test' ); console.log( 'double indented' ); console.log({ foo: 'bar', bar: 'baz', baz: 'qux', arr: [ 'a', 'b', 'c', 'd', 'e', 'f' ]}); console.trace( 'tracing!' ); console.groupEnd(); console.groupEnd();