diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..e578e78 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [["env", {"targets": {"node": "4.0"}}]] +} diff --git a/distributions/cli.js b/distributions/cli.js index d1109df..5a5a699 100755 --- a/distributions/cli.js +++ b/distributions/cli.js @@ -1,13 +1,13 @@ #!/usr/bin/env node 'use strict'; -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _index = require('./index'); var _index2 = _interopRequireDefault(_index); -var reporter = (0, _index2['default'])(); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var reporter = (0, _index2.default)(); process.stdin.pipe(reporter).pipe(process.stdout); diff --git a/distributions/index.js b/distributions/index.js index f01ff59..c13ba63 100644 --- a/distributions/index.js +++ b/distributions/index.js @@ -1,11 +1,9 @@ 'use strict'; -Object.defineProperty(exports, '__esModule', { +Object.defineProperty(exports, "__esModule", { value: true }); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _diff = require('diff'); var _chalk = require('chalk'); @@ -20,9 +18,9 @@ var _figures = require('figures'); var _figures2 = _interopRequireDefault(_figures); -var _through2 = require('through2'); +var _through = require('through2'); -var _through22 = _interopRequireDefault(_through2); +var _through2 = _interopRequireDefault(_through); var _tapParser = require('tap-parser'); @@ -36,19 +34,21 @@ var _jsondiffpatch = require('jsondiffpatch'); var _jsondiffpatch2 = _interopRequireDefault(_jsondiffpatch); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + var INDENT = ' '; -var FIG_TICK = _figures2['default'].tick; -var FIG_CROSS = _figures2['default'].cross; +var FIG_TICK = _figures2.default.tick; +var FIG_CROSS = _figures2.default.cross; var createReporter = function createReporter() { - var output = (0, _through22['default'])(); - var p = (0, _tapParser2['default'])(); - var stream = (0, _duplexer2['default'])(p, output); + var output = (0, _through2.default)(); + var p = new _tapParser2.default(); + var stream = (0, _duplexer2.default)(p, output); var startedAt = Date.now(); var println = function println() { - var input = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; - var indentLevel = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1]; + var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var indentLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var indent = ''; @@ -57,20 +57,20 @@ var createReporter = function createReporter() { } input.split('\n').forEach(function (line) { - output.push('' + indent + line); + output.push(`${indent}${line}`); output.push('\n'); }); }; var handleTest = function handleTest(name) { println(); - println(_chalk2['default'].blue(name), 1); + println(_chalk2.default.blue(name), 1); }; var handleAssertSuccess = function handleAssertSuccess(assert) { var name = assert.name; - println(_chalk2['default'].green(FIG_TICK) + ' ' + _chalk2['default'].dim(name), 2); + println(`${_chalk2.default.green(FIG_TICK)} ${_chalk2.default.dim(name)}`, 2); }; var toString = function toString(arg) { @@ -93,14 +93,14 @@ var createReporter = function createReporter() { var name = assert.name; var writeDiff = function writeDiff(_ref) { - var value = _ref.value; - var added = _ref.added; - var removed = _ref.removed; + var value = _ref.value, + added = _ref.added, + removed = _ref.removed; - var style = _chalk2['default'].white; + var style = _chalk2.default.white; - if (added) style = _chalk2['default'].green.inverse; - if (removed) style = _chalk2['default'].red.inverse; + if (added) style = _chalk2.default.green.inverse; + if (removed) style = _chalk2.default.red.inverse; // only highlight values and not spaces before return value.replace(/(^\s*)(.*)/g, function (m, one, two) { @@ -108,10 +108,11 @@ var createReporter = function createReporter() { }); }; - var _assert$diag = assert.diag; - var at = _assert$diag.at; - var actual = _assert$diag.actual; - var expected = _assert$diag.expected; + var _assert$diag = assert.diag, + at = _assert$diag.at, + actual = _assert$diag.actual, + expected = _assert$diag.expected; + var expected_type = toString(expected); @@ -125,8 +126,8 @@ var createReporter = function createReporter() { } } catch (e) { try { - actual = JSON.stringify(eval('(' + actual + ')'), null, 2); - expected = JSON.stringify(eval('(' + expected + ')'), null, 2); + actual = JSON.stringify(eval(`(${actual})`), null, 2); + expected = JSON.stringify(eval(`(${expected})`), null, 2); } catch (e) { // do nothing because it wasn't a valid json object } @@ -135,11 +136,11 @@ var createReporter = function createReporter() { expected_type = toString(expected); } - println(_chalk2['default'].red(FIG_CROSS) + ' ' + _chalk2['default'].red(name) + ' at ' + _chalk2['default'].magenta(at), 2); + println(`${_chalk2.default.red(FIG_CROSS)} ${_chalk2.default.red(name)} at ${_chalk2.default.magenta(at)}`, 2); if (expected_type === 'object') { - var delta = _jsondiffpatch2['default'].diff(actual[failed_test_number], expected[failed_test_number]); - var _output = _jsondiffpatch2['default'].formatters.console.format(delta); + var delta = _jsondiffpatch2.default.diff(actual[failed_test_number], expected[failed_test_number]); + var _output = _jsondiffpatch2.default.formatters.console.format(delta); println(_output, 4); } else if (expected_type === 'array') { var compared = (0, _diff.diffJson)(actual, expected).map(writeDiff).join(''); @@ -148,11 +149,11 @@ var createReporter = function createReporter() { } else if (expected === 'undefined' && actual === 'undefined') { ; } else if (expected_type === 'string') { - var compared = (0, _diff.diffWords)(actual, expected).map(writeDiff).join(''); + var _compared = (0, _diff.diffWords)(actual, expected).map(writeDiff).join(''); - println(compared, 4); + println(_compared, 4); } else { - println(_chalk2['default'].red.inverse(actual) + _chalk2['default'].green.inverse(expected), 4); + println(_chalk2.default.red.inverse(actual) + _chalk2.default.green.inverse(expected), 4); } }; @@ -160,13 +161,13 @@ var createReporter = function createReporter() { var finishedAt = Date.now(); println(); - println(_chalk2['default'].green('passed: ' + result.pass + ' ') + _chalk2['default'].red('failed: ' + (result.fail || 0) + ' ') + _chalk2['default'].white('of ' + result.count + ' tests ') + _chalk2['default'].dim('(' + (0, _prettyMs2['default'])(finishedAt - startedAt) + ')')); + println(_chalk2.default.green(`passed: ${result.pass} `) + _chalk2.default.red(`failed: ${result.fail || 0} `) + _chalk2.default.white(`of ${result.count} tests `) + _chalk2.default.dim(`(${(0, _prettyMs2.default)(finishedAt - startedAt)})`)); println(); if (result.ok) { - println(_chalk2['default'].green('All of ' + result.count + ' tests passed!')); + println(_chalk2.default.green(`All of ${result.count} tests passed!`)); } else { - println(_chalk2['default'].red((result.fail || 0) + ' of ' + result.count + ' tests failed.')); + println(_chalk2.default.red(`${result.fail || 0} of ${result.count} tests failed.`)); stream.isFailed = true; } @@ -197,11 +198,10 @@ var createReporter = function createReporter() { }); p.on('extra', function (extra) { - println(_chalk2['default'].yellow(('' + extra).replace(/\n$/, '')), 4); + println(_chalk2.default.yellow(`${extra}`.replace(/\n$/, '')), 4); }); return stream; }; -exports['default'] = createReporter; -module.exports = exports['default']; \ No newline at end of file +exports.default = createReporter; \ No newline at end of file diff --git a/package.json b/package.json index 4396ecf..c155a9c 100644 --- a/package.json +++ b/package.json @@ -13,17 +13,21 @@ "author": "axross (http://axross.me/)", "license": "MIT", "dependencies": { - "chalk": "^1.1.1", - "diff": "^2.2.1", + "chalk": "^2.3.2", + "diff": "^3.5.0", "duplexer": "^0.1.1", - "figures": "^1.4.0", - "jsondiffpatch": "^0.1.41", - "pretty-ms": "^2.1.0", - "tap-parser": "^1.2.2", + "figures": "^2.0.0", + "jsondiffpatch": "^0.3.8", + "pretty-ms": "^3.1.0", + "tap-parser": "^7.0.0", "through2": "^2.0.0" }, "devDependencies": { - "babel": "^5.8.34" + "babel-cli": "^6.26.0", + "babel-preset-env": "^1.6.1" + }, + "engines": { + "node": ">=4" }, "repository": { "type": "git", diff --git a/sources/index.js b/sources/index.js index 6cf5c0c..ea79126 100644 --- a/sources/index.js +++ b/sources/index.js @@ -3,7 +3,7 @@ import chalk from 'chalk'; import duplexer from 'duplexer'; import figures from 'figures'; import through2 from 'through2'; -import parser from 'tap-parser'; +import Parser from 'tap-parser'; import prettyMs from 'pretty-ms'; import jsondiffpatch from 'jsondiffpatch'; @@ -13,7 +13,7 @@ const FIG_CROSS = figures.cross; const createReporter = () => { const output = through2(); - const p = parser(); + const p = new Parser(); const stream = duplexer(p, output); const startedAt = Date.now();