sentry: send sourcmap to sentry to improve debugging (#573)

Co-authored-by: neil molina <neil@neils-MacBook-Pro.local>
This commit is contained in:
Neil 2023-05-08 12:36:49 +08:00 committed by GitHub
parent 58a3f0853a
commit 8a6ceee712
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 169 additions and 9 deletions

View file

@ -105,6 +105,7 @@ jobs:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
PUSHY_APP_ID: ${{ secrets.PUSHY_APP_ID }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- name: build artifacts for publishing and notarization
run: |

View file

@ -22,6 +22,7 @@ if (app.isPackaged) {
Sentry.init({
dsn: "https://5ff29bb5b3b64cd4bd4f4960ef1db2e3@o4504750197899264.ingest.sentry.io/4504750206746624",
debug: true,
release: app.getVersion(),
transportOptions: {
maxQueueAgeDays: 30,
maxQueueCount: 30,

View file

@ -1,5 +1,7 @@
import { join } from "path";
import { viteStaticCopy } from "vite-plugin-static-copy";
import { sentryVitePlugin } from "@sentry/vite-plugin";
import { version } from "../package.json";
const PACKAGE_ROOT = __dirname;
const PROJECT_ROOT = join(PACKAGE_ROOT, "../..");
@ -18,7 +20,7 @@ const config = {
},
build: {
ssr: true,
sourcemap: "inline",
sourcemap: true,
outDir: "dist",
assetsDir: ".",
minify: process.env.MODE !== "development",
@ -42,7 +44,17 @@ const config = {
dest: "."
}
]
})
}),
process.env.SENTRY_AUTH_TOKEN &&
sentryVitePlugin({
org: "tea-inc",
project: "electron",
authToken: process.env.SENTRY_AUTH_TOKEN,
sourcemaps: {
assets: "./dist/**"
},
release: version
})
]
};

View file

@ -38,8 +38,8 @@
"@sveltejs/adapter-node": "^1.0.0-next.101",
"@sveltejs/adapter-static": "^1.0.0-next.48",
"@sveltejs/kit": "^1.15.9",
"@tea/ui": "workspace:*",
"@tea/libtea": "workspace:*",
"@tea/ui": "workspace:*",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/svelte": "^3.2.2",
"@types/bcryptjs": "^2.4.2",
@ -79,6 +79,7 @@
"@sentry/browser": "^7.49.0",
"@sentry/electron": "^4.4.0",
"@sentry/svelte": "^7.47.0",
"@sentry/vite-plugin": "^0.7.2",
"@types/electron": "^1.6.10",
"@types/mousetrap": "^1.6.11",
"@vitest/coverage-c8": "^0.27.1",
@ -120,4 +121,4 @@
},
"homepage": "https://tea.xyz",
"repository": "https://github.com/teaxyz/gui.git"
}
}

View file

