Skip to content

Commit cf45a77

Browse files
committed
Add Linting
1 parent babd764 commit cf45a77

5 files changed

Lines changed: 85 additions & 32 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ jobs:
88
test:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v4
12-
- uses: actions/setup-node@v4
11+
- uses: actions/checkout@v5
12+
- uses: actions/setup-node@v5
1313
with:
1414
node-version: 20
1515
cache: npm
@@ -22,7 +22,7 @@ jobs:
2222
needs: test
2323
runs-on: ubuntu-latest
2424
steps:
25-
- uses: actions/checkout@v4
25+
- uses: actions/checkout@v5
2626

2727
- name: Connect to Tailscale
2828
uses: tailscale/github-action@v2

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ jobs:
1010
test:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
13+
- uses: actions/checkout@v5
1414

15-
- uses: actions/setup-node@v4
15+
- uses: actions/setup-node@v5
1616
with:
1717
node-version: 20
1818
cache: npm

eslint.config.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import js from '@eslint/js';
2+
import ts from '@typescript-eslint/eslint-plugin';
3+
import tsParser from '@typescript-eslint/parser';
4+
import svelte from 'eslint-plugin-svelte';
5+
import svelteParser from 'svelte-eslint-parser';
6+
import globals from 'globals';
7+
8+
/** @type {import('eslint').Linter.Config[]} */
9+
export default [
10+
js.configs.recommended,
11+
{
12+
languageOptions: {
13+
globals: { ...globals.browser, ...globals.node },
14+
},
15+
rules: {
16+
'no-unused-vars': ['error', { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }],
17+
},
18+
},
19+
{
20+
files: ['**/*.ts'],
21+
languageOptions: {
22+
parser: tsParser,
23+
globals: { ...globals.browser, ...globals.node },
24+
},
25+
plugins: { '@typescript-eslint': ts },
26+
rules: {
27+
...ts.configs.recommended.rules,
28+
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
29+
'@typescript-eslint/no-explicit-any': 'warn',
30+
},
31+
},
32+
{
33+
files: ['**/*.svelte'],
34+
languageOptions: {
35+
parser: svelteParser,
36+
parserOptions: { parser: tsParser },
37+
globals: { ...globals.browser },
38+
},
39+
plugins: { svelte },
40+
rules: {
41+
...svelte.configs.recommended.rules,
42+
// Svelte 5 runes pattern — initialising state from page data is intentional
43+
'svelte/valid-compile': ['warn', { ignoreWarnings: true }],
44+
// a11y covered by svelte-check, not needed here
45+
'svelte/no-unused-svelte-ignore': 'warn',
46+
},
47+
},
48+
{
49+
files: ['**/*.d.ts'],
50+
rules: { '@typescript-eslint/no-empty-object-type': 'off' },
51+
},
52+
{
53+
ignores: ['.svelte-kit/**', 'build/**', 'node_modules/**'],
54+
},
55+
];

package-lock.json

Lines changed: 17 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,22 @@
1616
"@sveltejs/adapter-node": "^5.2.0",
1717
"@sveltejs/kit": "^2.9.0",
1818
"@sveltejs/vite-plugin-svelte": "^5.0.0",
19+
"@typescript-eslint/eslint-plugin": "^8.0.0",
20+
"@typescript-eslint/parser": "^8.0.0",
21+
"eslint": "^9.0.0",
22+
"eslint-plugin-svelte": "^2.46.0",
1923
"svelte": "^5.0.0",
2024
"svelte-check": "^4.1.0",
2125
"typescript": "^5.7.0",
2226
"vite": "^6.0.0",
23-
"vitest": "^2.1.0",
24-
"@typescript-eslint/eslint-plugin": "^8.0.0",
25-
"@typescript-eslint/parser": "^8.0.0",
26-
"eslint": "^9.0.0",
27-
"eslint-plugin-svelte": "^2.46.0"
27+
"vitest": "^2.1.0"
2828
},
2929
"dependencies": {
30-
"better-sqlite3": "^11.7.0",
30+
"@types/bcryptjs": "^2.4.6",
3131
"@types/better-sqlite3": "^7.6.12",
3232
"bcryptjs": "^2.4.3",
33-
"@types/bcryptjs": "^2.4.6",
33+
"better-sqlite3": "^11.7.0",
34+
"globals": "^17.4.0",
3435
"google-auth-library": "^9.15.0"
3536
},
3637
"type": "module"

0 commit comments

Comments
 (0)