Skip to content

Commit e8a7084

Browse files
authored
Merge pull request #4 from flatrun/feat/system-view
feat: Add database management, system views, and CI improvements
2 parents 6836408 + e939777 commit e8a7084

38 files changed

+3679
-2052
lines changed

.eslintrc.cjs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,16 @@ module.exports = {
2020
rules: {
2121
'vue/multi-word-component-names': 'off',
2222
'@typescript-eslint/no-explicit-any': 'off',
23+
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
24+
'vue/max-attributes-per-line': 'off',
25+
'vue/singleline-html-element-content-newline': 'off',
26+
'vue/html-self-closing': ['warn', {
27+
html: { void: 'any', normal: 'always', component: 'always' },
28+
svg: 'always',
29+
math: 'always',
30+
}],
31+
'vue/attributes-order': 'off',
32+
'vue/require-default-prop': 'off',
33+
'vue/use-v-on-exact': 'off',
2334
},
2435
};

.github/workflows/ci.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
8+
9+
jobs:
10+
lint:
11+
name: Lint
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Setup Node.js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: '20'
20+
cache: 'npm'
21+
22+
- name: Install dependencies
23+
run: npm ci
24+
25+
- name: Run ESLint
26+
run: npm run lint
27+
28+
- name: Check formatting
29+
run: npm run format:check
30+
31+
type-check:
32+
name: Type Check
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
37+
- name: Setup Node.js
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: '20'
41+
cache: 'npm'
42+
43+
- name: Install dependencies
44+
run: npm ci
45+
46+
- name: Run type check
47+
run: npm run type-check
48+
49+
build:
50+
name: Build
51+
runs-on: ubuntu-latest
52+
needs: [lint, type-check]
53+
steps:
54+
- uses: actions/checkout@v4
55+
56+
- name: Setup Node.js
57+
uses: actions/setup-node@v4
58+
with:
59+
node-version: '20'
60+
cache: 'npm'
61+
62+
- name: Install dependencies
63+
run: npm ci
64+
65+
- name: Build
66+
run: npm run build
67+
68+
- name: Upload build artifacts
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: dist
72+
path: dist/
73+
retention-days: 7

.prettierrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"semi": true,
3+
"singleQuote": false,
4+
"tabWidth": 2,
5+
"trailingComma": "all",
6+
"printWidth": 100,
7+
"vueIndentScriptAndStyle": false
8+
}

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414
"dev": "vite",
1515
"build": "vue-tsc && vite build",
1616
"preview": "vite preview",
17+
"type-check": "vue-tsc --noEmit",
1718
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore",
1819
"lint:fix": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
19-
"format": "prettier --write src/"
20+
"format": "prettier --write src/",
21+
"format:check": "prettier --check src/"
2022
},
2123
"dependencies": {
2224
"@codemirror/lang-yaml": "^6.1.2",

src/App.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ import ToastNotifications from "@/components/ToastNotifications.vue";
1717
}
1818
1919
body {
20-
font-family:
21-
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
22-
sans-serif;
20+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
2321
background-color: #f8fafc;
2422
color: #1e293b;
2523
}

src/assets/design-system.css

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,7 @@
7272
--space-12: 3rem;
7373

7474
/* Typography */
75-
--font-sans:
76-
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
77-
sans-serif;
75+
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
7876
--font-mono: "JetBrains Mono", "SF Mono", "Consolas", monospace;
7977

8078
--text-xs: 0.6875rem;

src/components/ConfirmModal.vue

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
<template>
22
<Teleport to="body">
33
<Transition name="modal">
4-
<div
5-
v-if="visible"
6-
class="modal-overlay"
7-
@click.self="!loading && emit('cancel')"
8-
>
4+
<div v-if="visible" class="modal-overlay" @click.self="!loading && emit('cancel')">
95
<div class="confirm-modal" :class="variant">
106
<div class="modal-header">
117
<div class="header-icon" :class="variant">
@@ -18,11 +14,7 @@
1814
<p v-if="warning" class="warning-text">{{ warning }}</p>
1915
</div>
2016
<div class="modal-footer">
21-
<button
22-
class="btn btn-secondary"
23-
:disabled="loading"
24-
@click="emit('cancel')"
25-
>
17+
<button class="btn btn-secondary" :disabled="loading" @click="emit('cancel')">
2618
{{ cancelText }}
2719
</button>
2820
<button
@@ -60,7 +52,7 @@ const props = withDefaults(
6052
confirmText: "Confirm",
6153
cancelText: "Cancel",
6254
loading: false,
63-
}
55+
},
6456
);
6557
6658
const emit = defineEmits<{

0 commit comments

Comments
 (0)