@ -1,11 +1,28 @@
import { sveltekit } from "@sveltejs/kit/vite";
import { sentryVitePlugin } from "@sentry/vite-plugin";
import type { UserConfig } from "vite";
import path from "path";
import { version } from "./package.json";
const isMock = process.env.BUILD_FOR === "preview";
const config: UserConfig = {
plugins: [sveltekit()],
build: {
sourcemap: true
},
plugins: [
sveltekit(),
process.env.SENTRY_AUTH_TOKEN &&
sentryVitePlugin({
org: "tea-inc",
project: "electron",
authToken: process.env.SENTRY_AUTH_TOKEN,
sourcemaps: {
assets: "./build/**"
},
release: version
})
],
resolve: {
alias: {
"@tea/ui/*": path.resolve("../ui/src/*"),

View file

@ -22,6 +22,7 @@ importers:
'@sentry/browser': ^7.49.0
'@sentry/electron': ^4.4.0
'@sentry/svelte': ^7.47.0
'@sentry/vite-plugin': ^0.7.2
'@sveltejs/adapter-auto': ^1.0.0
'@sveltejs/adapter-node': ^1.0.0-next.101
'@sveltejs/adapter-static': ^1.0.0-next.48
@ -97,6 +98,7 @@ importers:
'@sentry/browser': 7.50.0
'@sentry/electron': 4.5.0
'@sentry/svelte': 7.50.0_svelte@3.58.0
'@sentry/vite-plugin': 0.7.2
'@types/electron': 1.6.10
'@types/mousetrap': 1.6.11
'@vitest/coverage-c8': 0.27.3_jsdom@21.1.2
@ -2183,6 +2185,16 @@ packages:
tslib: 1.14.1
dev: false
/@sentry-internal/tracing/7.51.0:
resolution: {integrity: sha512-mhXl4B02OQq6/vevjX04OchmQbxPRaLci9vTTPcPcIz/n+wkum29ze35gHcJsPJUesScjd0m19Xou3C8fNnZRA==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.51.0
'@sentry/types': 7.51.0
'@sentry/utils': 7.51.0
tslib: 1.14.1
dev: false
/@sentry/browser/7.48.0:
resolution: {integrity: sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==}
engines: {node: '>=8'}
@ -2207,6 +2219,39 @@ packages:
tslib: 1.14.1
dev: false
/@sentry/bundler-plugin-core/0.7.2:
resolution: {integrity: sha512-9d1MxEgRkPCTewQ26Bs+J/GxvnNVIRuQPZrHs70qRLotMiedH4KlHauh2MhbgH5rdgm0DUeOcafhxoBSK7ji3w==}
engines: {node: '>= 10'}
dependencies:
'@sentry/cli': 2.17.5
'@sentry/node': 7.48.0
'@sentry/tracing': 7.51.0
find-up: 5.0.0
glob: 9.3.2
magic-string: 0.27.0
unplugin: 1.0.1
webpack-sources: 3.2.3
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@sentry/cli/2.17.5:
resolution: {integrity: sha512-0tXjLDpaKB46851EMJ6NbP0o9/gdEaDSLAyjEtXxlVO6+RyhUj6x6jDwn0vis8n/7q0AvbIjAcJrot+TbZP+WQ==}
engines: {node: '>= 10'}
hasBin: true
requiresBuild: true
dependencies:
https-proxy-agent: 5.0.1
node-fetch: 2.6.9
progress: 2.0.3
proxy-from-env: 1.1.0
which: 2.0.2
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@sentry/core/7.48.0:
resolution: {integrity: sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==}
engines: {node: '>=8'}
@ -2225,6 +2270,15 @@ packages:
tslib: 1.14.1
dev: false
/@sentry/core/7.51.0:
resolution: {integrity: sha512-GgYwlXU8Y1kDEHsJO1Bmr2CNan5BzoNRR0TDBmxRgI/DgTNNSYrXeFDELgPi9/p/0XENeuttzDZ3iYd1nF7meA==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.51.0
'@sentry/utils': 7.51.0
tslib: 1.14.1
dev: false
/@sentry/electron/4.5.0:
resolution: {integrity: sha512-Xe5PsaiCw8CfqpgF9BQ0hn2fhBWqGHXPQgCh5oSLWOrck3MRhpWqH3g1sZJYlTBueJVXh5hxv1LveZwuKDiG2w==}
dependencies:
@ -2287,6 +2341,13 @@ packages:
tslib: 1.14.1
dev: false
/@sentry/tracing/7.51.0:
resolution: {integrity: sha512-NXBW0ucxb2MJJbkzPfwpaLGEs8DrSTp6FwqG6ejRdVydViyoWKFaRl0dedw1u2ACGDITEYnTfLO6YWTc3ruUNA==}
engines: {node: '>=8'}
dependencies:
'@sentry-internal/tracing': 7.51.0
dev: false
/@sentry/types/7.48.0:
resolution: {integrity: sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==}
engines: {node: '>=8'}
@ -2297,6 +2358,11 @@ packages:
engines: {node: '>=8'}
dev: false
/@sentry/types/7.51.0:
resolution: {integrity: sha512-8REzzY0DslDryp6Yxj+tJ4NkXFHulLW9k8dgZV2Qo/0rBDMKir8g0IHYeN8ZBcnWrx2F+6rQb6uN6BjyLZY7Dg==}
engines: {node: '>=8'}
dev: false
/@sentry/utils/7.48.0:
resolution: {integrity: sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==}
engines: {node: '>=8'}
@ -2313,6 +2379,24 @@ packages:
tslib: 1.14.1
dev: false
/@sentry/utils/7.51.0:
resolution: {integrity: sha512-y5zq4IfZDCm6cg0EQJMghUM4YjZToFni7J5OKopLXKVtc9YtRtkYoFuFqEWm4HBuBwplreiS/KkDQgWn3FVn7A==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.51.0
tslib: 1.14.1
dev: false
/@sentry/vite-plugin/0.7.2:
resolution: {integrity: sha512-gprT6wyc1JEtjZcWjv1jQSjT2QV62ZCLmXsjK4oKosb0uaaUMR4UgKxorZyNPGSY08YangjumeJZ7UX0/zakkw==}
engines: {node: '>= 10'}
dependencies:
'@sentry/bundler-plugin-core': 0.7.2
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@sinclair/typebox/0.25.24:
resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
dev: true
@ -4501,7 +4585,6 @@ packages:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
dependencies:
balanced-match: 1.0.2
dev: true
/braces/3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
@ -6587,6 +6670,16 @@ packages:
once: 1.4.0
dev: true
/glob/9.3.2:
resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
fs.realpath: 1.0.0
minimatch: 7.4.6
minipass: 4.2.8
path-scurry: 1.7.0
dev: false
/global-agent/3.0.0:
resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==}
engines: {node: '>=10.0'}
@ -7655,6 +7748,11 @@ packages:
dependencies:
yallist: 4.0.0
/lru-cache/9.1.1:
resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==}
engines: {node: 14 || >=16.14}
dev: false
/lru_map/0.3.3:
resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==}
dev: false
@ -7682,7 +7780,6 @@ packages:
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
/magic-string/0.30.0:
resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
@ -7848,6 +7945,13 @@ packages:
brace-expansion: 2.0.1
dev: true
/minimatch/7.4.6:
resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
engines: {node: '>=10'}
dependencies:
brace-expansion: 2.0.1
dev: false
/minimist/1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@ -7861,7 +7965,11 @@ packages:
/minipass/4.2.8:
resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
engines: {node: '>=8'}
dev: true
/minipass/5.0.0:
resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
engines: {node: '>=8'}
dev: false
/minizlib/2.1.2:
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
@ -8309,6 +8417,14 @@ packages:
/path-parse/1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
/path-scurry/1.7.0:
resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
lru-cache: 9.1.1
minipass: 5.0.0
dev: false
/path-to-regexp/0.1.7:
resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
dev: true
@ -10297,6 +10413,15 @@ packages:
webpack-virtual-modules: 0.4.6
dev: true
/unplugin/1.0.1:
resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==}
dependencies:
acorn: 8.8.2
chokidar: 3.5.3
webpack-sources: 3.2.3
webpack-virtual-modules: 0.5.0
dev: false
/untildify/4.0.0:
resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
engines: {node: '>=8'}
@ -10677,12 +10802,15 @@ packages:
/webpack-sources/3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
dev: true
/webpack-virtual-modules/0.4.6:
resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==}
dev: true
/webpack-virtual-modules/0.5.0:
resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
dev: false
/whatwg-encoding/2.0.0:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}