Skip to content

Commit

Permalink
Merge pull request #119 from filips123/update-dependencies
Browse files Browse the repository at this point in the history
Update dependencies
  • Loading branch information
filips123 authored Dec 29, 2024
2 parents 82d41b8 + 2775f4d commit 61f89c6
Show file tree
Hide file tree
Showing 13 changed files with 2,778 additions and 1,865 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install Poetry
run: |
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install Poetry
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install Poetry
run: |
Expand Down
2 changes: 1 addition & 1 deletion API/gimvicurnik/utils/sentry.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
SP = ParamSpec("SP")
SR = TypeVar("SR")

__all__ = ["start_transaction", "start_span", "with_transaction", "with_span", "sentry_available"]
__all__ = ["sentry_available", "start_span", "start_transaction", "with_span", "with_transaction"]


class WithMock(Mock):
Expand Down
584 changes: 300 additions & 284 deletions API/poetry.lock

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions API/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,29 +39,29 @@ gimvicurnik = "gimvicurnik.__main__:main"
[tool.poetry.dependencies]
python = "^3.10"
PyYAML = "^6.0.2"
flask = "^3.0.3"
click = "^8.1.7"
attrs = "~24.2.0"
flask = "^3.1.0"
click = "^8.1.8"
attrs = "~24.3.0"
cattrs = "~24.1.2"
requests = "^2.32.3"
SQLAlchemy = "^2.0.36"
pdfplumber = "^0.11.4"
openpyxl = "^3.1.5"
mammoth = "^1.8.0"
icalendar = "^6.0.1"
icalendar = "^6.1.0"
beautifulsoup4 = { version = "^4.12.3", extras = ["lxml"] }

# Optional support for Sentry integration
sentry-sdk = { version = "^2.17.0", extras = ["flask", "sqlalchemy", "pure_eval"], optional = true }
sentry-sdk = { version = "^2.19.2", extras = ["flask", "sqlalchemy", "pure_eval"], optional = true }

# Optional support for different databases
PyMySQL = { version = "^1.1.1", optional = true }
mysqlclient = { version = "^2.2.5", optional = true }
mysqlclient = { version = "^2.2.6", optional = true }
psycopg2 = { version = "^2.9.10", optional = true }

[tool.poetry.group.dev.dependencies]
mypy = "^1.13.0"
ruff = "^0.7.2"
mypy = "^1.14.0"
ruff = "^0.8.4"
types-pyyaml = "^6.0.12"
types-openpyxl = "^3.1.5"
types-requests = "^2.32.0"
Expand Down
27 changes: 0 additions & 27 deletions website/.eslintrc.cjs

This file was deleted.

50 changes: 50 additions & 0 deletions website/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import path from 'node:path'
import { fileURLToPath } from 'node:url'

import { includeIgnoreFile } from '@eslint/compat'
import eslint from '@eslint/js'
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'
import vueTsEslintConfig from '@vue/eslint-config-typescript'
import pluginSimpleImportSort from 'eslint-plugin-simple-import-sort'
import pluginVue from 'eslint-plugin-vue'

const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const gitignorePath = path.resolve(__dirname, '..', '.gitignore')

