@honeybadger-io/vue 6.2.0 → 6.2.2
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 +14 -5
- package/dist/honeybadger-vue.esm.js.map +1 -1
- package/dist/honeybadger-vue.js +14 -5
- 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 +14 -5
- package/dist/honeybadger-vue.umd.js.map +1 -1
- package/package.json +3 -3
- package/src/index.js +9 -0
|
@@ -10,12 +10,12 @@ 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>';
|
|
13
|
+
var ANONYMOUS_COMPONENT$1 = '<Anonymous>';
|
|
14
14
|
var ROOT_COMPONENT = '<Root>';
|
|
15
15
|
|
|
16
16
|
var formatComponentName = function (vm, includeFile, isVue3Vm) {
|
|
17
17
|
if (!vm) {
|
|
18
|
-
return ANONYMOUS_COMPONENT
|
|
18
|
+
return ANONYMOUS_COMPONENT$1
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// no need to check for root in vue3, better to show name of component, even if $root
|
|
@@ -25,7 +25,7 @@ var formatComponentName = function (vm, includeFile, isVue3Vm) {
|
|
|
25
25
|
|
|
26
26
|
var options = vm.$options;
|
|
27
27
|
if (!options) {
|
|
28
|
-
return ANONYMOUS_COMPONENT
|
|
28
|
+
return ANONYMOUS_COMPONENT$1
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// __name found in vue3
|
|
@@ -37,7 +37,7 @@ var formatComponentName = function (vm, includeFile, isVue3Vm) {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
return (
|
|
40
|
-
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT) +
|
|
40
|
+
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT$1) +
|
|
41
41
|
(file && includeFile !== false ? (" at " + file) : '')
|
|
42
42
|
)
|
|
43
43
|
};
|
|
@@ -99,9 +99,11 @@ function logError (app, error, vm, info) {
|
|
|
99
99
|
var NOTIFIER = {
|
|
100
100
|
name: '@honeybadger-io/vue',
|
|
101
101
|
url: 'https://github.com/honeybadger-io/honeybadger-js',
|
|
102
|
-
version: '6.2.
|
|
102
|
+
version: '6.2.2'
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
+
var ANONYMOUS_COMPONENT = 'Anonymous Component';
|
|
106
|
+
|
|
105
107
|
function shouldLogError (app, options) {
|
|
106
108
|
if (app.config.warnHandler) {
|
|
107
109
|
return true
|
|
@@ -114,6 +116,13 @@ function shouldLogError (app, options) {
|
|
|
114
116
|
}
|
|
115
117
|
|
|
116
118
|
function extractContext (vm) {
|
|
119
|
+
if (!vm) {
|
|
120
|
+
return {
|
|
121
|
+
isRoot: false,
|
|
122
|
+
name: ANONYMOUS_COMPONENT,
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
117
126
|
var options = vm.$options || {};
|
|
118
127
|
var name = options.name || options._componentTag;
|
|
119
128
|
var file = options.__file;
|
|
@@ -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 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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["const","let"],"mappings":"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"}
|
|
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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\n\nconst ANONYMOUS_COMPONENT = 'Anonymous Component'\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 if (!vm) {\n return {\n isRoot: false,\n name: ANONYMOUS_COMPONENT,\n }\n }\n\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["const","ANONYMOUS_COMPONENT","let"],"mappings":"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"}
|
package/dist/honeybadger-vue.js
CHANGED
|
@@ -15,12 +15,12 @@ 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>';
|
|
18
|
+
var ANONYMOUS_COMPONENT$1 = '<Anonymous>';
|
|
19
19
|
var ROOT_COMPONENT = '<Root>';
|
|
20
20
|
|
|
21
21
|
var formatComponentName = function (vm, includeFile, isVue3Vm) {
|
|
22
22
|
if (!vm) {
|
|
23
|
-
return ANONYMOUS_COMPONENT
|
|
23
|
+
return ANONYMOUS_COMPONENT$1
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// no need to check for root in vue3, better to show name of component, even if $root
|
|
@@ -30,7 +30,7 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
30
30
|
|
|
31
31
|
var options = vm.$options;
|
|
32
32
|
if (!options) {
|
|
33
|
-
return ANONYMOUS_COMPONENT
|
|
33
|
+
return ANONYMOUS_COMPONENT$1
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// __name found in vue3
|
|
@@ -42,7 +42,7 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
return (
|
|
45
|
-
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT) +
|
|
45
|
+
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT$1) +
|
|
46
46
|
(file && includeFile !== false ? (" at " + file) : '')
|
|
47
47
|
)
|
|
48
48
|
};
|
|
@@ -104,9 +104,11 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
104
104
|
var NOTIFIER = {
|
|
105
105
|
name: '@honeybadger-io/vue',
|
|
106
106
|
url: 'https://github.com/honeybadger-io/honeybadger-js',
|
|
107
|
-
version: '6.2.
|
|
107
|
+
version: '6.2.2'
|
|
108
108
|
};
|
|
109
109
|
|
|
110
|
+
var ANONYMOUS_COMPONENT = 'Anonymous Component';
|
|
111
|
+
|
|
110
112
|
function shouldLogError (app, options) {
|
|
111
113
|
if (app.config.warnHandler) {
|
|
112
114
|
return true
|
|
@@ -119,6 +121,13 @@ var HoneybadgerVue = (function (exports, Honeybadger) {
|
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
function extractContext (vm) {
|
|
124
|
+
if (!vm) {
|
|
125
|
+
return {
|
|
126
|
+
isRoot: false,
|
|
127
|
+
name: ANONYMOUS_COMPONENT,
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
122
131
|
var options = vm.$options || {};
|
|
123
132
|
var name = options.name || options._componentTag;
|
|
124
133
|
var file = options.__file;
|
|
@@ -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 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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["const","let","Honeybadger"],"mappings":"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"}
|
|
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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\n\nconst ANONYMOUS_COMPONENT = 'Anonymous Component'\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 if (!vm) {\n return {\n isRoot: false,\n name: ANONYMOUS_COMPONENT,\n }\n }\n\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["const","ANONYMOUS_COMPONENT","let","Honeybadger"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var HoneybadgerVue=function(n,e){"use strict";function r(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var o=r(e),t=/(?:^|[-_])(\w)/g,a="<Anonymous>",i=function(n,e,r){if(!n)return a;if(!r&&n.$root===n)return"<Root>";var o=n.$options;if(!o)return a;var i=o.name||o._componentTag||o.__name,u=o.__file;if(!i&&u){var f=u.match(/([^/\\]+)\.vue$/);i=f&&f[1]}return(i?"<"+(i.replace(t,(function(n){return n.toUpperCase()})).replace(/[-_]/g,"")+">"):a)+(u&&!1!==e?" at "+u:"")};function u(n,e,r,o){var t="Error in "+o+': "'+(e&&e.toString())+'"',a=r?function(n){var e=function(n){return!(!n||!n.__isVue)}(n);if((e||function(n){return!(!n||!n._isVue)}(n))&&n.$parent){for(var r=[],o=0;n;){if(!e&&r.length>0){var t=r[r.length-1];if(t.constructor===n.constructor){o++,n=n.$parent;continue}o>0&&(r[r.length-1]=[t,o],o=0)}r.push(n),n=n.$parent}return"\n\nfound in\n\n"+r.map((function(n,r){return""+(0===r?"---\x3e ":function(n,e){for(var r="";e;)e%2==1&&(r+=n),e>1&&(n+=n),e>>=1;return r}(" ",5+2*r))+(Array.isArray(n)?i(n[0],!0,e)+"... ("+n[1]+" recursive calls)":i(n,!0,e))})).join("\n")}return"\n\n(found in "+i(n,!0,e)+")"}(r):"";n.config.warnHandler?n.config.warnHandler.call(null,t,r,a):console.error("[Vue warn]: "+t+a)}var f={name:"@honeybadger-io/vue",url:"https://github.com/honeybadger-io/honeybadger-js",version:"6.2.
|
|
1
|
+
var HoneybadgerVue=function(n,e){"use strict";function r(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var o=r(e),t=/(?:^|[-_])(\w)/g,a="<Anonymous>",i=function(n,e,r){if(!n)return a;if(!r&&n.$root===n)return"<Root>";var o=n.$options;if(!o)return a;var i=o.name||o._componentTag||o.__name,u=o.__file;if(!i&&u){var f=u.match(/([^/\\]+)\.vue$/);i=f&&f[1]}return(i?"<"+(i.replace(t,(function(n){return n.toUpperCase()})).replace(/[-_]/g,"")+">"):a)+(u&&!1!==e?" at "+u:"")};function u(n,e,r,o){var t="Error in "+o+': "'+(e&&e.toString())+'"',a=r?function(n){var e=function(n){return!(!n||!n.__isVue)}(n);if((e||function(n){return!(!n||!n._isVue)}(n))&&n.$parent){for(var r=[],o=0;n;){if(!e&&r.length>0){var t=r[r.length-1];if(t.constructor===n.constructor){o++,n=n.$parent;continue}o>0&&(r[r.length-1]=[t,o],o=0)}r.push(n),n=n.$parent}return"\n\nfound in\n\n"+r.map((function(n,r){return""+(0===r?"---\x3e ":function(n,e){for(var r="";e;)e%2==1&&(r+=n),e>1&&(n+=n),e>>=1;return r}(" ",5+2*r))+(Array.isArray(n)?i(n[0],!0,e)+"... ("+n[1]+" recursive calls)":i(n,!0,e))})).join("\n")}return"\n\n(found in "+i(n,!0,e)+")"}(r):"";n.config.warnHandler?n.config.warnHandler.call(null,t,r,a):console.error("[Vue warn]: "+t+a)}var f={name:"@honeybadger-io/vue",url:"https://github.com/honeybadger-io/honeybadger-js",version:"6.2.2"};function c(n){if(!n)return{isRoot:!1,name:"Anonymous Component"};var e=n.$options||{},r=e.name||e._componentTag,o=e.__file,t=n.$parent&&n.$parent.$options?n.$parent.$options.name:void 0,a=e.propsData||n.$props;return{isRoot:n.$root===n,name:r,props:a,parentName:t,file:o}}var p={install:function(n,e){e.debug&&console.log("Honeybadger configured with "+e.apiKey);var r=o.default.configure(e);r.setNotifier(f),n.$honeybadger=r,n.prototype&&(n.prototype.$honeybadger=r),n.config&&n.config.globalProperties&&(n.config.globalProperties.$honeybadger=r);var t=n.config.errorHandler;n.config.errorHandler=function(o,a,i){var f={context:{vm:c(a),info:i}};r.notify(o,f),"function"==typeof t&&t.call(n,o,a,i),function(n,e){if(n.config.warnHandler)return!0;var r="undefined"!=typeof console,o="undefined"!=typeof process,t=e.debug||o&&"production"!==process.env.NODE_ENV;return r&&t}(n,e)&&u(n,o,a,i)}}};return n.default=p,n.useHoneybadger=function(){return o.default},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 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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["classifyRE","ANONYMOUS_COMPONENT","formatComponentName","vm","includeFile","isVue3Vm","$root","const","options","$options","let","name","_componentTag","__name","file","__file","match","replace","c","toUpperCase","logError","app","error","info","message","toString","trace","vue3Vm","__isVue","_isVue","isVue2Vm","$parent","tree","currentRecursiveSequence","length","last","constructor","push","map","i","str","n","res","repeat","Array","isArray","join","generateComponentTrace","config","warnHandler","call","console","NOTIFIER","url","version","extractContext","parentName","undefined","props","propsData","$props","
|
|
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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\n\nconst ANONYMOUS_COMPONENT = 'Anonymous Component'\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 if (!vm) {\n return {\n isRoot: false,\n name: ANONYMOUS_COMPONENT,\n }\n }\n\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["classifyRE","ANONYMOUS_COMPONENT","formatComponentName","vm","includeFile","isVue3Vm","$root","const","options","$options","let","name","_componentTag","__name","file","__file","match","replace","c","toUpperCase","logError","app","error","info","message","toString","trace","vue3Vm","__isVue","_isVue","isVue2Vm","$parent","tree","currentRecursiveSequence","length","last","constructor","push","map","i","str","n","res","repeat","Array","isArray","join","generateComponentTrace","config","warnHandler","call","console","NOTIFIER","url","version","extractContext","isRoot","parentName","undefined","props","propsData","$props","index","install","vue","debug","log","honeybadger","Honeybadger","configure","setNotifier","$honeybadger","prototype","globalProperties","chainedErrorHandler","errorHandler","metadata","context","notify","hasConsole","hasProcess","process","isDebug","env","NODE_ENV","shouldLogError"],"mappings":"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"}
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
.replace(classifyRE, function (c) { return c.toUpperCase(); })
|
|
19
19
|
.replace(/[-_]/g, ''); };
|
|
20
20
|
|
|
21
|
-
var ANONYMOUS_COMPONENT = '<Anonymous>';
|
|
21
|
+
var ANONYMOUS_COMPONENT$1 = '<Anonymous>';
|
|
22
22
|
var ROOT_COMPONENT = '<Root>';
|
|
23
23
|
|
|
24
24
|
var formatComponentName = function (vm, includeFile, isVue3Vm) {
|
|
25
25
|
if (!vm) {
|
|
26
|
-
return ANONYMOUS_COMPONENT
|
|
26
|
+
return ANONYMOUS_COMPONENT$1
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// no need to check for root in vue3, better to show name of component, even if $root
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
var options = vm.$options;
|
|
35
35
|
if (!options) {
|
|
36
|
-
return ANONYMOUS_COMPONENT
|
|
36
|
+
return ANONYMOUS_COMPONENT$1
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
// __name found in vue3
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
return (
|
|
48
|
-
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT) +
|
|
48
|
+
(name ? ("<" + (classify(name)) + ">") : ANONYMOUS_COMPONENT$1) +
|
|
49
49
|
(file && includeFile !== false ? (" at " + file) : '')
|
|
50
50
|
)
|
|
51
51
|
};
|
|
@@ -107,9 +107,11 @@
|
|
|
107
107
|
var NOTIFIER = {
|
|
108
108
|
name: '@honeybadger-io/vue',
|
|
109
109
|
url: 'https://github.com/honeybadger-io/honeybadger-js',
|
|
110
|
-
version: '6.2.
|
|
110
|
+
version: '6.2.2'
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
+
var ANONYMOUS_COMPONENT = 'Anonymous Component';
|
|
114
|
+
|
|
113
115
|
function shouldLogError (app, options) {
|
|
114
116
|
if (app.config.warnHandler) {
|
|
115
117
|
return true
|
|
@@ -122,6 +124,13 @@
|
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
function extractContext (vm) {
|
|
127
|
+
if (!vm) {
|
|
128
|
+
return {
|
|
129
|
+
isRoot: false,
|
|
130
|
+
name: ANONYMOUS_COMPONENT,
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
125
134
|
var options = vm.$options || {};
|
|
126
135
|
var name = options.name || options._componentTag;
|
|
127
136
|
var file = options.__file;
|
|
@@ -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 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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["const","let","Honeybadger"],"mappings":";;;;;;;;;;EAAA;EACA;EACA;EACA;AACA;EACAA,IAAM,UAAU,GAAG,kBAAiB;EACpCA,IAAM,QAAQ,GAAG,UAAA,GAAA,WAAO,GAAG;EAC3B,GAAG,OAAO,CAAC,UAAU,EAAE,UAAA,CAAA,WAAK,CAAC,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC;EAC5C,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA,GAAA;AACvB;EACAA,IAAM,mBAAmB,GAAG,cAAa;EACzCA,IAAM,cAAc,GAAG,SAAQ;AAC/B;EACAA,IAAM,mBAAmB,GAAG,UAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAK;EAC3D,EAAE,IAAI,CAAC,EAAE,EAAE;EACX,IAAI,OAAO,mBAAmB;EAC9B,GAAG;AACH;EACA;EACA,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE;EACpC,IAAI,OAAO,cAAc;EACzB,GAAG;AACH;EACA,EAAEA,IAAM,OAAO,GAAG,EAAE,CAAC,SAAQ;EAC7B,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,OAAO,mBAAmB;EAC9B,GAAG;AACH;EACA;EACA,EAAEC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAM;EACpE,EAAED,IAAM,IAAI,GAAG,OAAO,CAAC,OAAM;EAC7B,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;EACrB,IAAIA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAC;EAC/C,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAC;EAC5B,GAAG;AACH;EACA,EAAE;EACF,IAAI,CAAC,IAAI,IAAO,GAAA,IAAA,QAAQ,CAAC,IAAI,CAAC,CAAA,GAAA,GAAA,IAAM,mBAAmB;EACvD,KAAK,IAAI,IAAI,WAAW,KAAK,KAAK,IAAU,MAAA,GAAA,IAAA,IAAS,EAAE,CAAC;EACxD,GAAG;EACH,EAAC;AACD;EACAA,IAAM,MAAM,GAAA,UAAI,GAAG,EAAE,CAAC,EAAK;EAC3B,EAAEC,IAAI,GAAG,GAAG,GAAE;EACd,EAAE,OAAO,CAAC,EAAE;EACZ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAA,EAAE,GAAG,IAAI,IAAG,EAAA;EAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAA,GAAG,IAAI,IAAG,EAAA;EACzB,IAAI,CAAC,KAAK,EAAC;EACX,GAAG;EACH,EAAE,OAAO,GAAG;EACZ,EAAC;AACD;EACAD,IAAM,QAAQ,GAAG,UAAA,EAAA,EAAM,EAAA,OAAA,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA,GAAA;EAC3CA,IAAM,QAAQ,GAAG,UAAA,EAAA,EAAM,EAAA,OAAA,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA,GAAA;AAC1C;EACOA,IAAM,sBAAsB,GAAA,UAAG,IAAM;EAC5C,EAAEA,IAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAC;EAC7B,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;EAC9C,IAAIA,IAAM,IAAI,GAAG,GAAE;EACnB,IAAIC,IAAI,wBAAwB,GAAG,EAAC;EACpC,IAAI,OAAO,EAAE,EAAE;EACf,MAAM,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;EACtC,QAAQD,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;EAC1C,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,EAAE;EACjD,UAAU,wBAAwB,GAAE;EACpC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAO;EACzB,UAAU,QAAQ;EAClB,SAAS,MAAM,IAAI,wBAAwB,GAAG,CAAC,EAAE;EACjD,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,wBAAwB,EAAC;EAClE,UAAU,wBAAwB,GAAG,EAAC;EACtC,SAAS;EACT,OAAO;EACP,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAC;EACnB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAO;EACrB,KAAK;EACL,IAAI,OAAO,kBAAkB,GAAG,IAAI;EACpC,OAAO,GAAG,CAAA,UAAE,EAAE,EAAE,CAAC,EAAK,EAAA,QAAA,EAAA,IACd,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAA,IAEzC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;EACzB,aAAA,CAAe,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAS,OAAA,IAAA,EAAE,CAAC,CAAC,EAAC,GAAmB,mBAAA;EACvF,YAAY,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,MACxC,CAAC;EACT,OAAO,IAAI,CAAC,IAAI,CAAC;EACjB,GAAG,MAAM;EACT,IAAI,QAAwB,gBAAA,IAAA,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAA,CAAC,GAAG,GAAA,CAAA;EACpE,GAAG;EACH;;ECrFO,SAAS,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE;EAChD,EAAEA,IAAM,OAAO,GAAG,WAAY,GAAA,IAAI,GAAM,MAAA,IAAA,KAAK,IAAI,KAAK,CAAC,QAAQ,GAAE,GAAG,KAAA;AACpE;EACA,EAAEA,IAAM,KAAK,GAAG,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,GAAG,GAAE;EACpD,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;EAC9B,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAC;EACzD,GAAG,MAAM;EACT,IAAI,OAAO,CAAC,KAAK,EAAgB,cAAA,GAAA,OAAA,GAAU,QAAQ;EACnD,GAAG;EACH;;ECRAA,IAAM,QAAQ,GAAG;EACjB,EAAE,IAAI,EAAE,qBAAqB;EAC7B,EAAE,GAAG,EAAE,kDAAkD;EACzD,EAAE,OAAO,EAAE,OAAa;EACxB,EAAC;AACD;EACA,SAAS,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE;EACvC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;EAC9B,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAEA,IAAM,UAAU,GAAG,OAAO,OAAO,KAAK,YAAW;EACnD,EAAEA,IAAM,UAAU,GAAG,OAAO,OAAO,KAAK,YAAW;EACnD,EAAEA,IAAM,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAC;EACxF,EAAE,OAAO,UAAU,IAAI,OAAO;EAC9B,CAAC;AACD;EACA,SAAS,cAAc,EAAE,EAAE,EAAE;EAC7B,EAAEA,IAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,IAAI,GAAE;EACnC,EAAEA,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,cAAa;EACpD,EAAEA,IAAM,IAAI,GAAG,OAAO,CAAC,OAAM;EAC7B,EAAEA,IAAM,UAAU,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAS;AAC7F;EACA;EACA;EACA,EAAEA,IAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,OAAM;AAC9C;EACA,EAAE,OAAO;EACT,IAAI,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE;EAC3B,IAAI,IAAI,EAAE,IAAI;EACd,IAAA,KAAA,EAAI,KAAK;EACT,IAAI,UAAU,EAAE,UAAU;EAC1B,IAAI,IAAI,EAAE,IAAI;EACd,GAAG;EACH,CAAC;AACD;EACA,SAAS,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE;EAC/B,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE;EACrB,IAAI,OAAO,CAAC,GAAG,oCAAgC,OAAO,CAAC,UAAS;EAChE,GAAG;EACH,EAAEA,IAAM,WAAW,GAAGE,+BAAW,CAAC,SAAS,CAAC,OAAO,EAAC;EACpD,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAC;AACnC;EACA,EAAE,GAAG,CAAC,YAAY,GAAG,YAAW;AAChC;EACA;EACA,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE;EACrB,IAAI,GAAG,CAAC,SAAS,CAAC,YAAY,GAAG,YAAW;EAC5C,GAAG;AACH;EACA,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE;EACjD;EACA,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,GAAG,YAAW;EAC1D,GAAG;EACH,EAAEF,IAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC,aAAY;EACrD,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,GAAA,UAAI,KAAK,EAAE,EAAE,EAAE,IAAI,EAAK;EACjD,IAAIA,IAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAE;EACxE,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAC;EACvC,IAAI,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;EACnD,MAAM,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAC;EACpD,KAAK;AACL;EACA,IAAI,IAAI,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;EACtC,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAC;EACpC,KAAK;EACL,IAAG;EACH,CAAC;AACD;EACO,SAAS,cAAc,GAAG;EACjC,EAAE,OAAOE,+BAAW;EACpB,CAAC;AACD;AACA,cAAe;EACf,EAAA,OAAA,EAAE,OAAO;EACT;;;;;;;;;;;"}
|
|
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, isVue3Vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT\n }\n\n // no need to check for root in vue3, better to show name of component, even if $root\n if (!isVue3Vm && vm.$root === vm) {\n return ROOT_COMPONENT\n }\n\n const options = vm.$options\n if (!options) {\n return ANONYMOUS_COMPONENT\n }\n\n // __name found in vue3\n let name = options.name || options._componentTag || options.__name\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\nconst isVue3Vm = vm => !!(vm && vm.__isVue)\nconst isVue2Vm = vm => !!(vm && vm._isVue)\n\nexport const generateComponentTrace = vm => {\n const vue3Vm = isVue3Vm(vm)\n if ((vue3Vm || isVue2Vm(vm)) && vm.$parent) {\n const tree = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (!vue3Vm && 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], true, vue3Vm)}... (${vm[1]} recursive calls)`\n : formatComponentName(vm, true, vue3Vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm, true, vue3Vm)})`\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\nconst NOTIFIER = {\n name: '@honeybadger-io/vue',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\n\nconst ANONYMOUS_COMPONENT = 'Anonymous Component'\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 if (!vm) {\n return {\n isRoot: false,\n name: ANONYMOUS_COMPONENT,\n }\n }\n\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 honeybadger.setNotifier(NOTIFIER)\n\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 function useHoneybadger() {\n return Honeybadger\n}\n\nexport default {\n install\n}\n"],"names":["const","ANONYMOUS_COMPONENT","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": "6.2.
|
|
3
|
+
"version": "6.2.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Honeybadger Vue.js client",
|
|
6
6
|
"author": "Jason Truesdell <jason@yuzuten.com> (https://github.com/JasonTrue)",
|
|
@@ -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": "^6.
|
|
45
|
+
"@honeybadger-io/js": "^6.11.0",
|
|
46
46
|
"@rollup/plugin-replace": "^5.0.2",
|
|
47
47
|
"@vue/compiler-sfc": "^3.2.37",
|
|
48
48
|
"@vue/test-utils": "^2.0.2",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"engines": {
|
|
84
84
|
"node": ">=14"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "c1190c1fd3483d1b04d8a1cd87b21dba3397b487"
|
|
87
87
|
}
|
package/src/index.js
CHANGED
|
@@ -7,6 +7,8 @@ const NOTIFIER = {
|
|
|
7
7
|
version: '__VERSION__'
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
const ANONYMOUS_COMPONENT = 'Anonymous Component'
|
|
11
|
+
|
|
10
12
|
function shouldLogError (app, options) {
|
|
11
13
|
if (app.config.warnHandler) {
|
|
12
14
|
return true
|
|
@@ -19,6 +21,13 @@ function shouldLogError (app, options) {
|
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
function extractContext (vm) {
|
|
24
|
+
if (!vm) {
|
|
25
|
+
return {
|
|
26
|
+
isRoot: false,
|
|
27
|
+
name: ANONYMOUS_COMPONENT,
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
22
31
|
const options = vm.$options || {}
|
|
23
32
|
const name = options.name || options._componentTag
|
|
24
33
|
const file = options.__file
|