{"version":3,"sources":["webpack:///./node_modules/@sentry/vue/esm/router.js","webpack:///./node_modules/@sentry/vue/esm/constants.js","webpack:///./node_modules/@sentry/vue/esm/components.js","webpack:///./node_modules/@sentry/vue/esm/errorhandler.js","webpack:///./node_modules/@sentry/vue/esm/tracing.js","webpack:///./node_modules/@sentry/vue/esm/sdk.js"],"names":["vueRouterInstrumentation","router","startTransaction","startTransactionOnPageLoad","startTransactionOnLocationChange","onError","error","beforeEach","to","from","next","isPageLoadNavigation","name","matched","length","tags","data","params","query","transactionName","path","transactionSource","toString","op","metadata","source","DEFAULT_HOOKS","classifyRE","classify","str","replace","c","toUpperCase","ROOT_COMPONENT_NAME","ANONYMOUS_COMPONENT_NAME","repeat","n","res","formatComponentName","vm","includeFile","$root","$options","options","_componentTag","file","__file","match","generateComponentTrace","_optionalChain","_","_isVue","_2","__isVue","_3","$parent","tree","currentRecursiveSequence","last","constructor","push","formattedTree","map","i","Array","isArray","join","attachErrorHandler","app","errorHandler","warnHandler","silent","config","lifecycleHook","componentName","trace","attachProps","propsData","$props","setTimeout","withScope","scope","setContext","captureException","call","logErrors","hasConsole","console","message","VUE_OP","HOOKS","activate","create","destroy","mount","update","getActiveTransaction","getScope","_4","getTransaction","_5","finishRootSpan","timestamp","timeout","$_sentryRootSpanTimer","clearTimeout","_6","_7","$_sentryRootSpan","finish","undefined","createTracingMixins","hooks","concat","filter","value","index","self","indexOf","mixins","operation","internalHooks","internalHook","isRoot","this","activeTransaction","startChild","description","shouldTrack","trackComponents","$_sentrySpans","_8","_9","span","time","__SENTRY_DEBUG__","logger","warn","DEFAULT_CONFIG","Vue","_metadata","sdk","packages","version","init","apps","forEach","vueInit","mixin","tracingOptions"],"mappings":"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","file":"js/chunk-vendors~7ddc6ac7.7c81952e.js","sourcesContent":["import { captureException } from '@sentry/browser';\n\n/**\n * Creates routing instrumentation for Vue Router v2\n *\n * @param router The Vue Router instance that is used\n */\nfunction vueRouterInstrumentation(router) {\n return (\n startTransaction,\n startTransactionOnPageLoad = true,\n startTransactionOnLocationChange = true,\n ) => {\n router.onError(error => captureException(error));\n\n router.beforeEach((to, from, next) => {\n // According to docs we could use `from === VueRouter.START_LOCATION` but I couldnt get it working for Vue 2\n // https://router.vuejs.org/api/#router-start-location\n // https://next.router.vuejs.org/api/#start-location\n\n // from.name:\n // - Vue 2: null\n // - Vue 3: undefined\n // hence only '==' instead of '===', because `undefined == null` evaluates to `true`\n var isPageLoadNavigation = from.name == null && from.matched.length === 0;\n\n var tags = {\n 'routing.instrumentation': 'vue-router',\n };\n var data = {\n params: to.params,\n query: to.query,\n };\n\n // Determine a name for the routing transaction and where that name came from\n let transactionName = to.path;\n let transactionSource = 'url';\n if (to.name) {\n transactionName = to.name.toString();\n transactionSource = 'custom';\n } else if (to.matched[0] && to.matched[0].path) {\n transactionName = to.matched[0].path;\n transactionSource = 'route';\n }\n\n if (startTransactionOnPageLoad && isPageLoadNavigation) {\n startTransaction({\n name: transactionName,\n op: 'pageload',\n tags,\n data,\n metadata: {\n source: transactionSource,\n },\n });\n }\n\n if (startTransactionOnLocationChange && !isPageLoadNavigation) {\n startTransaction({\n name: transactionName,\n op: 'navigation',\n tags,\n data,\n metadata: {\n source: transactionSource,\n },\n });\n }\n\n next();\n });\n };\n}\n\nexport { vueRouterInstrumentation };\n//# sourceMappingURL=router.js.map\n","var DEFAULT_HOOKS = ['activate', 'mount', 'update'];\n\nexport { DEFAULT_HOOKS };\n//# sourceMappingURL=constants.js.map\n","import { _optionalChain } from '@sentry/utils/esm/buildPolyfills';\n\n// Vendored directly from https://github.com/vuejs/vue/blob/master/src/core/util/debug.js with types only changes.\nvar classifyRE = /(?:^|[-_])(\\w)/g;\nvar classify = (str) => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');\n\nvar ROOT_COMPONENT_NAME = '';\nvar ANONYMOUS_COMPONENT_NAME = '';\n\nvar repeat = (str, n) => {\n let res = '';\n while (n) {\n if (n % 2 === 1) {\n res += str;\n }\n if (n > 1) {\n str += str; }\n n >>= 1; }\n return res;\n};\n\nvar formatComponentName = (vm, includeFile) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT_NAME;\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT_NAME;\n }\n\n // https://github.com/getsentry/sentry-javascript/issues/5204 $options can be undefined\n if (!vm.$options) {\n return ANONYMOUS_COMPONENT_NAME;\n }\n\n var options = vm.$options;\n\n let name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n if (match) {\n name = match[1];\n }\n }\n\n return (\n (name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT_NAME) + (file && includeFile !== false ? ` at ${file}` : '')\n );\n};\n\nvar generateComponentTrace = (vm) => {\n if ((_optionalChain([vm, 'optionalAccess', _ => _._isVue]) || _optionalChain([vm, 'optionalAccess', _2 => _2.__isVue])) && _optionalChain([vm, 'optionalAccess', _3 => _3.$parent])) {\n var tree = [];\n let currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1] ;\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence += 1;\n vm = vm.$parent; 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 var formattedTree = tree\n .map(\n (vm, i) =>\n `${\n (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) +\n (Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm))\n }`,\n )\n .join('\\n');\n\n return `\\n\\nfound in\\n\\n${formattedTree}`;\n }\n\n return `\\n\\n(found in ${formatComponentName(vm)})`;\n};\n\nexport { formatComponentName, generateComponentTrace };\n//# sourceMappingURL=components.js.map\n","import { getCurrentHub } from '@sentry/browser';\nimport { formatComponentName, generateComponentTrace } from './components.js';\n\nvar attachErrorHandler = (app, options) => {\n const { errorHandler, warnHandler, silent } = app.config;\n\n app.config.errorHandler = (error, vm, lifecycleHook) => {\n var componentName = formatComponentName(vm, false);\n var trace = vm ? generateComponentTrace(vm) : '';\n var metadata = {\n componentName,\n lifecycleHook,\n trace,\n };\n\n if (options.attachProps && vm) {\n // Vue2 - $options.propsData\n // Vue3 - $props\n if (vm.$options && vm.$options.propsData) {\n metadata.propsData = vm.$options.propsData;\n } else if (vm.$props) {\n metadata.propsData = vm.$props;\n }\n }\n\n // Capture exception in the next event loop, to make sure that all breadcrumbs are recorded in time.\n setTimeout(() => {\n getCurrentHub().withScope(scope => {\n scope.setContext('vue', metadata);\n getCurrentHub().captureException(error);\n });\n });\n\n if (typeof errorHandler === 'function') {\n (errorHandler ).call(app, error, vm, lifecycleHook);\n }\n\n if (options.logErrors) {\n var hasConsole = typeof console !== 'undefined';\n var message = `Error in ${lifecycleHook}: \"${error && error.toString()}\"`;\n\n if (warnHandler) {\n (warnHandler ).call(null, message, vm, trace);\n } else if (hasConsole && !silent) {\n console.error(`[Vue warn]: ${message}${trace}`);\n }\n }\n };\n};\n\nexport { attachErrorHandler };\n//# sourceMappingURL=errorhandler.js.map\n","import { _optionalChain } from '@sentry/utils/esm/buildPolyfills';\nimport { getCurrentHub } from '@sentry/browser';\nimport { logger, timestampInSeconds } from '@sentry/utils';\nimport { formatComponentName } from './components.js';\nimport { DEFAULT_HOOKS } from './constants.js';\n\nvar VUE_OP = 'ui.vue';\n\n// Mappings from operation to corresponding lifecycle hook.\nvar HOOKS = {\n activate: ['activated', 'deactivated'],\n create: ['beforeCreate', 'created'],\n destroy: ['beforeDestroy', 'destroyed'],\n mount: ['beforeMount', 'mounted'],\n update: ['beforeUpdate', 'updated'],\n};\n\n/** Grabs active transaction off scope, if any */\nfunction getActiveTransaction() {\n return _optionalChain([getCurrentHub, 'call', _ => _(), 'access', _2 => _2.getScope, 'call', _3 => _3(), 'optionalAccess', _4 => _4.getTransaction, 'call', _5 => _5()]);\n}\n\n/** Finish top-level span and activity with a debounce configured using `timeout` option */\nfunction finishRootSpan(vm, timestamp, timeout) {\n if (vm.$_sentryRootSpanTimer) {\n clearTimeout(vm.$_sentryRootSpanTimer);\n }\n\n vm.$_sentryRootSpanTimer = setTimeout(() => {\n if (_optionalChain([vm, 'access', _6 => _6.$root, 'optionalAccess', _7 => _7.$_sentryRootSpan])) {\n vm.$root.$_sentryRootSpan.finish(timestamp);\n vm.$root.$_sentryRootSpan = undefined;\n }\n }, timeout);\n}\n\nvar createTracingMixins = (options) => {\n var hooks = (options.hooks || [])\n .concat(DEFAULT_HOOKS)\n // Removing potential duplicates\n .filter((value, index, self) => self.indexOf(value) === index);\n\n var mixins = {};\n\n for (var operation of hooks) {\n // Retrieve corresponding hooks from Vue lifecycle.\n // eg. mount => ['beforeMount', 'mounted']\n var internalHooks = HOOKS[operation];\n if (!internalHooks) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Unknown hook: ${operation}`);\n continue;\n }\n\n for (var internalHook of internalHooks) {\n mixins[internalHook] = function () {\n var isRoot = this.$root === this;\n\n if (isRoot) {\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n this.$_sentryRootSpan =\n this.$_sentryRootSpan ||\n activeTransaction.startChild({\n description: 'Application Render',\n op: VUE_OP,\n });\n }\n }\n\n // Skip components that we don't want to track to minimize the noise and give a more granular control to the user\n var name = formatComponentName(this, false);\n var shouldTrack = Array.isArray(options.trackComponents)\n ? options.trackComponents.indexOf(name) > -1\n : options.trackComponents;\n\n // We always want to track root component\n if (!isRoot && !shouldTrack) {\n return;\n }\n\n this.$_sentrySpans = this.$_sentrySpans || {};\n\n // Start a new span if current hook is a 'before' hook.\n // Otherwise, retrieve the current span and finish it.\n if (internalHook == internalHooks[0]) {\n var activeTransaction = _optionalChain([this, 'access', _8 => _8.$root, 'optionalAccess', _9 => _9.$_sentryRootSpan]) || getActiveTransaction();\n if (activeTransaction) {\n this.$_sentrySpans[operation] = activeTransaction.startChild({\n description: `Vue <${name}>`,\n op: `${VUE_OP}.${operation}`,\n });\n }\n } else {\n // The span should already be added via the first handler call (in the 'before' hook)\n var span = this.$_sentrySpans[operation];\n // The before hook did not start the tracking span, so the span was not added.\n // This is probably because it happened before there is an active transaction\n if (!span) return;\n\n span.finish();\n finishRootSpan(this, timestampInSeconds(), options.timeout);\n }\n };\n }\n }\n\n return mixins;\n};\n\nexport { createTracingMixins };\n//# sourceMappingURL=tracing.js.map\n","import { SDK_VERSION, init as init$1 } from '@sentry/browser';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { DEFAULT_HOOKS } from './constants.js';\nimport { attachErrorHandler } from './errorhandler.js';\nimport { createTracingMixins } from './tracing.js';\n\nvar DEFAULT_CONFIG = {\n Vue: getGlobalObject().Vue,\n attachProps: true,\n logErrors: false,\n hooks: DEFAULT_HOOKS,\n timeout: 2000,\n trackComponents: false,\n _metadata: {\n sdk: {\n name: 'sentry.javascript.vue',\n packages: [\n {\n name: 'npm:@sentry/vue',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n },\n },\n};\n\n/**\n * Inits the Vue SDK\n */\nfunction init(\n config = {},\n) {\n var options = {\n ...DEFAULT_CONFIG,\n ...config,\n };\n\n init$1(options);\n\n if (!options.Vue && !options.app) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n 'Misconfigured SDK. Vue specific errors will not be captured.\\n' +\n 'Update your `Sentry.init` call with an appropriate config option:\\n' +\n '`app` (Application Instance - Vue 3) or `Vue` (Vue Constructor - Vue 2).',\n );\n return;\n }\n\n if (options.app) {\n var apps = Array.isArray(options.app) ? options.app : [options.app];\n apps.forEach(app => vueInit(app, options));\n } else if (options.Vue) {\n vueInit(options.Vue, options);\n }\n}\n\nvar vueInit = (app, options) => {\n attachErrorHandler(app, options);\n\n if ('tracesSampleRate' in options || 'tracesSampler' in options) {\n app.mixin(\n createTracingMixins({\n ...options,\n ...options.tracingOptions,\n }),\n );\n }\n};\n\nexport { init };\n//# sourceMappingURL=sdk.js.map\n"],"sourceRoot":""}