waffensachkunde
Waffensachkunde – Lernsoftware für die Sachkundeprüfung nach § 7 WaffG. Barrierefrei, offline, EUPL-1.2.
| 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 | } |