export default [
{
name: 'app/files-to-lint',
files: ['**/*.{vue,js,jsx,cjs,mjs,ts,tsx,cts,mts}'],
},

// Ignore files specified in .gitignore
includeIgnoreFile(gitignorePath),

// Use recommended config as base
eslint.configs.recommended,

// Use recommended Vue config
...pluginVue.configs['flat/recommended'],

// Use recommended TypeScript config
...vueTsEslintConfig({ extends: ['recommended'] }),

// Disable formatting rules as they are handled by Prettier
skipFormatting,

{
plugins: {
'simple-import-sort': pluginSimpleImportSort,
},
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'simple-import-sort/imports': 'error',
eqeqeq: 'error',
'no-cond-assign': 'error',
'no-class-assign': 'error',
'no-const-assign': 'error',
'accessor-pairs': 'warn',
},
},
]
51 changes: 27 additions & 24 deletions website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,44 +19,47 @@
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"lint": "eslint --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path ../.gitignore .",
"lint": "eslint .",
"typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
"format": "prettier src plugins ${0:- --check}"
},
"packageManager": "yarn@4.5.1",
"packageManager": "yarn@4.6.0",
"dependencies": {
"@mdi/js": "^7.4.47",
"@sentry/browser": "^8.36.0",
"@sentry/types": "^8.36.0",
"@sentry/vue": "^8.36.0",
"@vueuse/core": "^11.2.0",
"pinia": "^2.2.5",
"pinia-plugin-persistedstate": "^4.1.2",
"@sentry/browser": "^8.47.0",
"@sentry/core": "^8.47.0",
"@sentry/vue": "^8.47.0",
"@vueuse/core": "^12.2.0",
"pinia": "^2.3.0",
"pinia-plugin-persistedstate": "^4.2.0",
"pulltorefreshjs": "^0.1.22",
"vue": "^3.5.12",
"vue-router": "^4.4.5",
"vuetify": "^3.7.3"
"vue": "^3.5.13",
"vue-router": "^4.5.0",
"vuetify": "^3.7.6"
},
"devDependencies": {
"@eslint/compat": "^1.2.4",
"@eslint/js": "^9.17.0",
"@rushstack/eslint-patch": "^1.10.4",
"@sentry/vite-plugin": "^2.22.6",
"@sentry/vite-plugin": "^2.22.7",
"@tsconfig/node20": "^20.1.4",
"@types/node": "^20.17.5",
"@types/node": "^20.17.10",
"@types/pulltorefreshjs": "^0.1.7",
"@vitejs/plugin-vue": "^5.1.4",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.57.1",
"@vitejs/plugin-vue": "^5.2.1",
"@vue/eslint-config-prettier": "^10.1.0",
"@vue/eslint-config-typescript": "^14.2.0",
"@vue/tsconfig": "^0.7.0",
"eslint": "^9.17.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-vue": "^9.30.0",
"prettier": "^3.3.3",
"typescript": "~5.5.4",
"vite": "^5.4.10",
"eslint-plugin-vue": "^9.32.0",
"prettier": "^3.4.2",
"typescript": "~5.7.2",
"vite": "^6.0.6",
"vite-plugin-html": "^3.2.2",
"vite-plugin-pwa": "^0.20.5",
"vite-plugin-pwa": "^0.21.1",
"vite-plugin-vue-devtools": "^7.6.8",
"vite-plugin-vuetify": "^2.0.4",
"vue-tsc": "^2.1.10"
"vue-tsc": "^2.2.0"
}
}
49 changes: 28 additions & 21 deletions website/src/registerSentry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,17 @@ import {
setHttpStatus,
startBrowserTracingNavigationSpan,
} from '@sentry/browser'
import type { Integration, Span, SpanAttributes, TransactionSource } from '@sentry/types'
import type { Integration, Span, SpanAttributes, TransactionSource } from '@sentry/core'
import {
browserProfilingIntegration,
browserSessionIntegration,
extraErrorDataIntegration,
httpClientIntegration,
httpContextIntegration,
init as sentryInit,
reportingObserverIntegration,
thirdPartyErrorFilterIntegration,
vueIntegration,
} from '@sentry/vue'
import type { App } from 'vue'
import type { Router } from 'vue-router'
Expand All @@ -38,23 +41,6 @@ export default function registerSentry(app: App, router: Router) {
const tracesSampleRate = import.meta.env.VITE_SENTRY_TRACES_SAMPLE_RATE
const profilesSampleRate = import.meta.env.VITE_SENTRY_PROFILES_SAMPLE_RATE

// Include additional always-enabled integrations
const integrations = [
extraErrorDataIntegration({ depth: 8 }),
reportingObserverIntegration(),
httpClientIntegration(),
thirdPartyErrorFilterIntegration({
filterKeys: [import.meta.env.VITE_SENTRY_APPLICATION_KEY],
behaviour: 'apply-tag-if-contains-third-party-frames',
}),
]

// Add performance integrations if enabled in settings
if (dataCollectionPerformance) {
if (tracesSampleRate) integrations.push(browserTracingIntegration(router))
if (profilesSampleRate) integrations.push(browserProfilingIntegration())
}

// Track only base components for performance
const trackedComponents = [
'VApp',
Expand All @@ -74,6 +60,30 @@ export default function registerSentry(app: App, router: Router) {
'NotFound',
]

// Include additional always-enabled integrations
const integrations = [
extraErrorDataIntegration({ depth: 8 }),
reportingObserverIntegration(),
httpClientIntegration(),
httpContextIntegration(),
thirdPartyErrorFilterIntegration({
filterKeys: [import.meta.env.VITE_SENTRY_APPLICATION_KEY],
behaviour: 'apply-tag-if-contains-third-party-frames',
}),
vueIntegration({
tracingOptions: {
trackComponents: dataCollectionPerformance ? trackedComponents : false,
},
}),
]

// Add performance integrations if enabled in settings
if (dataCollectionPerformance) {
integrations.push(browserSessionIntegration())
if (tracesSampleRate) integrations.push(browserTracingIntegration(router))
if (profilesSampleRate) integrations.push(browserProfilingIntegration())
}

// Init the Sentry SDK
sentryInit({
app,
Expand All @@ -88,9 +98,6 @@ export default function registerSentry(app: App, router: Router) {
environment: import.meta.env.MODE,
release: releasePrefix + import.meta.env.VITE_VERSION + releaseSuffix,

autoSessionTracking: dataCollectionPerformance,
trackComponents: dataCollectionPerformance ? trackedComponents : false,

integrations,
})

Expand Down
2 changes: 1 addition & 1 deletion website/src/utils/colors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export enum AccentColorName {
Black = 'black',
}

export type AccentColor = {
export interface AccentColor {
/**
* The name of the accent color.
*/
Expand Down
2 changes: 1 addition & 1 deletion website/src/views/ViewSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ const feedbackDialog = ref(false)
const appVersion = import.meta.env.VITE_VERSION
async function updateApp() {
function updateApp() {
// Add GET parameter to invalidate the cache of the index HTML file
// The service worker waiting is skipped on the next load
location.href = '?update=' + new Date().getTime()
Expand Down
2 changes: 2 additions & 0 deletions website/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import Vue, { Options as VueOptions } from '@vitejs/plugin-vue'
import { defineConfig, loadEnv, PluginOption } from 'vite'
import { createHtmlPlugin as Html } from 'vite-plugin-html'
import { VitePWA, VitePWAOptions } from 'vite-plugin-pwa'
import VueDevTools from 'vite-plugin-vue-devtools'
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'

import { version as appVersion } from './package.json'
Expand Down Expand Up @@ -103,6 +104,7 @@ export default defineConfig(({ mode }) => {

const plugins: PluginOption = [
Vue(vueConfig),
VueDevTools(),
Vuetify(),
Html(htmlConfig),
VitePWA(pwaConfig),
Expand Down
Loading

0 comments on commit 61f89c6

Please sign in to comment.