{ "name": "EMS-ESP", "version": "3.7.2", "description": "EMS-ESP WebUI", "homepage": "https://emsesp.org", "author": "proddy, 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 && vite build --mode hosted", "preview-standalone": "typesafe-i18n --no-watch && vite build && concurrently -c \"auto\" \"pnpm:mock-rest\" \"vite preview\"", "mock-rest": "bun --watch ../mock-api/restServer.ts", "standalone": "concurrently -c \"auto\" \"typesafe-i18n\" \"pnpm:mock-rest\" \"vite\"", "typesafe-i18n": "typesafe-i18n --no-watch", "webUI": "node progmem-generator.js", "format": "prettier -l -w '**/*.{ts,tsx,js,css,json,md}'", "lint": "eslint . --fix" }, "dependencies": { "@alova/adapter-xhr": "2.2.1", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@mui/icons-material": "^7.3.1", "@mui/material": "^7.3.1", "@table-library/react-table-library": "4.1.15", "alova": "3.3.4", "async-validator": "^4.2.5", "formidable": "^3.5.4", "jwt-decode": "^4.0.0", "magic-string": "^0.30.17", "mime-types": "^3.0.1", "preact": "^10.27.0", "react": "^19.1.1", "react-dom": "^19.1.1", "react-icons": "^5.5.0", "react-router": "^7.8.0", "react-toastify": "^11.0.5", "typesafe-i18n": "^5.26.2", "typescript": "^5.9.2" }, "devDependencies": { "@babel/core": "^7.28.0", "@eslint/js": "^9.33.0", "@preact/compat": "^18.3.1", "@preact/preset-vite": "^2.10.2", "@trivago/prettier-plugin-sort-imports": "^5.2.2", "@types/node": "^24.2.1", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "concurrently": "^9.2.0", "eslint": "^9.33.0", "eslint-config-prettier": "^10.1.8", "prettier": "^3.6.2", "rollup-plugin-visualizer": "^6.0.3", "terser": "^5.43.1", "typescript-eslint": "^8.39.1", "vite": "^7.1.2", "vite-plugin-imagemin": "^0.6.1", "vite-tsconfig-paths": "^5.1.4" }, "packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748" }