package.json
{
"name": "farmbot-web-frontend",
"version": "1.1.0",
"description": "Farmbot web frontend.",
"engines": {
"browsers": "defaults",
"node": "20.x",
"npm": "10.x",
"parcel": "2.x"
},
"repository": {
"type": "git",
"url": "https://github.com/farmbot/farmbot-web-app"
},
"scripts": {
"test-very-slow": "node --expose-gc ./node_modules/.bin/jest -i --colors --coverage",
"test-slow": "./node_modules/.bin/jest -w 6 --colors",
"test": "./node_modules/.bin/jest -w 5 --no-coverage",
"typecheck": "./node_modules/typescript/bin/tsc --noEmit",
"dev-typecheck": "./node_modules/typescript/bin/tsc --project tsconfig.dev.json --noEmit",
"eslint": "./node_modules/.bin/eslint frontend public/app-resources/languages --ext .ts,.tsx",
"sass-lint": "./node_modules/sass-lint/bin/sass-lint.js -c .sass-lint.yml -v -q",
"sass-check": "./node_modules/sass/sass.js --no-source-map frontend/css/_index.scss:sass_index.log frontend/css/laptop_splash.scss:sass_splash.log",
"translation-check": " ./node_modules/jshint/bin/jshint --config public/app-resources/languages/.config public/app-resources/languages/*.json",
"linters": "npm run typecheck --cache=/tmp;X=$(($X+$?));npm run dev-typecheck --cache=/tmp;X=$(($X+$?));npm run eslint --cache=/tmp;X=$(($X+$?));npm run sass-lint --cache=/tmp;X=$(($X+$?));npm run sass-check --cache=/tmp;X=$(($X+$?));npm run translation-check --cache=/tmp;X=$(($X+$?));[ $X = 0 ]"
},
"keywords": [
"farmbot"
],
"author": "farmbot.io",
"license": "MIT",
"overrides": {
"@parcel/watcher": "2.1.0"
},
"dependencies": {
"@blueprintjs/core": "5.10.3",
"@blueprintjs/select": "5.1.5",
"@monaco-editor/react": "4.6.0",
"@parcel/transformer-sass": "2.12.0",
"@parcel/transformer-typescript-tsc": "2.12.0",
"@react-three/drei": "9.106.0",
"@react-three/fiber": "8.16.8",
"@types/lodash": "4.17.5",
"@types/markdown-it": "14.1.1",
"@types/node": "20.14.2",
"@types/promise-timeout": "1.3.3",
"@types/react": "18.3.3",
"@types/react-color": "3.0.12",
"@types/react-dom": "18.3.0",
"@types/three": "0.165.0",
"@types/ws": "8.5.10",
"axios": "1.7.2",
"bowser": "2.11.0",
"browser-speech": "1.1.1",
"events": "3.3.0",
"farmbot": "15.8.8",
"i18next": "23.11.5",
"lodash": "4.17.21",
"markdown-it": "14.1.0",
"markdown-it-emoji": "3.0.0",
"moment": "2.30.1",
"monaco-editor": "0.49.0",
"mqtt": "5.7.0",
"npm": "10.8.1",
"parcel": "2.12.0",
"process": "0.11.10",
"promise-timeout": "1.3.0",
"punycode": "1.4.1",
"querystring-es3": "0.2.1",
"react": "18.3.1",
"react-color": "2.19.3",
"react-dom": "18.3.1",
"react-redux": "9.1.2",
"redux": "5.0.1",
"redux-immutable-state-invariant": "2.1.0",
"redux-thunk": "3.1.0",
"takeme": "0.12.0",
"three": "0.165.0",
"typescript": "5.4.5",
"url": "0.11.3",
"xterm": "5.3.0"
},
"devDependencies": {
"@types/enzyme": "3.10.12",
"@types/jest": "29.5.12",
"@types/readable-stream": "4.0.14",
"@typescript-eslint/eslint-plugin": "7.13.0",
"@typescript-eslint/parser": "7.13.0",
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
"enzyme": "3.11.0",
"eslint": "8.57.0",
"eslint-plugin-eslint-comments": "3.2.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jest": "28.6.0",
"eslint-plugin-no-null": "1.0.2",
"eslint-plugin-promise": "6.2.0",
"eslint-plugin-react": "7.34.2",
"eslint-plugin-react-hooks": "4.6.2",
"jest": "29.7.0",
"jest-canvas-mock": "2.5.2",
"jest-cli": "29.7.0",
"jest-environment-jsdom": "29.7.0",
"jest-junit": "16.0.0",
"jest-skipped-reporter": "0.0.5",
"jshint": "2.13.6",
"madge": "7.0.0",
"raf": "3.4.1",
"react-addons-test-utils": "15.6.2",
"react-test-renderer": "18.3.1",
"sass": "1.77.5",
"sass-lint": "1.13.1",
"ts-jest": "29.1.4",
"tslint": "6.1.3"
}
}