{ "name": "farmcontrol-server", "version": "1.0.0", "description": "Connects to moonraker and also manages the socket connection to the printer.", "main": "build/index.js", "bin": "build/index.js", "type": "module", "scripts": { "start": "node build/index.js", "dev": "cross-env NODE_ENV=development nodemon src/index.js", "dev:electron": "concurrently \"cross-env NODE_ENV=development vite src/electron --port 5287 --no-open\" \"cross-env NODE_ENV=development electron src/index.js\"", "build": "pnpm run cleanBuild && pnpm build:server && pnpm build:renderer", "build:server": "shx mkdir -p build && shx cp -r src/. build/ && shx cp package.json config.json build/", "build:renderer": "pnpm build:electron-renderer && shx cp src/electron/preload.js build/electron/ && shx rm -rf build/electron/App.jsx build/electron/main.jsx build/electron/App.css build/electron/index.css build/electron/FarmControlLogo.jsx build/electron/vite.config.js build/electron/public build/electron/build", "build:electron-renderer": "vite build src/electron --outDir build/electron", "build:electron": "pnpm build && electron-builder", "build:electron:mac": "pnpm build && electron-builder --mac dmg --arm64 --x64 && electron-builder --mac pkg --arm64 && electron-builder --mac pkg --x64", "build:linux": "pnpm run cleanBuild && pnpm run build:server && pnpm run build:linux-bundle && pnpm run build:linux-pkg && pnpm run build:linux-packages", "build:linux-bundle": "node scripts/build-linux-bundle.mjs", "build:linux-pkg": "shx mkdir -p app_dist/linux && pnpm exec pkg build/pkg-entry.cjs --config package.json --targets node18-linux-x64 --public-packages \"pdf-to-img,pdfjs-dist,sharp,canvas,@img/*,@napi-rs/*\" --output app_dist/linux/farmcontrol-server", "build:linux-packages": "bash scripts/build-linux-packages.sh", "cleanBuild": "rimraf build" }, "author": "Tom Butcher", "license": "ISC", "dependencies": { "axios": "^1.16.1", "canvas": "^3.2.3", "chalk": "5.4.1", "cli-spinners": "^3.4.0", "etcd3": "^1.1.2", "express": "^5.2.1", "form-data": "^4.0.5", "ipp": "^2.0.1", "jsonwebtoken": "^9.0.3", "keycloak-connect": "^26.1.1", "lodash": "^4.18.1", "log4js": "^6.9.1", "mongoose": "^9.6.2", "node-cache": "^5.1.2", "node-thermal-printer": "^4.6.0", "pdf-to-img": "^6.1.0", "sharp": "^0.34.5", "socket.io": "^4.8.3", "socket.io-client": "^4.8.3", "ws": "^8.20.1" }, "devDependencies": { "@ant-design/icons": "^6.2.3", "@electron/rebuild": "^4.0.4", "@vitejs/plugin-react": "^6.0.2", "antd": "^5.29.2", "concurrently": "^9.2.1", "cross-env": "^10.1.0", "electron": "^38.7.1", "electron-builder": "^26.0.12", "esbuild": "^0.25.12", "jest": "^30.4.2", "nodemon": "^3.1.14", "pkg": "^5.8.1", "prop-types": "^15.8.1", "react": "^19.2.6", "react-dom": "^19.2.6", "rimraf": "^6.1.3", "shx": "^0.4.0", "supertest": "^7.2.2", "vite": "^8.0.13", "vite-plugin-svgo": "^2.0.0", "vite-plugin-svgr": "^5.2.0" }, "pkg": { "scripts": [ "build/pkg-entry.cjs" ], "assets": [ "build/config.json", "node_modules/pdf-to-img/**/*", "node_modules/pdfjs-dist/**/*", "node_modules/sharp/**/*", "node_modules/@img/**/*", "node_modules/canvas/**/*", "node_modules/@napi-rs/**/*" ], "targets": [ "node18-linux-x64" ], "outputPath": "app_dist/linux" }, "build": { "appId": "com.tombutcher.farmcontrolserver", "productName": "Farm Control Server", "executableName": "farmcontrol-server", "artifactName": "farmcontrol-server-${version}-${arch}.${ext}", "icon": "assets/farmcontrolhosticon.png", "directories": { "output": "app_dist" }, "files": [ "build/**/*", "node_modules/**/*" ], "mac": { "target": [ "dmg", "pkg" ], "mergeASARs": true, "x64ArchFiles": "**/node_modules/@esbuild/darwin-x64/**", "singleArchFiles": "**/node_modules/**" }, "win": { "target": [ "nsis", "msiWrapped" ] }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true, "perMachine": true }, "msiWrapped": { "upgradeCode": "{A4E29F1C-8B3D-5E2A-9C71-1D6F8E4A2B90}", "perMachine": true, "impersonate": false, "wrappedInstallerArgs": "/S" } } }