{ "name": "gladys-front", "engines": { "node": "24.x", "npm": "11.x" }, "scripts": { "start": "per-env", "start:production": "npm run -s serve", "start:development": "npm run -s dev", "build": "vite build", "postbuild": "cp ./old-sw.js ./build/sw.js && cp ./old-sw.js ./build/sw-esm.js && node ./cli/inject-index-tail.js", "serve": "sirv build --port 8080 --cors --single", "dev": "vite", "start-gateway": "cross-env GATEWAY_MODE=true vite --port 1445", "start-demo": "cross-env DEMO_MODE=true vite --port 1445", "eslint": "eslint src cypress --ext .json --ext .js --ext .jsx", "compare-translations": "comparejson -e ./src/config/i18n/*.json && comparejson -e ./src/config/i18n/icon-keywords/*.json && node ./cli/check_translations.js", "prettier-check": "prettier --check '**/*.js' '**/*.jsx' '**/*.json'", "prettier": "prettier --write '**/*.js' '**/*.jsx' '**/*.json'", "start:cypress": "cross-env DEMO_MODE=false WEBSOCKET_URL=ws://localhost:1443 LOCAL_API_URL=http://localhost:1443 vite build --minify false --sourcemap false && node cypress/serve-build.js", "start:cypress:dev": "cross-env DEMO_MODE=false WEBSOCKET_URL=ws://localhost:1443 LOCAL_API_URL=http://localhost:1443 npm start", "cypress:open": "cypress open --config-file cypress/cypress.config.js", "cypress:run": "cypress run --config-file cypress/cypress.config.js" }, "overrides": { "esm": "npm:esm-wallaby@3.2.35" }, "devDependencies": { "@preact/async-loader": "^3.0.2", "@preact/preset-vite": "^2.10.6", "compare-json": "^0.4.0", "cross-env": "^5.2.0", "cypress": "^10.11.0", "esbuild": "^0.28.2", "eslint": "^8.39.0", "eslint-config-preact": "^1.3.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-compat": "^4.0.2", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-json": "^3.1.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", "per-env": "^1.0.2", "prettier": "^1.17.1", "sirv": "^3.0.2", "sirv-cli": "^3.0.1", "vite": "^8.3.4", "vite-css-modules": "^1.16.0", "vite-plugin-static-copy": "^4.1.1" }, "dependencies": { "@gladysassistant/gladys-gateway-js": "^4.23.0", "@gladysassistant/theme-optimized": "^2.1.0", "@jaames/iro": "^5.5.2", "@maplibre/maplibre-gl-leaflet": "^0.1.4", "@yaireo/tagify": "4.5.0", "apexcharts": "^3.41.1", "axios": "^1.16.1", "classnames": "^2.3.1", "cropperjs": "^1.5.12", "date-fns": "^2.22.1", "dayjs": "^1.10.6", "debounce": "^1.2.1", "dompurify": "^3.4.17", "dotenv": "^6.2.0", "eslint-plugin-i18n-json": "^4.0.0", "get-value": "^3.0.1", "hls.js": "^1.5.7", "immutability-helper": "^3.1.1", "js-confetti": "^0.11.0", "leaflet": "^1.7.1", "linkstate": "^1.1.1", "maplibre-gl": "^6.6.0", "marked": "^18.0.7", "p-limit": "^4.0.0", "preact": "^10.7.2", "preact-async-route": "^2.2.1", "preact-i18n": "^2.4.0-preactx", "preact-router": "^3.2.1", "qrcode": "^1.4.2", "react-big-calendar": "^1.19.4", "react-clock": "^4.5.0", "react-datepicker": "^3.8.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dnd-touch-backend": "^16.0.1", "react-select": "^4.3.1", "react-slider": "^2.0.6", "unistore": "^3.5.2", "useragent-parser-js": "^1.0.3", "uuid": "^3.4.0" }, "browserslist": [ "defaults", "not ie 11", "not ie_mob 11", "not ios_saf 12.2-12.5", "not op_mini all", "not dead" ] }