{ "name": "farmcontrol-ui", "author": { "name": "Tom Butcher", "email": "tom@tombutcher.work" }, "version": "0.1.0", "type": "module", "private": true, "homepage": "./", "dependencies": { "@ant-design/charts": "^2.6.2", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@codemirror/lang-cpp": "^6.0.3", "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-go": "^6.0.1", "@codemirror/lang-html": "^6.4.9", "@codemirror/lang-java": "^6.0.2", "@codemirror/lang-javascript": "^6.2.4", "@codemirror/lang-json": "^6.0.2", "@codemirror/lang-markdown": "^6.3.4", "@codemirror/lang-php": "^6.0.2", "@codemirror/lang-python": "^6.2.1", "@codemirror/lang-rust": "^6.0.2", "@codemirror/lang-sql": "^6.9.1", "@codemirror/lang-xml": "^6.1.0", "@codemirror/lang-yaml": "^6.1.2", "@codemirror/theme-one-dark": "^6.1.3", "@simplewebauthn/browser": "^13.1.2", "@tanstack/react-query": "^5.90.10", "@tsparticles/react": "^3.0.0", "@tsparticles/slim": "^3.9.1", "@uiw/react-codemirror": "^4.25.1", "antd": "^5.27.1", "antd-style": "^3.7.1", "axios": "^1.11.0", "country-list": "^2.4.1", "cross-env": "^10.0.0", "dayjs": "^1.11.18", "dotenv": "^17.2.1", "eslint": "^9.34.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "gcode-preview": "^2.18.0", "keycloak-js": "^26.2.0", "loglevel": "^1.9.2", "moment": "^2.30.1", "online-3d-viewer": "^0.16.0", "prettier": "^3.6.2", "prettier-eslint": "^16.4.2", "prop-types": "^15.8.1", "react": "^19.1.1", "react-country-flag": "^3.1.0", "react-dom": "^19.1.1", "react-markdown": "^10.1.0", "react-responsive": "^10.0.1", "react-router-dom": "^7.8.2", "remark-gfm": "^4.0.1", "simplebar-react": "^3.3.2", "socket.io-client": "*", "standard": "^17.1.2", "styled-components": "^6.1.19", "svgo": "^4.0.0", "svgo-loader": "^4.0.0", "three": "^0.179.1", "tsparticles": "^3.9.1", "web-vitals": "^5.1.0" }, "main": "build/electron.js", "description": "3D Printer ERP and Control Software.", "scripts": { "dev": "cross-env NODE_ENV=development vite", "electron": "cross-env ELECTRON_START_URL=http://0.0.0.0:5173 && cross-env NODE_ENV=development && electron .", "start": "serve -s build", "build": "vite build", "dev:electron": "concurrently \"cross-env NODE_ENV=development vite --no-open\" \"cross-env ELECTRON_START_URL=http://localhost:5173 cross-env NODE_ENV=development electron public/electron.js\"", "build:electron": "vite build && electron-builder" }, "eslintConfig": { "extends": [ "react-app" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@vitejs/plugin-react": "^5.0.2", "concurrently": "^9.2.1", "electron": "^38.7.1", "electron-builder": "^26.0.12", "electron-packager": "^17.1.2", "eslint": "^9.34.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "express": "^5.1.0", "prettier": "^3.6.2", "prettier-eslint": "^16.4.2", "serve": "^14.2.4", "standard": "^17.1.2", "svgo": "^4.0.0", "svgo-loader": "^4.0.0", "vite": "^7.1.3", "vite-plugin-eslint": "^1.8.1", "vite-plugin-svgo": "^2.0.0", "vite-plugin-svgr": "^4.5.0" }, "build": { "appId": "com.tombutcher.farmcontrol", "productName": "Farm Control", "icon": "assets/logos/farmcontrolicon.png", "directories": { "output": "app_dist" }, "files": [ "build/**/*", "node_modules/**/*" ], "mac": { "target": "dmg", "extendInfo": { "CFBundleURLTypes": [ { "CFBundleURLName": "com.tombutcher.farmcontrol", "CFBundleURLSchemes": [ "farmcontrol" ] } ] } }, "win": { "target": "nsis" }, "linux": { "target": "AppImage" }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true, "include": "scripts/installer.nsh", "perMachine": true } } }