Skip to content

Commit 416bf92

Browse files
authored
chore: set up biome and ci (#3)
1 parent 39dacce commit 416bf92

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3086
-1626
lines changed

.eslintrc.js

Lines changed: 0 additions & 34 deletions
This file was deleted.

.github/workflows/code-quality.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Code quality
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
quality:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
contents: read
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v5
14+
with:
15+
persist-credentials: false
16+
- name: Setup Biome
17+
uses: biomejs/setup-biome@v2
18+
with:
19+
version: latest
20+
- name: Run Biome
21+
run: biome ci .

.github/workflows/typecheck.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Typecheck
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
typecheck:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
contents: read
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v5
14+
with:
15+
persist-credentials: false
16+
- name: Setup pnpm
17+
uses: pnpm/action-setup@v4
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
cache: 'pnpm'
22+
- name: Install dependencies
23+
run: pnpm install --frozen-lockfile
24+
- name: Run type check
25+
run: pnpm run typecheck
26+

.node-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22

biome.jsonc

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/2.2.4/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true
7+
},
8+
"files": {
9+
"ignoreUnknown": false
10+
},
11+
"formatter": {
12+
"enabled": true,
13+
"indentStyle": "space",
14+
"indentWidth": 2
15+
},
16+
"linter": {
17+
"enabled": true,
18+
"rules": {
19+
"recommended": true,
20+
"nursery": {
21+
"useSortedClasses": "error"
22+
}
23+
},
24+
"domains": {
25+
"react": "recommended"
26+
}
27+
},
28+
"javascript": {
29+
"formatter": {
30+
"quoteStyle": "double"
31+
}
32+
},
33+
"assist": {
34+
"enabled": true,
35+
"actions": {
36+
"source": {
37+
"organizeImports": "on"
38+
}
39+
}
40+
},
41+
"overrides": [
42+
{
43+
// Files using unknownAtRules
44+
"includes": ["src/renderer/styles/globals.css"],
45+
"linter": {
46+
"enabled": false
47+
}
48+
},
49+
{
50+
// API client generates a a lot of Any
51+
"includes": ["src/api/generated.ts"],
52+
"linter": {
53+
"enabled": false
54+
}
55+
}
56+
]
57+
}

mprocs.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@ procs:
99
cwd: .
1010
color: green
1111

12+
preload:
13+
cmd: ["pnpm", "run", "dev:preload"]
14+
cwd: .
15+
color: cyan
16+
1217
electron:
1318
cmd: ["pnpm", "run", "dev:electron"]
1419
cwd: .
1520
color: yellow
1621
depends_on:
1722
- vite
18-
- node
23+
- node
24+
- preload

package.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,17 @@
1212
"dev": "mprocs",
1313
"dev:vite": "vite",
1414
"dev:node": "tsc -p tsconfig.node.json --watch",
15+
"dev:preload": "tsc -p tsconfig.preload.json --watch",
1516
"dev:electron": "wait-on tcp:5173 && wait-on dist/main/index.js && electron . --dev",
1617
"build": "pnpm run build:node && pnpm run build:vite && pnpm run build:electron",
17-
"build:node": "tsc -p tsconfig.node.json",
18+
"build:node": "tsc -p tsconfig.node.json && tsc -p tsconfig.preload.json && cp src/main/package.json dist/main/package.json",
1819
"build:vite": "vite build",
1920
"build:electron": "electron-builder",
2021
"preview": "vite preview",
2122
"typecheck": "tsc -p tsconfig.node.json --noEmit && tsc -p tsconfig.web.json --noEmit",
22-
"lint": "eslint src --ext .ts,.tsx",
23+
"lint": "biome check --fix",
24+
"format": "biome format --fix",
25+
"check": "pnpm run lint && pnpm run typecheck",
2326
"generate-client": "tsx scripts/update-openapi-client.ts"
2427
},
2528
"keywords": [
@@ -31,6 +34,7 @@
3134
"author": "PostHog",
3235
"license": "MIT",
3336
"devDependencies": {
37+
"@biomejs/biome": "2.2.4",
3438
"@types/node": "^20.11.5",
3539
"@types/react": "^18.2.48",
3640
"@types/react-dom": "^18.2.18",
@@ -89,4 +93,4 @@
8993
"target": "nsis"
9094
}
9195
}
92-
}
96+
}

pnpm-lock.yaml

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

postcss.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ module.exports = {
33
tailwindcss: {},
44
autoprefixer: {},
55
},
6-
};
6+
};

0 commit comments

Comments
 (0)