aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ava/lib/beautify-stack.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-28 00:38:50 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-28 00:40:43 +0200
commit7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch)
tree6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/ava/lib/beautify-stack.js
parent963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff)
add linting (and some initial fixes)
Diffstat (limited to 'node_modules/ava/lib/beautify-stack.js')
-rw-r--r--node_modules/ava/lib/beautify-stack.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/ava/lib/beautify-stack.js b/node_modules/ava/lib/beautify-stack.js
new file mode 100644
index 000000000..189ed0714
--- /dev/null
+++ b/node_modules/ava/lib/beautify-stack.js
@@ -0,0 +1,37 @@
+'use strict';
+const StackUtils = require('stack-utils');
+const cleanStack = require('clean-stack');
+const debug = require('debug')('ava');
+
+// Ignore unimportant stack trace lines
+let ignoreStackLines = [];
+
+const avaInternals = /\/ava\/(?:lib\/)?[\w-]+\.js:\d+:\d+\)?$/;
+const avaDependencies = /\/node_modules\/(?:bluebird|empower-core|(?:ava\/node_modules\/)?(?:babel-runtime|core-js))\//;
+
+if (!debug.enabled) {
+ ignoreStackLines = StackUtils.nodeInternals();
+ ignoreStackLines.push(avaInternals);
+ ignoreStackLines.push(avaDependencies);
+}
+
+const stackUtils = new StackUtils({internals: ignoreStackLines});
+
+module.exports = stack => {
+ if (!stack) {
+ return '';
+ }
+
+ // Workaround for https://github.com/tapjs/stack-utils/issues/14
+ // TODO: fix it in `stack-utils`
+ stack = cleanStack(stack);
+
+ const title = stack.split('\n')[0];
+ const lines = stackUtils
+ .clean(stack)
+ .split('\n')
+ .map(x => ` ${x}`)
+ .join('\n');
+
+ return `${title}\n${lines}`;
+};