upgrade packages and use pnpm instead of bun

This commit is contained in:
Viktor Rådberg
2025-11-17 21:51:24 +01:00
parent de99c0b7e9
commit c5bb7eb04b
5 changed files with 3024 additions and 2358 deletions

View File

@@ -13,14 +13,22 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Setup bun - name: Setup pnpm
uses: oven-sh/setup-bun@v1 uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Build, lint, and deploy - name: Build, lint, and deploy
run: | run: |
bun install pnpm install
bun run build pnpm run build
bun run lint pnpm run lint
- name: Deploy to Firebase Hosting - name: Deploy to Firebase Hosting
uses: FirebaseExtended/action-hosting-deploy@v0 uses: FirebaseExtended/action-hosting-deploy@v0
with: with:

View File

@@ -14,22 +14,24 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v2
- name: Setup pnpm
uses: pnpm/action-setup@v4
with: with:
node-version: 18 version: 9
- name: Set up bun - name: Setup Node.js
uses: oven-sh/setup-bun@v1 uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies - name: Install dependencies
run: bun install run: pnpm install
- name: Run lint - name: Run lint
run: bun run lint run: pnpm run lint
- name: Build project - name: Build project
run: bun run build run: pnpm run build

View File

@@ -14,39 +14,40 @@
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview", "preview": "vite preview",
"generate-icons": "npx @svgr/cli src/Icons/svgs", "generate-icons": "npx @svgr/cli src/Icons/svgs",
"deploy": "bun run build && firebase deploy --only hosting", "force-deploy": "pnpm run build && firebase deploy --only hosting",
"release": "bash scripts/create-release.sh" "release": "bash scripts/create-release.sh"
}, },
"dependencies": { "dependencies": {
"firebase": "^10.14.1", "firebase": "^12.6.0",
"react": "^18.3.1", "react": "^19.2.0",
"react-dom": "^18.3.1", "react-dom": "^19.2.0",
"react-screen-wake-lock": "^3.0.2", "react-screen-wake-lock": "^3.1.1",
"react-swipeable": "^7.0.2", "react-swipeable": "^7.0.2",
"react-twc": "^1.4.2", "react-twc": "^1.5.1",
"semver": "^7.7.1", "semver": "^7.7.3",
"zod": "^3.24.2" "zod": "^4.1.12"
}, },
"devDependencies": { "devDependencies": {
"@svgr/cli": "^8.1.0", "@svgr/cli": "^8.1.0",
"@tailwindcss/postcss": "^4.1.17", "@tailwindcss/postcss": "^4.1.17",
"@types/react": "^18.3.18", "@types/prop-types": "^15.7.15",
"@types/react-dom": "^18.3.5", "@types/react": "^19.2.5",
"@types/semver": "^7.5.8", "@types/react-dom": "^19.2.3",
"@typescript-eslint/eslint-plugin": "^7.18.0", "@types/semver": "^7.7.1",
"@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/eslint-plugin": "^8.47.0",
"@vitejs/plugin-react-swc": "^3.8.0", "@typescript-eslint/parser": "^8.47.0",
"@vitejs/plugin-react-swc": "^4.2.2",
"autoprefixer": "^10.4.22", "autoprefixer": "^10.4.22",
"eslint": "^8.57.1", "eslint": "^9.39.1",
"eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.19", "eslint-plugin-react-refresh": "^0.4.24",
"firebase-tools": "^13.31.2", "firebase-tools": "^14.25.0",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"prettier": "2.8.8", "prettier": "3.6.2",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"tailwindcss": "^4.1.17", "tailwindcss": "^4.1.17",
"typescript": "^5.7.3", "typescript": "^5.9.3",
"vite": "^5.4.14", "vite": "^7.2.2",
"vite-plugin-pwa": "^0.20.5" "vite-plugin-pwa": "^1.1.0"
} }
} }

5289
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,5 @@
import { ReactElement } from 'react';
export const IconCheckbox = ({ export const IconCheckbox = ({
name, name,
icon, icon,
@@ -7,14 +9,14 @@ export const IconCheckbox = ({
className, className,
}: { }: {
name: string; name: string;
icon: JSX.Element; icon: ReactElement;
checkedIcon: JSX.Element; checkedIcon: ReactElement;
checked: boolean; checked: boolean;
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void; onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
className?: string; className?: string;
}) => { }) => {
return ( return (
<div className={className} > <div className={className}>
<label> <label>
<input <input
name={name} name={name}