Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,66 @@ env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
lint-and-check:
name: Lint & Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: ESLint
run: npm run lint

- name: Prettier
run: npm run format:check

- name: Svelte Check
run: npm run check

rust-check:
name: Rust Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libasound2-dev \
cmake

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt

- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri

- name: Check formatting
run: cargo fmt --manifest-path src-tauri/Cargo.toml -- --check

- name: Clippy
run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings

build:
name: Build (${{ matrix.os }})
needs: [lint-and-check, rust-check]
strategy:
fail-fast: false
matrix:
Expand Down
7 changes: 7 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
build/
dist/
.svelte-kit/
src-tauri/target/
src-tauri/gen/
node_modules/
package-lock.json
15 changes: 15 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
16 changes: 8 additions & 8 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"recommendations": [
"rust-lang.rust-analyzer",
"svelte.svelte-vscode",
"bradlc.vscode-tailwindcss",
"esbenp.prettier-vscode",
"tauri-apps.tauri-vscode",
"vadimcn.vscode-lldb"
]
"recommendations": [
"rust-lang.rust-analyzer",
"svelte.svelte-vscode",
"bradlc.vscode-tailwindcss",
"esbenp.prettier-vscode",
"tauri-apps.tauri-vscode",
"vadimcn.vscode-lldb"
]
}
70 changes: 35 additions & 35 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Tauri",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/src-tauri/target/debug/pisum-transcript",
"windows": {
"program": "${workspaceFolder}/src-tauri/target/debug/pisum-transcript.exe"
},
"cwd": "${workspaceFolder}/src-tauri",
"env": {
"RUST_LOG": "debug",
"RUST_BACKTRACE": "1"
},
"preLaunchTask": "tauri: debug build",
"postDebugTask": "kill vite"
},
{
"name": "Tauri: Dev (full)",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"osx": {
"runtimeExecutable": "/usr/local/bin/npm"
},
"windows": {
"runtimeExecutable": "C:\\Program Files\\nodejs\\npm.cmd"
},
"runtimeArgs": ["run", "tauri:dev"],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"skipFiles": ["<node_internals>/**"]
}
]
"version": "0.2.0",
"configurations": [
{
"name": "Debug Tauri",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/src-tauri/target/debug/pisum-transcript",
"windows": {
"program": "${workspaceFolder}/src-tauri/target/debug/pisum-transcript.exe"
},
"cwd": "${workspaceFolder}/src-tauri",
"env": {
"RUST_LOG": "debug",
"RUST_BACKTRACE": "1"
},
"preLaunchTask": "tauri: debug build",
"postDebugTask": "kill vite"
},
{
"name": "Tauri: Dev (full)",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"osx": {
"runtimeExecutable": "/usr/local/bin/npm"
},
"windows": {
"runtimeExecutable": "C:\\Program Files\\nodejs\\npm.cmd"
},
"runtimeArgs": ["run", "tauri:dev"],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"skipFiles": ["<node_internals>/**"]
}
]
}
40 changes: 20 additions & 20 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{
"rust-analyzer.linkedProjects": ["src-tauri/Cargo.toml"],
"rust-analyzer.check.command": "clippy",
"rust-analyzer.cargo.features": "all",
"[rust]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "rust-lang.rust-analyzer"
},
"[svelte]": {
"editor.defaultFormatter": "svelte.svelte-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.associations": {
"*.css": "tailwindcss"
},
"css.validate": false,
"editor.quickSuggestions": {
"strings": "on"
}
"rust-analyzer.linkedProjects": ["src-tauri/Cargo.toml"],
"rust-analyzer.check.command": "clippy",
"rust-analyzer.cargo.features": "all",
"[rust]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "rust-lang.rust-analyzer"
},
"[svelte]": {
"editor.defaultFormatter": "svelte.svelte-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.associations": {
"*.css": "tailwindcss"
},
"css.validate": false,
"editor.quickSuggestions": {
"strings": "on"
}
}
Loading
Loading