{ "name": "EMS-ESP", "version": "3.9.0", "description": "EMS-ESP WebUI", "homepage": "https://emsesp.org", "author": "emsesp.org", "license": "MIT", "private": true, "type": "module", "scripts": { "preinstall": "npx only-allow pnpm", "dev": "vite dev", "build": "vite build", "preview": "vite preview", "build-hosted": "typesafe-i18n --no-watch && vite build --mode hosted", "mock-rest": "bun --watch ../mock-api/restServer.ts", "preview-standalone": "typesafe-i18n --no-watch && vite build && concurrently -c \"auto\" \"pnpm:mock-rest\" \"vite preview\"", "standalone": "concurrently -c \"auto\" \"typesafe-i18n\" \"pnpm:mock-rest\" \"vite dev\"", "typesafe-i18n": "typesafe-i18n --no-watch", "build-webUI": "typesafe-i18n --no-watch && vite build && node progmem-generator.js", "format": "prettier -l -w '**/*.{ts,tsx,js,css,json,md}'", "lint": "typesafe-i18n --no-watch && eslint . --fix", "standalone-devcontainer": "concurrently -c \"auto\" \"typesafe-i18n\" \"pnpm:mock-rest\" \"vite --host\"" }, "dependencies": { "@alova/adapter-xhr": "2.3.1", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@mui/icons-material": "^9.2.0", "@mui/material": "^9.2.0", "@table-library/react-table-library": "4.1.15", "alova": "^3.5.1", "etag": "^1.8.1", "jwt-decode": "^4.0.0", "mime-types": "^3.0.2", "preact": "^10.29.4", "react": "^19.2.7", "react-dom": "^19.2.7", "react-icons": "^5.7.0", "react-router": "^8.1.0", "typesafe-i18n": "^5.27.1", "typescript": "^6.0.3" }, "devDependencies": { "@eslint/js": "^10.0.1", "@preact/preset-vite": "^2.10.5", "@trivago/prettier-plugin-sort-imports": "^6.0.2", "@types/node": "^26.1.0", "@types/react": "^19.2.17", "@types/react-dom": "^19.2.3", "concurrently": "^10.0.3", "eslint": "^10.6.0", "eslint-config-prettier": "^10.1.8", "prettier": "^3.9.4", "rollup-plugin-visualizer": "^7.0.1", "terser": "^5.48.0", "typescript-eslint": "^8.62.1", "vite": "^8.1.3", "vite-plugin-imagemin": "^0.6.1" }, "packageManager": "pnpm@11.9.0+sha512.bd682d5d03fe525ef7c9fd6780c6884d1e756ac4c9c9fe00c538782824310dcf90e3ddc4f53835f06dfaebd5085e41855e0bcbb3b60de2ac5bbab89e5036f03b" }