waffensachkunde

Waffensachkunde – Lernsoftware für die Sachkundeprüfung nach § 7 WaffG. Barrierefrei, offline, EUPL-1.2.

/ app package.json

3,0 KB Rohdatei
app/package.json — 79 Zeilen
1 {
2 "name": "waffensachkunde-lernsoftware",
3 "productName": "Waffensachkunde Lernsoftware",
4 "version": "0.27.0",
5 "description": "Barrierefreie Desktop-Lernsoftware zur Vorbereitung auf die Waffensachkundeprüfung",
6 "author": "Olaf Willerding <Olaf@olaf-willerding.de>",
7 "license": "EUPL-1.2",
8 "bugs": {
9 "email": "Olaf@olaf-willerding.de"
10 },
11 "private": true,
12 "main": "./out/main/index.js",
13 "engines": {
14 "node": ">=22.12.0"
15 },
16 "scripts": {
17 "dev": "electron-vite dev",
18 "start": "electron-vite preview",
19 "build": "npm run typecheck && electron-vite build",
20 "typecheck": "npm run typecheck:node && npm run typecheck:web && npm run typecheck:tests && npm run typecheck:e2e",
21 "typecheck:node": "tsc --noEmit -p tsconfig.node.json",
22 "typecheck:web": "tsc --noEmit -p tsconfig.web.json",
23 "typecheck:tests": "tsc --noEmit -p tsconfig.tests.json",
24 "typecheck:e2e": "tsc --noEmit -p tsconfig.e2e.json",
25 "lint": "eslint .",
26 "lint:fix": "eslint . --fix",
27 "format": "prettier --write .",
28 "format:check": "prettier --check .",
29 "gate:schnell": "npm run format:check && npm run typecheck && npm run lint && npm run test:coverage",
30 "gate": "npm run gate:schnell && electron-vite build && playwright test && node tools/gate-stempel.mjs",
31 "hooks:einrichten": "git -C .. config core.hooksPath .githooks",
32 "prepare": "npm run hooks:einrichten || exit 0",
33 "test": "vitest run",
34 "test:watch": "vitest",
35 "test:coverage": "vitest run --coverage",
36 "test:e2e": "npm run build && playwright test",
37 "test:e2e:install": "playwright install chromium",
38 "dist:win": "npm run build && electron-builder --win --config electron-builder.yml",
39 "dist:store": "npm run build && electron-builder --win appx --config electron-builder.yml",
40 "dist:mac": "npm run build && electron-builder --mac --config electron-builder.yml",
41 "rebuild": "electron-builder install-app-deps",
42 "symbol": "node tools/symbol-bauen.mjs"
43 },
44 "dependencies": {
45 "better-sqlite3": "13.0.3"
46 },
47 "devDependencies": {
48 "@eslint/js": "9.39.5",
49 "@playwright/test": "1.62.1",
50 "@testing-library/dom": "10.4.1",
51 "@testing-library/jest-dom": "6.9.1",
52 "@testing-library/react": "16.3.0",
53 "@testing-library/user-event": "14.6.1",
54 "@types/better-sqlite3": "7.6.13",
55 "@types/node": "22.19.1",
56 "@types/react": "19.2.7",
57 "@types/react-dom": "19.2.3",
58 "@vitejs/plugin-react": "5.2.0",
59 "@vitest/coverage-v8": "4.1.11",
60 "axe-core": "4.13.0",
61 "electron": "43.4.1",
62 "electron-builder": "26.15.3",
63 "electron-vite": "5.0.0",
64 "eslint": "9.39.5",
65 "eslint-config-prettier": "10.1.8",
66 "eslint-plugin-jsx-a11y": "6.10.2",
67 "eslint-plugin-react-hooks": "7.1.1",
68 "eslint-plugin-react-refresh": "0.4.24",
69 "globals": "16.5.0",
70 "jsdom": "27.0.0",
71 "prettier": "3.9.6",
72 "react": "19.2.8",
73 "react-dom": "19.2.8",
74 "typescript": "6.0.3",
75 "typescript-eslint": "8.67.0",
76 "vite": "7.3.6",
77 "vitest": "4.1.11"
78 }
79 }