Better information extraction from x509 command (#20)

- Fixes some issues with IPv6-only build on Forgejo
- Adds experimental Dockerfile for devemopment deployment
Co-authored-by: Ghost <>
Co-committed-by: Ghost <>
This commit is contained in:
Ghost 2025-04-21 10:16:26 +00:00 committed by MarkL4G
parent 0cac57dd15
commit 2b640d7578
19 changed files with 2429 additions and 939 deletions

View file

@ -1,15 +0,0 @@
/* eslint-disable */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
export {}
/* prettier-ignore */
declare module 'vue' {
export interface GlobalComponents {
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
Home: typeof import('./src/components/Home.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
}
}

View file

@ -13,30 +13,38 @@
},
"dependencies": {
"@mdi/font": "7.4.47",
"core-js": "^3.37.1",
"core-js": "^3.41.0",
"roboto-fontface": "*",
"vue": "^3.4.31",
"vuetify": "^3.6.14"
"vue": "^3.5.13",
"vuetify": "^3.8.1"
},
"devDependencies": {
"@eslint/js": "^9.14.0",
"@tsconfig/node22": "^22.0.0",
"@types/node": "^22.9.0",
"@vitejs/plugin-vue": "^5.1.4",
"@vue/eslint-config-typescript": "^14.1.3",
"@vue/tsconfig": "^0.5.1",
"eslint": "^9.14.0",
"eslint-plugin-vue": "^9.30.0",
"npm-run-all2": "^7.0.1",
"sass": "1.77.8",
"sass-embedded": "^1.77.8",
"typescript": "~5.6.3",
"unplugin-fonts": "^1.1.1",
"unplugin-vue-components": "^0.27.2",
"unplugin-vue-router": "^0.10.0",
"vite": "^5.4.10",
"vite-plugin-vuetify": "^2.0.3",
"vue-router": "^4.4.0",
"vue-tsc": "^2.1.10"
}
"@eslint/js": "^9.24.0",
"@tsconfig/node22": "^22.0.1",
"@types/node": "^22.14.1",
"@vitejs/plugin-basic-ssl": "^2.0.0",
"@vitejs/plugin-vue": "^5.2.3",
"@vue/eslint-config-typescript": "^14.5.0",
"@vue/language-server": "^2.2.8",
"@vue/tsconfig": "^0.7.0",
"eslint": "^9.24.0",
"eslint-plugin-vue": "^10.0.0",
"msw": "^2.7.4",
"npm-run-all2": "^7.0.2",
"sass": "1.86.3",
"sass-embedded": "^1.86.3",
"typescript": "^5.8.3",
"unplugin-fonts": "^1.3.1",
"unplugin-vue-components": "^28.5.0",
"unplugin-vue-router": "^0.12.0",
"vite": "^6.2.6",
"vite-plugin-vuetify": "^2.1.1",
"vue-router": "^4.5.0",
"vue-tsc": "^2.2.8"
},
"engines": {
"node": "^22.14",
"pnpm": "^10.7"
},
"engineStrict": true
}

2862
frontend/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -73,7 +73,9 @@
rounded="lg"
title="Internet certificate support"
variant="text"
/>
>
{{ loggedInUser?.name }}
</v-card>
</v-col>
</v-row>
</v-responsive>
@ -81,5 +83,12 @@
</template>
<script setup lang="ts">
import {onMounted, ref} from "vue";
const loggedInUser = ref<{name: string} | null>(null);
onMounted(async () => {
loggedInUser.value = await (await fetch('http://localhost:8080/api/v1/users/self')).json();
})
//
</script>

View file

@ -1,9 +1,14 @@
import { registerPlugins } from '@/plugins'
import { setupBackendMocking } from '@/plugins/mock-service-worker';
import App from './App.vue'
import { createApp } from 'vue'
if (import.meta.env.DEV) {
setupBackendMocking().then(worker => worker.start());
}
const app = createApp(App)
registerPlugins(app)

View file

@ -0,0 +1,19 @@
import {http, HttpResponse} from "msw";
import {setupWorker} from "msw/browser";
export const MOCK_BASEURL = "http://localhost:8080";
const setupHandlers = async () => {
return [
http.get(`${MOCK_BASEURL}/api/v1/users/self`, () => HttpResponse.json({
id: window.crypto.randomUUID(),
name: 'Max Mustermann',
mail: 'testmail@example.com',
})),
]
}
export async function setupBackendMocking() {
const handlers = await setupHandlers();
return setupWorker(...handlers);
}

View file

@ -1,6 +1,5 @@
{
"files": [],
"include": ["./typed-router.d.ts"],
"references": [
{
"path": "./tsconfig.node.json"

View file

@ -2,8 +2,8 @@ import Components from 'unplugin-vue-components/vite'
import Vue from '@vitejs/plugin-vue'
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
import ViteFonts from 'unplugin-fonts/vite'
import VueRouter from 'unplugin-vue-router/vite'
import VueRouter from 'unplugin-vue-router/vite'
import { defineConfig } from 'vite'
import { fileURLToPath, URL } from 'node:url'