@honeybadger-io/vue 4.8.2 → 4.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/honeybadger-vue.esm.js +17 -9
- package/dist/honeybadger-vue.esm.js.map +1 -1
- package/dist/honeybadger-vue.js +17 -9
- package/dist/honeybadger-vue.js.map +1 -1
- package/dist/honeybadger-vue.min.js +1 -1
- package/dist/honeybadger-vue.min.js.map +1 -1
- package/dist/honeybadger-vue.umd.js +17 -9
- package/dist/honeybadger-vue.umd.js.map +1 -1
- package/package.json +5 -4
- package/src/vue-debug.js +17 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Honeybadger from '@honeybadger-io/js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
4
|
+
* This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
5
5
|
* The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -10,15 +10,23 @@ var classify = function (str) { return str
|
|
|
10
10
|
.replace(classifyRE, function (c) { return c.toUpperCase(); })
|
|
11
11
|
.replace(/[-_]/g, ''); };
|
|
12
12
|
|
|
13
|
+
var ANONYMOUS_COMPONENT = '<Anonymous>';
|
|
14
|
+
var ROOT_COMPONENT = '<Root>';
|
|
15
|
+
|
|
13
16
|
var formatComponentName = function (vm, includeFile) {
|
|
17
|
+
if (!vm) {
|
|
18
|
+
return ANONYMOUS_COMPONENT
|
|
19
|
+
}
|
|
20
|
+
|
|
14
21
|
if (vm.$root === vm) {
|
|
15
|
-
return
|
|
22
|
+
return ROOT_COMPONENT
|
|
16
23
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
|
|
25
|
+
var options = vm.$options;
|
|
26
|
+
if (!options) {
|
|
27
|
+
return ANONYMOUS_COMPONENT
|
|
28
|
+
}
|
|
29
|
+
|
|
22
30
|
var name = options.name || options._componentTag;
|
|
23
31
|
var file = options.__file;
|
|
24
32
|
if (!name && file) {
|
|
@@ -27,7 +35,7 @@ var formatComponentName = function (vm, includeFile) {
|
|
|
27
35
|
}
|
|
28
36
|
|
|
29
37
|
return (
|
|
30
|
-
(name ? ("<" + (classify(name)) + ">") :
|
|
38
|
+
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT) +
|
|
31
39
|
(file && includeFile !== false ? (" at " + file) : '')
|
|
32
40
|
)
|
|
33
41
|
};
|
|
@@ -43,7 +51,7 @@ var repeat = function (str, n) {
|
|
|
43
51
|
};
|
|
44
52
|
|
|
45
53
|
var generateComponentTrace = function (vm) {
|
|
46
|
-
if (vm._isVue && vm.$parent) {
|
|
54
|
+
if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {
|
|
47
55
|
var tree = [];
|
|
48
56
|
var currentRecursiveSequence = 0;
|
|
49
57
|
while (vm) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"honeybadger-vue.esm.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst formatComponentName = (vm, includeFile) => {\n if (vm
|
|
1
|
+
{"version":3,"file":"honeybadger-vue.esm.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst ANONYMOUS_COMPONENT = '<Anonymous>'\nconst ROOT_COMPONENT = '<Root>'\n\nconst formatComponentName = (vm, includeFile) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match && match[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nconst repeat = (str, n) => {\n let res = ''\n while (n) {\n if (n % 2 === 1) res += str\n if (n > 1) str += str\n n >>= 1\n }\n return res\n}\n\nexport const generateComponentTrace = vm => {\n if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : repeat(' ', 5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","import { generateComponentTrace } from './vue-debug'\n\nexport function logError (app, error, vm, info) {\n const message = `Error in ${info}: \"${error && error.toString()}\"`\n\n const trace = vm ? generateComponentTrace(vm) : ''\n if (app.config.warnHandler) {\n app.config.warnHandler.call(null, message, vm, trace)\n } else {\n console.error(`[Vue warn]: ${message}${trace}`)\n }\n}\n","import Honeybadger from '@honeybadger-io/js'\nimport { logError } from './error-logging'\n\nfunction shouldLogError (app, options) {\n if (app.config.warnHandler) {\n return true\n }\n\n const hasConsole = typeof console !== 'undefined'\n const hasProcess = typeof process !== 'undefined'\n const isDebug = options.debug || (hasProcess && process.env.NODE_ENV !== 'production')\n return hasConsole && isDebug\n}\n\nfunction extractContext (vm) {\n const options = vm.$options || {}\n const name = options.name || options._componentTag\n const file = options.__file\n const parentName = vm.$parent && vm.$parent.$options ? vm.$parent.$options.name : undefined\n\n // Vue2 - $options.propsData\n // Vue3 - $props\n const props = options.propsData || vm.$props\n\n return {\n isRoot: vm.$root === vm,\n name: name,\n props,\n parentName: parentName,\n file: file\n }\n}\n\nfunction install(vue, options) {\n if (options.debug) {\n console.log(`Honeybadger configured with ${options.apiKey}`)\n }\n const honeybadger = Honeybadger.configure(options)\n vue.$honeybadger = honeybadger\n\n // vue 2 support -> make available for all components\n if (vue.prototype) {\n vue.prototype.$honeybadger = honeybadger\n }\n\n if (vue.config && vue.config.globalProperties) {\n // vue 3 support -> make available for all components\n vue.config.globalProperties.$honeybadger = honeybadger\n }\n const chainedErrorHandler = vue.config.errorHandler\n vue.config.errorHandler = (error, vm, info) => {\n const metadata = { context: { vm: extractContext(vm), info: info } }\n honeybadger.notify(error, metadata)\n if (typeof chainedErrorHandler === 'function') {\n chainedErrorHandler.call(vue, error, vm, info)\n }\n\n if (shouldLogError(vue, options)) {\n logError(vue, error, vm, info)\n }\n }\n}\n\nexport default {\n install\n}\n"],"names":["const","let"],"mappings":"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"}
|
package/dist/honeybadger-vue.js
CHANGED
|
@@ -6,7 +6,7 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
6
6
|
var Honeybadger__default = /*#__PURE__*/_interopDefaultLegacy(Honeybadger);
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
9
|
+
* This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
10
10
|
* The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.
|
|
11
11
|
*/
|
|
12
12
|
|
|
@@ -15,15 +15,23 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
15
15
|
.replace(classifyRE, function (c) { return c.toUpperCase(); })
|
|
16
16
|
.replace(/[-_]/g, ''); };
|
|
17
17
|
|
|
18
|
+
var ANONYMOUS_COMPONENT = '<Anonymous>';
|
|
19
|
+
var ROOT_COMPONENT = '<Root>';
|
|
20
|
+
|
|
18
21
|
var formatComponentName = function (vm, includeFile) {
|
|
22
|
+
if (!vm) {
|
|
23
|
+
return ANONYMOUS_COMPONENT
|
|
24
|
+
}
|
|
25
|
+
|
|
19
26
|
if (vm.$root === vm) {
|
|
20
|
-
return
|
|
27
|
+
return ROOT_COMPONENT
|
|
21
28
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
|
|
30
|
+
var options = vm.$options;
|
|
31
|
+
if (!options) {
|
|
32
|
+
return ANONYMOUS_COMPONENT
|
|
33
|
+
}
|
|
34
|
+
|
|
27
35
|
var name = options.name || options._componentTag;
|
|
28
36
|
var file = options.__file;
|
|
29
37
|
if (!name && file) {
|
|
@@ -32,7 +40,7 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
32
40
|
}
|
|
33
41
|
|
|
34
42
|
return (
|
|
35
|
-
(name ? ("<" + (classify(name)) + ">") :
|
|
43
|
+
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT) +
|
|
36
44
|
(file && includeFile !== false ? (" at " + file) : '')
|
|
37
45
|
)
|
|
38
46
|
};
|
|
@@ -48,7 +56,7 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
48
56
|
};
|
|
49
57
|
|
|
50
58
|
var generateComponentTrace = function (vm) {
|
|
51
|
-
if (vm._isVue && vm.$parent) {
|
|
59
|
+
if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {
|
|
52
60
|
var tree = [];
|
|
53
61
|
var currentRecursiveSequence = 0;
|
|
54
62
|
while (vm) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"honeybadger-vue.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst formatComponentName = (vm, includeFile) => {\n if (vm
|
|
1
|
+
{"version":3,"file":"honeybadger-vue.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst ANONYMOUS_COMPONENT = '<Anonymous>'\nconst ROOT_COMPONENT = '<Root>'\n\nconst formatComponentName = (vm, includeFile) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match && match[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nconst repeat = (str, n) => {\n let res = ''\n while (n) {\n if (n % 2 === 1) res += str\n if (n > 1) str += str\n n >>= 1\n }\n return res\n}\n\nexport const generateComponentTrace = vm => {\n if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : repeat(' ', 5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","import { generateComponentTrace } from './vue-debug'\n\nexport function logError (app, error, vm, info) {\n const message = `Error in ${info}: \"${error && error.toString()}\"`\n\n const trace = vm ? generateComponentTrace(vm) : ''\n if (app.config.warnHandler) {\n app.config.warnHandler.call(null, message, vm, trace)\n } else {\n console.error(`[Vue warn]: ${message}${trace}`)\n }\n}\n","import Honeybadger from '@honeybadger-io/js'\nimport { logError } from './error-logging'\n\nfunction shouldLogError (app, options) {\n if (app.config.warnHandler) {\n return true\n }\n\n const hasConsole = typeof console !== 'undefined'\n const hasProcess = typeof process !== 'undefined'\n const isDebug = options.debug || (hasProcess && process.env.NODE_ENV !== 'production')\n return hasConsole && isDebug\n}\n\nfunction extractContext (vm) {\n const options = vm.$options || {}\n const name = options.name || options._componentTag\n const file = options.__file\n const parentName = vm.$parent && vm.$parent.$options ? vm.$parent.$options.name : undefined\n\n // Vue2 - $options.propsData\n // Vue3 - $props\n const props = options.propsData || vm.$props\n\n return {\n isRoot: vm.$root === vm,\n name: name,\n props,\n parentName: parentName,\n file: file\n }\n}\n\nfunction install(vue, options) {\n if (options.debug) {\n console.log(`Honeybadger configured with ${options.apiKey}`)\n }\n const honeybadger = Honeybadger.configure(options)\n vue.$honeybadger = honeybadger\n\n // vue 2 support -> make available for all components\n if (vue.prototype) {\n vue.prototype.$honeybadger = honeybadger\n }\n\n if (vue.config && vue.config.globalProperties) {\n // vue 3 support -> make available for all components\n vue.config.globalProperties.$honeybadger = honeybadger\n }\n const chainedErrorHandler = vue.config.errorHandler\n vue.config.errorHandler = (error, vm, info) => {\n const metadata = { context: { vm: extractContext(vm), info: info } }\n honeybadger.notify(error, metadata)\n if (typeof chainedErrorHandler === 'function') {\n chainedErrorHandler.call(vue, error, vm, info)\n }\n\n if (shouldLogError(vue, options)) {\n logError(vue, error, vm, info)\n }\n }\n}\n\nexport default {\n install\n}\n"],"names":["const","let","Honeybadger"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var HoneybadgerVue=function(n,r){"use strict";function
|
|
1
|
+
var HoneybadgerVue=function(n,r){"use strict";function e(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var o=e(r),t=/(?:^|[-_])(\w)/g,a="<Anonymous>",i=function(n,r){if(!n)return a;if(n.$root===n)return"<Root>";var e=n.$options;if(!e)return a;var o=e.name||e._componentTag,i=e.__file;if(!o&&i){var u=i.match(/([^/\\]+)\.vue$/);o=u&&u[1]}return(o?"<"+(o.replace(t,(function(n){return n.toUpperCase()})).replace(/[-_]/g,"")+">"):a)+(i&&!1!==r?" at "+i:"")};function u(n,r,e,o){var t="Error in "+o+': "'+(r&&r.toString())+'"',a=e?function(n){if(n&&(n.__isVue||n._isVue)&&n.$parent){for(var r=[],e=0;n;){if(r.length>0){var o=r[r.length-1];if(o.constructor===n.constructor){e++,n=n.$parent;continue}e>0&&(r[r.length-1]=[o,e],e=0)}r.push(n),n=n.$parent}return"\n\nfound in\n\n"+r.map((function(n,r){return""+(0===r?"---\x3e ":function(n,r){for(var e="";r;)r%2==1&&(e+=n),r>1&&(n+=n),r>>=1;return e}(" ",5+2*r))+(Array.isArray(n)?i(n[0])+"... ("+n[1]+" recursive calls)":i(n))})).join("\n")}return"\n\n(found in "+i(n)+")"}(e):"";n.config.warnHandler?n.config.warnHandler.call(null,t,e,a):console.error("[Vue warn]: "+t+a)}function f(n){var r=n.$options||{},e=r.name||r._componentTag,o=r.__file,t=n.$parent&&n.$parent.$options?n.$parent.$options.name:void 0,a=r.propsData||n.$props;return{isRoot:n.$root===n,name:e,props:a,parentName:t,file:o}}var c={install:function(n,r){r.debug&&console.log("Honeybadger configured with "+r.apiKey);var e=o.default.configure(r);n.$honeybadger=e,n.prototype&&(n.prototype.$honeybadger=e),n.config&&n.config.globalProperties&&(n.config.globalProperties.$honeybadger=e);var t=n.config.errorHandler;n.config.errorHandler=function(o,a,i){var c={context:{vm:f(a),info:i}};e.notify(o,c),"function"==typeof t&&t.call(n,o,a,i),function(n,r){if(n.config.warnHandler)return!0;var e="undefined"!=typeof console,o="undefined"!=typeof process,t=r.debug||o&&"production"!==process.env.NODE_ENV;return e&&t}(n,r)&&u(n,o,a,i)}}};return n.default=c,Object.defineProperty(n,"__esModule",{value:!0}),n}({},Honeybadger);
|
|
2
2
|
//# sourceMappingURL=honeybadger-vue.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"honeybadger-vue.min.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst formatComponentName = (vm, includeFile) => {\n if (vm
|
|
1
|
+
{"version":3,"file":"honeybadger-vue.min.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst ANONYMOUS_COMPONENT = '<Anonymous>'\nconst ROOT_COMPONENT = '<Root>'\n\nconst formatComponentName = (vm, includeFile) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match && match[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nconst repeat = (str, n) => {\n let res = ''\n while (n) {\n if (n % 2 === 1) res += str\n if (n > 1) str += str\n n >>= 1\n }\n return res\n}\n\nexport const generateComponentTrace = vm => {\n if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : repeat(' ', 5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","import { generateComponentTrace } from './vue-debug'\n\nexport function logError (app, error, vm, info) {\n const message = `Error in ${info}: \"${error && error.toString()}\"`\n\n const trace = vm ? generateComponentTrace(vm) : ''\n if (app.config.warnHandler) {\n app.config.warnHandler.call(null, message, vm, trace)\n } else {\n console.error(`[Vue warn]: ${message}${trace}`)\n }\n}\n","import Honeybadger from '@honeybadger-io/js'\nimport { logError } from './error-logging'\n\nfunction shouldLogError (app, options) {\n if (app.config.warnHandler) {\n return true\n }\n\n const hasConsole = typeof console !== 'undefined'\n const hasProcess = typeof process !== 'undefined'\n const isDebug = options.debug || (hasProcess && process.env.NODE_ENV !== 'production')\n return hasConsole && isDebug\n}\n\nfunction extractContext (vm) {\n const options = vm.$options || {}\n const name = options.name || options._componentTag\n const file = options.__file\n const parentName = vm.$parent && vm.$parent.$options ? vm.$parent.$options.name : undefined\n\n // Vue2 - $options.propsData\n // Vue3 - $props\n const props = options.propsData || vm.$props\n\n return {\n isRoot: vm.$root === vm,\n name: name,\n props,\n parentName: parentName,\n file: file\n }\n}\n\nfunction install(vue, options) {\n if (options.debug) {\n console.log(`Honeybadger configured with ${options.apiKey}`)\n }\n const honeybadger = Honeybadger.configure(options)\n vue.$honeybadger = honeybadger\n\n // vue 2 support -> make available for all components\n if (vue.prototype) {\n vue.prototype.$honeybadger = honeybadger\n }\n\n if (vue.config && vue.config.globalProperties) {\n // vue 3 support -> make available for all components\n vue.config.globalProperties.$honeybadger = honeybadger\n }\n const chainedErrorHandler = vue.config.errorHandler\n vue.config.errorHandler = (error, vm, info) => {\n const metadata = { context: { vm: extractContext(vm), info: info } }\n honeybadger.notify(error, metadata)\n if (typeof chainedErrorHandler === 'function') {\n chainedErrorHandler.call(vue, error, vm, info)\n }\n\n if (shouldLogError(vue, options)) {\n logError(vue, error, vm, info)\n }\n }\n}\n\nexport default {\n install\n}\n"],"names":["classifyRE","ANONYMOUS_COMPONENT","formatComponentName","vm","includeFile","$root","const","options","$options","let","name","_componentTag","file","__file","match","replace","c","toUpperCase","logError","app","error","info","message","toString","trace","__isVue","_isVue","$parent","tree","currentRecursiveSequence","length","last","constructor","push","map","i","str","n","res","repeat","Array","isArray","join","generateComponentTrace","config","warnHandler","call","console","extractContext","parentName","undefined","props","propsData","$props","isRoot","index","install","vue","debug","log","honeybadger","Honeybadger","configure","$honeybadger","prototype","globalProperties","chainedErrorHandler","errorHandler","metadata","context","notify","hasConsole","hasProcess","process","isDebug","env","NODE_ENV","shouldLogError"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
var Honeybadger__default = /*#__PURE__*/_interopDefaultLegacy(Honeybadger);
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
12
|
+
* This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
13
13
|
* The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.
|
|
14
14
|
*/
|
|
15
15
|
|
|
@@ -18,15 +18,23 @@
|
|
|
18
18
|
.replace(classifyRE, function (c) { return c.toUpperCase(); })
|
|
19
19
|
.replace(/[-_]/g, ''); };
|
|
20
20
|
|
|
21
|
+
var ANONYMOUS_COMPONENT = '<Anonymous>';
|
|
22
|
+
var ROOT_COMPONENT = '<Root>';
|
|
23
|
+
|
|
21
24
|
var formatComponentName = function (vm, includeFile) {
|
|
25
|
+
if (!vm) {
|
|
26
|
+
return ANONYMOUS_COMPONENT
|
|
27
|
+
}
|
|
28
|
+
|
|
22
29
|
if (vm.$root === vm) {
|
|
23
|
-
return
|
|
30
|
+
return ROOT_COMPONENT
|
|
24
31
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
|
|
33
|
+
var options = vm.$options;
|
|
34
|
+
if (!options) {
|
|
35
|
+
return ANONYMOUS_COMPONENT
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
var name = options.name || options._componentTag;
|
|
31
39
|
var file = options.__file;
|
|
32
40
|
if (!name && file) {
|
|
@@ -35,7 +43,7 @@
|
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
return (
|
|
38
|
-
(name ? ("<" + (classify(name)) + ">") :
|
|
46
|
+
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT) +
|
|
39
47
|
(file && includeFile !== false ? (" at " + file) : '')
|
|
40
48
|
)
|
|
41
49
|
};
|
|
@@ -51,7 +59,7 @@
|
|
|
51
59
|
};
|
|
52
60
|
|
|
53
61
|
var generateComponentTrace = function (vm) {
|
|
54
|
-
if (vm._isVue && vm.$parent) {
|
|
62
|
+
if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {
|
|
55
63
|
var tree = [];
|
|
56
64
|
var currentRecursiveSequence = 0;
|
|
57
65
|
while (vm) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"honeybadger-vue.umd.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst formatComponentName = (vm, includeFile) => {\n if (vm
|
|
1
|
+
{"version":3,"file":"honeybadger-vue.umd.js","sources":["../../src/vue-debug.js","../../src/error-logging.js","../../src/index.js"],"sourcesContent":["/**\n * This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.\n * The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = str => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nconst ANONYMOUS_COMPONENT = '<Anonymous>'\nconst ROOT_COMPONENT = '<Root>'\n\nconst formatComponentName = (vm, includeFile) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match && match[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nconst repeat = (str, n) => {\n let res = ''\n while (n) {\n if (n % 2 === 1) res += str\n if (n > 1) str += str\n n >>= 1\n }\n return res\n}\n\nexport const generateComponentTrace = vm => {\n if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : repeat(' ', 5 + i * 2)\n }${\n Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","import { generateComponentTrace } from './vue-debug'\n\nexport function logError (app, error, vm, info) {\n const message = `Error in ${info}: \"${error && error.toString()}\"`\n\n const trace = vm ? generateComponentTrace(vm) : ''\n if (app.config.warnHandler) {\n app.config.warnHandler.call(null, message, vm, trace)\n } else {\n console.error(`[Vue warn]: ${message}${trace}`)\n }\n}\n","import Honeybadger from '@honeybadger-io/js'\nimport { logError } from './error-logging'\n\nfunction shouldLogError (app, options) {\n if (app.config.warnHandler) {\n return true\n }\n\n const hasConsole = typeof console !== 'undefined'\n const hasProcess = typeof process !== 'undefined'\n const isDebug = options.debug || (hasProcess && process.env.NODE_ENV !== 'production')\n return hasConsole && isDebug\n}\n\nfunction extractContext (vm) {\n const options = vm.$options || {}\n const name = options.name || options._componentTag\n const file = options.__file\n const parentName = vm.$parent && vm.$parent.$options ? vm.$parent.$options.name : undefined\n\n // Vue2 - $options.propsData\n // Vue3 - $props\n const props = options.propsData || vm.$props\n\n return {\n isRoot: vm.$root === vm,\n name: name,\n props,\n parentName: parentName,\n file: file\n }\n}\n\nfunction install(vue, options) {\n if (options.debug) {\n console.log(`Honeybadger configured with ${options.apiKey}`)\n }\n const honeybadger = Honeybadger.configure(options)\n vue.$honeybadger = honeybadger\n\n // vue 2 support -> make available for all components\n if (vue.prototype) {\n vue.prototype.$honeybadger = honeybadger\n }\n\n if (vue.config && vue.config.globalProperties) {\n // vue 3 support -> make available for all components\n vue.config.globalProperties.$honeybadger = honeybadger\n }\n const chainedErrorHandler = vue.config.errorHandler\n vue.config.errorHandler = (error, vm, info) => {\n const metadata = { context: { vm: extractContext(vm), info: info } }\n honeybadger.notify(error, metadata)\n if (typeof chainedErrorHandler === 'function') {\n chainedErrorHandler.call(vue, error, vm, info)\n }\n\n if (shouldLogError(vue, options)) {\n logError(vue, error, vm, info)\n }\n }\n}\n\nexport default {\n install\n}\n"],"names":["const","let","Honeybadger"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@honeybadger-io/vue",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.9.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Honeybadger Vue.js client",
|
|
6
6
|
"author": "Jason Truesdell <jason@yuzuten.com> (https://github.com/JasonTrue)",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
],
|
|
27
27
|
"homepage": "https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/vue",
|
|
28
28
|
"scripts": {
|
|
29
|
-
"unit": "jest --coverage",
|
|
29
|
+
"unit": "jest --coverage --env=jsdom",
|
|
30
30
|
"e2e": "node test/e2e/runner.js",
|
|
31
31
|
"tsd": "npx tsd",
|
|
32
32
|
"test": "npm run tsd && npm run unit",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@babel/plugin-transform-runtime": "^7.18.9",
|
|
44
44
|
"@babel/preset-env": "^7.18.9",
|
|
45
|
-
"@honeybadger-io/js": "^4.
|
|
45
|
+
"@honeybadger-io/js": "^4.9.0",
|
|
46
46
|
"@vue/compiler-sfc": "^3.2.37",
|
|
47
47
|
"@vue/test-utils": "^2.0.2",
|
|
48
48
|
"babel-plugin-syntax-jsx": "^6.18.0",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"eslint": "^8.20.0",
|
|
52
52
|
"eslint-plugin-vue": "^9.2.0",
|
|
53
53
|
"jest": "^26.6.3",
|
|
54
|
+
"jest-fetch-mock": "^3.0.3",
|
|
54
55
|
"rollup": "^2.77.0",
|
|
55
56
|
"rollup-plugin-buble": "^0.19.8",
|
|
56
57
|
"rollup-plugin-conditional": "^3.1.2",
|
|
@@ -82,5 +83,5 @@
|
|
|
82
83
|
]
|
|
83
84
|
}
|
|
84
85
|
},
|
|
85
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "7766fbe10592d27c7e07c4432b4bdef2f2b03be9"
|
|
86
87
|
}
|
package/src/vue-debug.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This was taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
2
|
+
* This was originally taken from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js.
|
|
3
3
|
* The method generateStackTrace is used to log errors the same way as Vue logs them when errorHandler is not set.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -8,15 +8,23 @@ const classify = str => str
|
|
|
8
8
|
.replace(classifyRE, c => c.toUpperCase())
|
|
9
9
|
.replace(/[-_]/g, '')
|
|
10
10
|
|
|
11
|
+
const ANONYMOUS_COMPONENT = '<Anonymous>'
|
|
12
|
+
const ROOT_COMPONENT = '<Root>'
|
|
13
|
+
|
|
11
14
|
const formatComponentName = (vm, includeFile) => {
|
|
15
|
+
if (!vm) {
|
|
16
|
+
return ANONYMOUS_COMPONENT
|
|
17
|
+
}
|
|
18
|
+
|
|
12
19
|
if (vm.$root === vm) {
|
|
13
|
-
return
|
|
20
|
+
return ROOT_COMPONENT
|
|
14
21
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
|
|
23
|
+
const options = vm.$options
|
|
24
|
+
if (!options) {
|
|
25
|
+
return ANONYMOUS_COMPONENT
|
|
26
|
+
}
|
|
27
|
+
|
|
20
28
|
let name = options.name || options._componentTag
|
|
21
29
|
const file = options.__file
|
|
22
30
|
if (!name && file) {
|
|
@@ -25,7 +33,7 @@ const formatComponentName = (vm, includeFile) => {
|
|
|
25
33
|
}
|
|
26
34
|
|
|
27
35
|
return (
|
|
28
|
-
(name ? `<${classify(name)}>` :
|
|
36
|
+
(name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT) +
|
|
29
37
|
(file && includeFile !== false ? ` at ${file}` : '')
|
|
30
38
|
)
|
|
31
39
|
}
|
|
@@ -41,7 +49,7 @@ const repeat = (str, n) => {
|
|
|
41
49
|
}
|
|
42
50
|
|
|
43
51
|
export const generateComponentTrace = vm => {
|
|
44
|
-
if (vm._isVue && vm.$parent) {
|
|
52
|
+
if (vm && (vm.__isVue || vm._isVue) && vm.$parent) {
|
|
45
53
|
const tree = []
|
|
46
54
|
let currentRecursiveSequence = 0
|
|
47
55
|
while (vm) {
|