{ "name": "waffensachkunde-lernsoftware", "productName": "Waffensachkunde Lernsoftware", "version": "0.27.0", "description": "Barrierefreie Desktop-Lernsoftware zur Vorbereitung auf die Waffensachkundeprüfung", "author": "Olaf Willerding ", "license": "EUPL-1.2", "bugs": { "email": "Olaf@olaf-willerding.de" }, "private": true, "main": "./out/main/index.js", "engines": { "node": ">=22.12.0" }, "scripts": { "dev": "electron-vite dev", "start": "electron-vite preview", "build": "npm run typecheck && electron-vite build", "typecheck": "npm run typecheck:node && npm run typecheck:web && npm run typecheck:tests && npm run typecheck:e2e", "typecheck:node": "tsc --noEmit -p tsconfig.node.json", "typecheck:web": "tsc --noEmit -p tsconfig.web.json", "typecheck:tests": "tsc --noEmit -p tsconfig.tests.json", "typecheck:e2e": "tsc --noEmit -p tsconfig.e2e.json", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "gate:schnell": "npm run format:check && npm run typecheck && npm run lint && npm run test:coverage", "gate": "npm run gate:schnell && electron-vite build && playwright test && node tools/gate-stempel.mjs", "hooks:einrichten": "git -C .. config core.hooksPath .githooks", "prepare": "npm run hooks:einrichten || exit 0", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:e2e": "npm run build && playwright test", "test:e2e:install": "playwright install chromium", "dist:win": "npm run build && electron-builder --win --config electron-builder.yml", "dist:store": "npm run build && electron-builder --win appx --config electron-builder.yml", "dist:mac": "npm run build && electron-builder --mac --config electron-builder.yml", "rebuild": "electron-builder install-app-deps", "symbol": "node tools/symbol-bauen.mjs" }, "dependencies": { "better-sqlite3": "13.0.3" }, "devDependencies": { "@eslint/js": "9.39.5", "@playwright/test": "1.62.1", "@testing-library/dom": "10.4.1", "@testing-library/jest-dom": "6.9.1", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", "@types/better-sqlite3": "7.6.13", "@types/node": "22.19.1", "@types/react": "19.2.7", "@types/react-dom": "19.2.3", "@vitejs/plugin-react": "5.2.0", "@vitest/coverage-v8": "4.1.11", "axe-core": "4.13.0", "electron": "43.4.1", "electron-builder": "26.15.3", "electron-vite": "5.0.0", "eslint": "9.39.5", "eslint-config-prettier": "10.1.8", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-react-hooks": "7.1.1", "eslint-plugin-react-refresh": "0.4.24", "globals": "16.5.0", "jsdom": "27.0.0", "prettier": "3.9.6", "react": "19.2.8", "react-dom": "19.2.8", "typescript": "6.0.3", "typescript-eslint": "8.67.0", "vite": "7.3.6", "vitest": "4.1.11" } }