{"id":75351,"name":"Farmbot-Web-App","description":"Setup, customize, and control FarmBot from any device","url":"https://github.com/FarmBot/Farmbot-Web-App","last_synced_at":"2025-09-08T16:35:39.558Z","repository":{"id":14928495,"uuid":"17652873","full_name":"FarmBot/Farmbot-Web-App","owner":"FarmBot","description":"Setup, customize, and control FarmBot from any device","archived":false,"fork":false,"pushed_at":"2025-08-30T17:13:43.000Z","size":68772,"stargazers_count":945,"open_issues_count":36,"forks_count":348,"subscribers_count":72,"default_branch":"staging","last_synced_at":"2025-09-01T11:57:04.250Z","etag":null,"topics":["farmbot"],"latest_commit_sha":null,"homepage":"https://my.farm.bot","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FarmBot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2014-03-12T02:38:25.000Z","updated_at":"2025-08-30T17:13:46.000Z","dependencies_parsed_at":"2023-09-21T19:14:45.741Z","dependency_job_id":"9c369800-468b-4175-b197-c0bb21c87515","html_url":"https://github.com/FarmBot/Farmbot-Web-App","commit_stats":{"total_commits":8384,"total_committers":42,"mean_commits":"199.61904761904762","dds":"0.26789122137404575","last_synced_commit":"7a6c4db039259139ce320cf2b9c1ce5ba2216f05"},"previous_names":[],"tags_count":196,"template":false,"template_full_name":null,"purl":"pkg:github/FarmBot/Farmbot-Web-App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FarmBot","download_url":"https://codeload.github.com/FarmBot/Farmbot-Web-App/tar.gz/refs/heads/staging","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App/sbom","scorecard":{"id":49309,"data":{"date":"2025-08-11","repo":{"name":"github.com/FarmBot/Farmbot-Web-App","commit":"f2f8d903fded5f652efcefa662d42d7b1bbd76ee"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: public/3D/lib/draco_decoder.wasm:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: docker_configs/api.Dockerfile:1: pin your Docker image by updating ruby:3.4.5 to ruby:3.4.5@sha256:04121e637d449ec6a93b4f4d05eef7bd55be4ffb04391127cab0999676c2de47","Warn: containerImage not pinned by hash: docker_configs/rabbitmq.Dockerfile:1: pin your Docker image by updating rabbitmq:4.0.4 to rabbitmq:4.0.4@sha256:ca3df60ab86fd74af2aac78c1868ea6b6d11ec1d1caed415b4690889fcf407d7","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (1) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-vfm5-rmrh-j26v"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-14T23:24:05.041Z","repository_id":14928495,"created_at":"2025-08-14T23:24:05.041Z","updated_at":"2025-08-14T23:24:05.041Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274203379,"owners_count":25240508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"FarmBot","name":"FarmBot","uuid":"5784869","kind":"organization","description":"Humanity's open-source CNC farming machine","email":null,"website":"https://farm.bot","location":null,"twitter":"farmbotio","company":null,"icon_url":"https://avatars.githubusercontent.com/u/5784869?v=4","repositories_count":8,"last_synced_at":"2023-08-09T23:50:36.602Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/FarmBot","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T22:34:47.347Z","updated_at":"2023-08-09T23:50:37.039Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FarmBot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FarmBot/repositories"},"packages":[],"commits":{"id":1254582,"full_name":"FarmBot/Farmbot-Web-App","default_branch":"staging","committers":[{"name":"Rick Carlino","email":"rick.carlino@gmail.com","login":"RickCarlino","count":6138},{"name":"gabrielburnworth","email":"gabrielburnworth","login":"gabrielburnworth","count":1962},{"name":"Rory Aronson","email":"rory@roryaronson.com","login":"roryaronson","count":245},{"name":"MrChristofferson","email":"chrisvan0848@gmail.com","login":"myarete","count":174},{"name":"Ascend","email":"AscendFB","login":"AscendFB","count":44},{"name":"Connor Rigby","email":"connor@farmbot.io","login":null,"count":31},{"name":"David","email":"criadopernia@gmail.com","login":"dcriado","count":17},{"name":"Harry Brundage","email":"harry.brundage@gmail.com","login":"airhorns","count":17},{"name":"Pitou","email":"pitou.games@gmail.com","login":"PitouGames","count":10},{"name":"Brenda Wallace","email":"brenda@wallace.net.nz","login":"Br3nda","count":9},{"name":"DDDIM","email":"faqmail@mail.ru","login":"DDDIM","count":9},{"name":"Connor Rigby","email":"konnorrigby@gmail.com","login":"ConnorRigby","count":8},{"name":"TimEvWw","email":"tim.evers@gmail.com","login":"TimEvWw","count":6},{"name":"Karey Higuera","email":"karey.higuera@gmail.com","login":"kbravh","count":5},{"name":"Fabio Dessi","email":"fabio.dessi@webnos.it","login":null,"count":4},{"name":"f-systemes","email":"62891083+f-systemes","login":"f-systemes","count":4},{"name":"Rick Carlino","email":"rickcarlino","login":"rickcarlino","count":3},{"name":"PrincesseLulu","email":"lucas.meriau@outlook.com","login":"PrincesseLulu","count":3},{"name":"Fabio Dessi","email":"fabio.dessi@webnos.i.t","login":null,"count":3},{"name":"Darío Hereñú","email":"magallania@gmail.com","login":"kant","count":2},{"name":"Allan Kimmer Jensen","email":"allankimmerjensen@gmail.com","login":"Saturate","count":2},{"name":"Michael Ford","email":"fanquake","login":"fanquake","count":2},{"name":"Sebastiano Pistore","email":"SebastianoPistore.info@protonmail.ch","login":"SebastianoPistore","count":2},{"name":"luisrampolla","email":"luis.rampolla@upr.edu","login":"rampollaluis","count":2},{"name":"Making GitHub Delicious","email":"iron@waffle.io","login":"waffle-iron","count":2},{"name":"Ghislaine Guerin","email":"ghislaine@assembla.com","login":null,"count":2},{"name":"Yuval Maman","email":"yuvilio@yahoo.com","login":"yuvilio","count":1},{"name":"Rick Carlino","email":"rick@Ricks-MacBook-Pro.local","login":null,"count":1},{"name":"MrChristofferson","email":"YOUR EMAIL ADDRESS","login":null,"count":1},{"name":"Mike Russell","email":"mikedjrussell@gmail.com","login":null,"count":1},{"name":"C Reimers","email":"christoph@zweihundertsieben.de","login":null,"count":1},{"name":"ncnynl","email":"ncnynl@gmail.com","login":"ncnynl","count":1},{"name":"nicmel","email":"nicolas.melchior@gmail.com","login":"nicmel","count":1},{"name":"Wallerand Delevacq","email":"wallforfry@gmail.com","login":"wallforfry","count":1},{"name":"Nina Pitakwong","email":"ppitakwong@gmail.com","login":"NinaCarlino","count":1},{"name":"MarcRoland","email":"56369838+MarcRoland","login":"MarcRoland","count":1},{"name":"Jeffrey Fisher","email":"jeff@slofish.io","login":"jeffslofish","count":1},{"name":"HairyFotr","email":"hairyfotr@gmail.com","login":"HairyFotr","count":1},{"name":"Ennio Campagna","email":"32188702+HexNio","login":"HexNio","count":1},{"name":"Ender Ahmet Yurt","email":"enderyurt@gmail.com","login":"enderahmetyurt","count":1},{"name":"Bcchoi","email":"bcchoi@aspringcloud.com","login":"springcloud-bcchoi","count":1},{"name":"Alex Alicea","email":"48475528+alexgalicea","login":"alexgalicea","count":1}],"total_commits":8722,"total_committers":42,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":207.66666666666666,"dds":0.296262325154781,"past_year_committers":[{"name":"gabrielburnworth","email":"gabrielburnworth","login":"gabrielburnworth","count":234},{"name":"Rory Aronson","email":"rory@roryaronson.com","login":"roryaronson","count":127}],"past_year_total_commits":361,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":180.5,"past_year_dds":0.35180055401662047,"last_synced_at":"2025-09-02T08:08:50.158Z","last_synced_commit":"e73ff80e930199471861822be2724d045f8d0b24","created_at":"2023-03-27T11:49:52.980Z","updated_at":"2025-09-02T08:08:50.307Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.521Z","repositories_count":5480031,"commits_count":853395369,"contributors_count":31098267,"owners_count":906561,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"FarmBot/Farmbot-Web-App","html_url":"https://github.com/FarmBot/Farmbot-Web-App","last_synced_at":"2025-09-06T23:04:48.550Z","status":"active","issues_count":485,"pull_requests_count":2040,"avg_time_to_close_issue":16673782.560267856,"avg_time_to_close_pull_request":63028.550196850396,"issues_closed_count":448,"pull_requests_closed_count":2032,"pull_request_authors_count":49,"issue_authors_count":79,"avg_comments_per_issue":1.3030927835051547,"avg_comments_per_pull_request":1.3308823529411764,"merged_pull_requests_count":1932,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":51,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":269724.15555555554,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":45,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.5686274509803921,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":43,"created_at":"2023-05-09T10:40:58.139Z","updated_at":"2025-09-06T23:04:48.550Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmBot%2FFarmbot-Web-App/issues","issue_labels_count":{"enhancement":129,"feature":85,"good first issue":58,"Farm Designer":50,"bug":45,"high priority":22,"API change":18,"Sequences":18,"in progress":13,"ready":7,"Settings":7,"FBOS change":5,"Messages":4,"Controls":4,"question":3,"Logs":3,"Farmware":2,"CeleryScript change":2,"wont fix":2,"Archive?":1,"Photos":1},"pull_request_labels_count":{"enhancement":78,"bug":64,"feature":57,"in progress":16,"codex":6,"Sequences":2,"invalid":1,"Farm Designer":1,"Farmware":1,"Controls":1,"ready":1},"issue_author_associations_count":{"MEMBER":264,"NONE":118,"CONTRIBUTOR":102,"COLLABORATOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":1970,"MEMBER":49,"NONE":18,"COLLABORATOR":3},"issue_authors":{"roryaronson":264,"RickCarlino":63,"gabrielburnworth":17,"Klimbim1":10,"innovatemaker":8,"jsimmonds2":7,"AscendFB":6,"derletztename":5,"nicmel":5,"etcipnja":4,"PitouGames":4,"elbow-jason":3,"ThomasLegris":3,"creimers":3,"pablomat":2,"Darchevil":2,"mmcnair91":2,"tuananh2311":2,"Arduns":2,"Br3nda":2,"Abdullah7528":2,"Bunraku":2,"vindekator":2,"amerkay":2,"GuidoCram":2,"linqingfeng":2,"nichoguimbaolibot":2,"yunfan":2,"phrohdoh":2,"yyzzz6000":2,"mdingena":2,"carlosen14":2,"sportscar":1,"yuvilio":1,"muenchris":1,"eddielien":1,"nickydonna":1,"vroyer":1,"JordanOPStudent":1,"MarceloAlves":1,"jpmaidment":1,"patrickmuhi":1,"phillip-shvartsman":1,"patricknoack":1,"deep12650":1,"bahanni":1,"LeeSSXX":1,"peerera":1,"KyryloKaralyus":1,"gowthamgr-git":1,"IsmaelFelix":1,"KizziePig":1,"Kabooommuc":1,"airlinepilot":1,"chanwitG":1,"waldmannly":1,"alkhlama":1,"mdchia":1,"ConnorRigby":1,"muathime":1,"marcel-wiedemeier":1,"kc6esn":1,"bautze":1,"samghotra":1,"issamsham":1,"radoslav-stefanov":1,"ajoeofalltrades":1,"kulbir-ahluwalia":1,"katrinleinweber":1,"MikeTeddyOmondi":1,"ghost":1,"stre1026":1,"cmlogan":1,"zion2k":1,"OrenGitHub":1,"dumielle":1,"enderahmetyurt":1,"avonwyss":1,"nichoguimbaolibot-ubidy":1},"pull_request_authors":{"RickCarlino":1197,"gabrielburnworth":676,"roryaronson":49,"AscendFB":15,"DDDIM":9,"f-systemes":9,"airhorns":7,"myarete":7,"PitouGames":6,"kant":6,"kbravh":5,"FabioDessi":4,"ConnorRigby":3,"Br3nda":3,"SebastianoPistore":2,"ncnynl":2,"nicmel":2,"lfgec":2,"fanquake":2,"PrincesseLulu":2,"yuvilio":2,"willian-virgilio":2,"gregorywaynepower":2,"irishgordo":1,"Reesedog":1,"rampollaluis":1,"NinaCarlino":1,"dcriado":1,"siddheshbomble":1,"keepcosmos":1,"HexNio":1,"MarcRoland":1,"zaxrok":1,"Klimbim1":1,"Saturate":1,"patagonaa":1,"jeffslofish":1,"wallforfry":1,"Doris12355":1,"prateepgedupudi":1,"HairyFotr":1,"jevenzh":1,"TimEvWw":1,"ffischer1984":1,"ghislaineguerin":1,"alexgalicea":1,"enderahmetyurt":1,"creimers":1,"waffle-iron":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-07T00:00:10.533Z","repositories_count":10149119,"issues_count":32061447,"pull_requests_count":100059690,"authors_count":10721250,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"codex":6},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":33,"MEMBER":18},"past_year_issue_authors":{"jsimmonds2":1},"past_year_pull_request_authors":{"gabrielburnworth":33,"roryaronson":18},"maintainers":[{"login":"roryaronson","count":313,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/roryaronson"},{"login":"ConnorRigby","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ConnorRigby"}],"active_maintainers":[{"login":"roryaronson","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/roryaronson"}]},"events":{"total":{"CreateEvent":104,"ReleaseEvent":12,"IssuesEvent":3,"WatchEvent":46,"DeleteEvent":87,"IssueCommentEvent":10,"PushEvent":272,"PullRequestReviewCommentEvent":1,"PullRequestReviewEvent":1,"PullRequestEvent":36,"ForkEvent":20},"last_year":{"CreateEvent":104,"ReleaseEvent":12,"IssuesEvent":3,"WatchEvent":46,"DeleteEvent":87,"IssueCommentEvent":10,"PushEvent":272,"PullRequestReviewCommentEvent":1,"PullRequestReviewEvent":1,"PullRequestEvent":36,"ForkEvent":20}},"keywords":["farmbot"],"dependencies":[{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2022-07-12T05:18:33.450Z","updated_at":"2022-07-12T05:18:33.450Z","repository_link":"https://github.com/FarmBot/Farmbot-Web-App/blob/staging/package.json","dependencies":[{"id":153205503,"package_name":"@blueprintjs/core","ecosystem":"npm","requirements":"4.5.1","direct":true,"kind":"runtime","optional":false},{"id":153205504,"package_name":"@blueprintjs/popover2","ecosystem":"npm","requirements":"1.4.1","direct":true,"kind":"runtime","optional":false},{"id":153205505,"package_name":"@blueprintjs/select","ecosystem":"npm","requirements":"4.4.1","direct":true,"kind":"runtime","optional":false},{"id":153205506,"package_name":"@monaco-editor/react","ecosystem":"npm","requirements":"4.4.5","direct":true,"kind":"runtime","optional":false},{"id":153205507,"package_name":"@parcel/transformer-sass","ecosystem":"npm","requirements":"2.6.2","direct":true,"kind":"runtime","optional":false},{"id":153205508,"package_name":"@parcel/transformer-typescript-tsc","ecosystem":"npm","requirements":"2.6.2","direct":true,"kind":"runtime","optional":false},{"id":153205509,"package_name":"@types/lodash","ecosystem":"npm","requirements":"4.14.182","direct":true,"kind":"runtime","optional":false},{"id":153205510,"package_name":"@types/markdown-it","ecosystem":"npm","requirements":"12.2.3","direct":true,"kind":"runtime","optional":false},{"id":153205511,"package_name":"@types/node","ecosystem":"npm","requirements":"18.0.0","direct":true,"kind":"runtime","optional":false},{"id":153205512,"package_name":"@types/promise-timeout","ecosystem":"npm","requirements":"1.3.0","direct":true,"kind":"runtime","optional":false},{"id":153205513,"package_name":"@types/react","ecosystem":"npm","requirements":"18.0.14","direct":true,"kind":"runtime","optional":false},{"id":153205514,"package_name":"@types/react-color","ecosystem":"npm","requirements":"3.0.6","direct":true,"kind":"runtime","optional":false},{"id":153205515,"package_name":"@types/react-dom","ecosystem":"npm","requirements":"18.0.5","direct":true,"kind":"runtime","optional":false},{"id":153205516,"package_name":"@types/ws","ecosystem":"npm","requirements":"8.5.3","direct":true,"kind":"runtime","optional":false},{"id":153205517,"package_name":"axios","ecosystem":"npm","requirements":"0.27.2","direct":true,"kind":"runtime","optional":false},{"id":153205518,"package_name":"bowser","ecosystem":"npm","requirements":"2.11.0","direct":true,"kind":"runtime","optional":false},{"id":153205519,"package_name":"boxed_value","ecosystem":"npm","requirements":"1.0.0","direct":true,"kind":"runtime","optional":false},{"id":153205520,"package_name":"browser-speech","ecosystem":"npm","requirements":"1.1.1","direct":true,"kind":"runtime","optional":false},{"id":153205521,"package_name":"events","ecosystem":"npm","requirements":"3.3.0","direct":true,"kind":"runtime","optional":false},{"id":153205522,"package_name":"farmbot","ecosystem":"npm","requirements":"15.3.1","direct":true,"kind":"runtime","optional":false},{"id":153205523,"package_name":"i18next","ecosystem":"npm","requirements":"21.8.11","direct":true,"kind":"runtime","optional":false},{"id":153205524,"package_name":"lodash","ecosystem":"npm","requirements":"4.17.21","direct":true,"kind":"runtime","optional":false},{"id":153205525,"package_name":"markdown-it","ecosystem":"npm","requirements":"13.0.1","direct":true,"kind":"runtime","optional":false},{"id":153205526,"package_name":"markdown-it-emoji","ecosystem":"npm","requirements":"2.0.2","direct":true,"kind":"runtime","optional":false},{"id":153205527,"package_name":"moment","ecosystem":"npm","requirements":"2.29.3","direct":true,"kind":"runtime","optional":false},{"id":153205528,"package_name":"monaco-editor","ecosystem":"npm","requirements":"0.33.0","direct":true,"kind":"runtime","optional":false},{"id":153205529,"package_name":"mqtt","ecosystem":"npm","requirements":"4.3.7","direct":true,"kind":"runtime","optional":false},{"id":153205530,"package_name":"npm","ecosystem":"npm","requirements":"8.13.1","direct":true,"kind":"runtime","optional":false},{"id":153205531,"package_name":"parcel","ecosystem":"npm","requirements":"2.6.2","direct":true,"kind":"runtime","optional":false},{"id":153205532,"package_name":"process","ecosystem":"npm","requirements":"0.11.10","direct":true,"kind":"runtime","optional":false},{"id":153205533,"package_name":"promise-timeout","ecosystem":"npm","requirements":"1.3.0","direct":true,"kind":"runtime","optional":false},{"id":153205534,"package_name":"punycode","ecosystem":"npm","requirements":"2.1.1","direct":true,"kind":"runtime","optional":false},{"id":153205535,"package_name":"querystring-es3","ecosystem":"npm","requirements":"0.2.1","direct":true,"kind":"runtime","optional":false},{"id":153205536,"package_name":"react","ecosystem":"npm","requirements":"16.13.1","direct":true,"kind":"runtime","optional":false},{"id":153205537,"package_name":"react-color","ecosystem":"npm","requirements":"2.19.3","direct":true,"kind":"runtime","optional":false},{"id":153205538,"package_name":"react-dom","ecosystem":"npm","requirements":"16.13.1","direct":true,"kind":"runtime","optional":false},{"id":153205539,"package_name":"react-redux","ecosystem":"npm","requirements":"8.0.2","direct":true,"kind":"runtime","optional":false},{"id":153205540,"package_name":"redux","ecosystem":"npm","requirements":"4.2.0","direct":true,"kind":"runtime","optional":false},{"id":153205541,"package_name":"redux-immutable-state-invariant","ecosystem":"npm","requirements":"2.1.0","direct":true,"kind":"runtime","optional":false},{"id":153205542,"package_name":"redux-thunk","ecosystem":"npm","requirements":"2.4.1","direct":true,"kind":"runtime","optional":false},{"id":153205543,"package_name":"takeme","ecosystem":"npm","requirements":"0.12.0","direct":true,"kind":"runtime","optional":false},{"id":153205544,"package_name":"typescript","ecosystem":"npm","requirements":"4.7.4","direct":true,"kind":"runtime","optional":false},{"id":153205545,"package_name":"url","ecosystem":"npm","requirements":"0.11.0","direct":true,"kind":"runtime","optional":false},{"id":153205546,"package_name":"xterm","ecosystem":"npm","requirements":"4.18.0","direct":true,"kind":"runtime","optional":false},{"id":153205547,"package_name":"@types/enzyme","ecosystem":"npm","requirements":"3.10.12","direct":true,"kind":"development","optional":false},{"id":153205548,"package_name":"@types/jest","ecosystem":"npm","requirements":"28.1.3","direct":true,"kind":"development","optional":false},{"id":153205549,"package_name":"@types/moxios","ecosystem":"npm","requirements":"0.4.15","direct":true,"kind":"development","optional":false},{"id":153205550,"package_name":"@typescript-eslint/eslint-plugin","ecosystem":"npm","requirements":"5.30.0","direct":true,"kind":"development","optional":false},{"id":153205551,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"5.30.0","direct":true,"kind":"development","optional":false},{"id":153205552,"package_name":"cheerio","ecosystem":"npm","requirements":"1.0.0-rc.10","direct":true,"kind":"development","optional":false},{"id":153205553,"package_name":"coveralls","ecosystem":"npm","requirements":"3.1.1","direct":true,"kind":"development","optional":false},{"id":153205554,"package_name":"enzyme","ecosystem":"npm","requirements":"3.11.0","direct":true,"kind":"development","optional":false},{"id":153205555,"package_name":"enzyme-adapter-react-16","ecosystem":"npm","requirements":"1.15.6","direct":true,"kind":"development","optional":false},{"id":153205556,"package_name":"eslint","ecosystem":"npm","requirements":"8.18.0","direct":true,"kind":"development","optional":false},{"id":153205557,"package_name":"eslint-plugin-eslint-comments","ecosystem":"npm","requirements":"3.2.0","direct":true,"kind":"development","optional":false},{"id":153205558,"package_name":"eslint-plugin-import","ecosystem":"npm","requirements":"2.26.0","direct":true,"kind":"development","optional":false},{"id":153205559,"package_name":"eslint-plugin-jest","ecosystem":"npm","requirements":"26.5.3","direct":true,"kind":"development","optional":false},{"id":153205560,"package_name":"eslint-plugin-no-null","ecosystem":"npm","requirements":"1.0.2","direct":true,"kind":"development","optional":false},{"id":153205561,"package_name":"eslint-plugin-promise","ecosystem":"npm","requirements":"6.0.0","direct":true,"kind":"development","optional":false},{"id":153205562,"package_name":"eslint-plugin-react","ecosystem":"npm","requirements":"7.30.1","direct":true,"kind":"development","optional":false},{"id":153205563,"package_name":"eslint-plugin-react-hooks","ecosystem":"npm","requirements":"4.6.0","direct":true,"kind":"development","optional":false},{"id":153205564,"package_name":"jest","ecosystem":"npm","requirements":"28.1.2","direct":true,"kind":"development","optional":false},{"id":153205565,"package_name":"jest-cli","ecosystem":"npm","requirements":"28.1.2","direct":true,"kind":"development","optional":false},{"id":153205566,"package_name":"jest-environment-jsdom","ecosystem":"npm","requirements":"28.1.2","direct":true,"kind":"development","optional":false},{"id":153205567,"package_name":"jest-junit","ecosystem":"npm","requirements":"14.0.0","direct":true,"kind":"development","optional":false},{"id":153205568,"package_name":"jest-skipped-reporter","ecosystem":"npm","requirements":"0.0.5","direct":true,"kind":"development","optional":false},{"id":153205569,"package_name":"jshint","ecosystem":"npm","requirements":"2.13.4","direct":true,"kind":"development","optional":false},{"id":153205570,"package_name":"madge","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"development","optional":false},{"id":153205571,"package_name":"moxios","ecosystem":"npm","requirements":"0.4.0","direct":true,"kind":"development","optional":false},{"id":153205572,"package_name":"parse5","ecosystem":"npm","requirements":"6.0.1","direct":true,"kind":"development","optional":false},{"id":153205573,"package_name":"raf","ecosystem":"npm","requirements":"3.4.1","direct":true,"kind":"development","optional":false},{"id":153205574,"package_name":"react-addons-test-utils","ecosystem":"npm","requirements":"15.6.2","direct":true,"kind":"development","optional":false},{"id":153205575,"package_name":"react-test-renderer","ecosystem":"npm","requirements":"16.13.1","direct":true,"kind":"development","optional":false},{"id":153205576,"package_name":"sass","ecosystem":"npm","requirements":"1.53.0","direct":true,"kind":"development","optional":false},{"id":153205577,"package_name":"sass-lint","ecosystem":"npm","requirements":"1.13.1","direct":true,"kind":"development","optional":false},{"id":153205578,"package_name":"ts-jest","ecosystem":"npm","requirements":"28.0.5","direct":true,"kind":"development","optional":false},{"id":153205579,"package_name":"tslint","ecosystem":"npm","requirements":"6.1.3","direct":true,"kind":"development","optional":false},{"id":153205580,"package_name":"which","ecosystem":"npm","requirements":"2.0.2","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-12T05:18:33.845Z","updated_at":"2022-07-12T05:18:33.845Z","repository_link":"https://github.com/FarmBot/Farmbot-Web-App/blob/staging/Gemfile","dependencies":[{"id":153205676,"package_name":"rails","ecosystem":"rubygems","requirements":"~\u003e 6","direct":true,"kind":"runtime","optional":false},{"id":153205677,"package_name":"active_model_serializers","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205678,"package_name":"bunny","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205679,"package_name":"delayed_job_active_record","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205680,"package_name":"delayed_job","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205681,"package_name":"devise","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205682,"package_name":"discard","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205683,"package_name":"google-cloud-storage","ecosystem":"rubygems","requirements":"~\u003e 1.11","direct":true,"kind":"runtime","optional":false},{"id":153205684,"package_name":"jwt","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205685,"package_name":"kaminari","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205686,"package_name":"mutations","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205687,"package_name":"pg","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205688,"package_name":"rabbitmq_http_api_client","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205689,"package_name":"rack-attack","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205690,"package_name":"rack-cors","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205691,"package_name":"rails_12factor","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205692,"package_name":"redis","ecosystem":"rubygems","requirements":"~\u003e 4.0","direct":true,"kind":"runtime","optional":false},{"id":153205693,"package_name":"request_store","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205694,"package_name":"rollbar","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205695,"package_name":"scenic","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205696,"package_name":"secure_headers","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205697,"package_name":"tzinfo","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205698,"package_name":"valid_url","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205699,"package_name":"thwait","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205700,"package_name":"lograge","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":153205701,"package_name":"codecov","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205702,"package_name":"climate_control","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205703,"package_name":"database_cleaner","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205704,"package_name":"factory_bot_rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205705,"package_name":"faker","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205706,"package_name":"hashdiff","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205707,"package_name":"pry-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205708,"package_name":"pry","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205709,"package_name":"rspec-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205710,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205711,"package_name":"rspec_junit_formatter","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205712,"package_name":"simplecov","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205713,"package_name":"smarf_doc","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":153205714,"package_name":"passenger","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2022-07-12T05:18:34.059Z","updated_at":"2022-07-12T05:18:34.059Z","repository_link":"https://github.com/FarmBot/Farmbot-Web-App/blob/staging/Gemfile.lock","dependencies":[{"id":153212028,"package_name":"smarf_doc","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212029,"package_name":"actioncable","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212030,"package_name":"actionmailbox","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212031,"package_name":"actionmailer","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212032,"package_name":"actionpack","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212033,"package_name":"actiontext","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212034,"package_name":"actionview","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212035,"package_name":"active_model_serializers","ecosystem":"rubygems","requirements":"0.10.13","direct":false,"kind":"runtime","optional":false},{"id":153212036,"package_name":"activejob","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212037,"package_name":"activemodel","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212038,"package_name":"activerecord","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212039,"package_name":"activestorage","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212040,"package_name":"activesupport","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212041,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":153212042,"package_name":"amq-protocol","ecosystem":"rubygems","requirements":"2.3.2","direct":false,"kind":"runtime","optional":false},{"id":153212043,"package_name":"bcrypt","ecosystem":"rubygems","requirements":"3.1.18","direct":false,"kind":"runtime","optional":false},{"id":153212044,"package_name":"builder","ecosystem":"rubygems","requirements":"3.2.4","direct":false,"kind":"runtime","optional":false},{"id":153212045,"package_name":"bunny","ecosystem":"rubygems","requirements":"2.19.0","direct":false,"kind":"runtime","optional":false},{"id":153212046,"package_name":"case_transform","ecosystem":"rubygems","requirements":"0.2","direct":false,"kind":"runtime","optional":false},{"id":153212047,"package_name":"climate_control","ecosystem":"rubygems","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":153212048,"package_name":"codecov","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":153212049,"package_name":"coderay","ecosystem":"rubygems","requirements":"1.1.3","direct":false,"kind":"runtime","optional":false},{"id":153212050,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"1.1.10","direct":false,"kind":"runtime","optional":false},{"id":153212051,"package_name":"crass","ecosystem":"rubygems","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":153212052,"package_name":"database_cleaner","ecosystem":"rubygems","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212053,"package_name":"database_cleaner-active_record","ecosystem":"rubygems","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212054,"package_name":"database_cleaner-core","ecosystem":"rubygems","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212055,"package_name":"declarative","ecosystem":"rubygems","requirements":"0.0.20","direct":false,"kind":"runtime","optional":false},{"id":153212056,"package_name":"delayed_job","ecosystem":"rubygems","requirements":"4.1.10","direct":false,"kind":"runtime","optional":false},{"id":153212057,"package_name":"delayed_job_active_record","ecosystem":"rubygems","requirements":"4.1.7","direct":false,"kind":"runtime","optional":false},{"id":153212058,"package_name":"devise","ecosystem":"rubygems","requirements":"4.8.1","direct":false,"kind":"runtime","optional":false},{"id":153212059,"package_name":"diff-lcs","ecosystem":"rubygems","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":153212060,"package_name":"digest-crc","ecosystem":"rubygems","requirements":"0.6.4","direct":false,"kind":"runtime","optional":false},{"id":153212061,"package_name":"discard","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":153212062,"package_name":"docile","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":153212063,"package_name":"e2mmap","ecosystem":"rubygems","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":153212064,"package_name":"erubi","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":153212065,"package_name":"factory_bot","ecosystem":"rubygems","requirements":"6.2.1","direct":false,"kind":"runtime","optional":false},{"id":153212066,"package_name":"factory_bot_rails","ecosystem":"rubygems","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212067,"package_name":"faker","ecosystem":"rubygems","requirements":"2.21.0","direct":false,"kind":"runtime","optional":false},{"id":153212068,"package_name":"faraday","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":153212069,"package_name":"faraday-em_http","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212070,"package_name":"faraday-em_synchrony","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212071,"package_name":"faraday-excon","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":153212072,"package_name":"faraday-httpclient","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212073,"package_name":"faraday-multipart","ecosystem":"rubygems","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":153212074,"package_name":"faraday-net_http","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212075,"package_name":"faraday-net_http_persistent","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212076,"package_name":"faraday-patron","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212077,"package_name":"faraday-rack","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212078,"package_name":"faraday-retry","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":153212079,"package_name":"faraday_middleware","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212080,"package_name":"globalid","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212081,"package_name":"google-apis-core","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":153212082,"package_name":"google-apis-iamcredentials_v1","ecosystem":"rubygems","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":153212083,"package_name":"google-apis-storage_v1","ecosystem":"rubygems","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":153212084,"package_name":"google-cloud-core","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":153212085,"package_name":"google-cloud-env","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":153212086,"package_name":"google-cloud-errors","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212087,"package_name":"google-cloud-storage","ecosystem":"rubygems","requirements":"1.36.2","direct":false,"kind":"runtime","optional":false},{"id":153212088,"package_name":"googleauth","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212089,"package_name":"hashdiff","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212090,"package_name":"hashie","ecosystem":"rubygems","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":153212091,"package_name":"httpclient","ecosystem":"rubygems","requirements":"2.8.3","direct":false,"kind":"runtime","optional":false},{"id":153212092,"package_name":"i18n","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":153212093,"package_name":"jsonapi-renderer","ecosystem":"rubygems","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":153212094,"package_name":"jwt","ecosystem":"rubygems","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":153212095,"package_name":"kaminari","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":153212096,"package_name":"kaminari-actionview","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":153212097,"package_name":"kaminari-activerecord","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":153212098,"package_name":"kaminari-core","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":153212099,"package_name":"lograge","ecosystem":"rubygems","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":153212100,"package_name":"loofah","ecosystem":"rubygems","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":153212101,"package_name":"mail","ecosystem":"rubygems","requirements":"2.7.1","direct":false,"kind":"runtime","optional":false},{"id":153212102,"package_name":"marcel","ecosystem":"rubygems","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":153212103,"package_name":"memoist","ecosystem":"rubygems","requirements":"0.16.2","direct":false,"kind":"runtime","optional":false},{"id":153212104,"package_name":"method_source","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":153212105,"package_name":"mini_mime","ecosystem":"rubygems","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":153212106,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.16.1","direct":false,"kind":"runtime","optional":false},{"id":153212107,"package_name":"multi_json","ecosystem":"rubygems","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":153212108,"package_name":"multipart-post","ecosystem":"rubygems","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":153212109,"package_name":"mutations","ecosystem":"rubygems","requirements":"0.9.1","direct":false,"kind":"runtime","optional":false},{"id":153212110,"package_name":"nio4r","ecosystem":"rubygems","requirements":"2.5.8","direct":false,"kind":"runtime","optional":false},{"id":153212111,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"1.13.6","direct":false,"kind":"runtime","optional":false},{"id":153212112,"package_name":"orm_adapter","ecosystem":"rubygems","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":153212113,"package_name":"os","ecosystem":"rubygems","requirements":"1.1.4","direct":false,"kind":"runtime","optional":false},{"id":153212114,"package_name":"passenger","ecosystem":"rubygems","requirements":"6.0.14","direct":false,"kind":"runtime","optional":false},{"id":153212115,"package_name":"pg","ecosystem":"rubygems","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":153212116,"package_name":"pry","ecosystem":"rubygems","requirements":"0.14.1","direct":false,"kind":"runtime","optional":false},{"id":153212117,"package_name":"pry-rails","ecosystem":"rubygems","requirements":"0.3.9","direct":false,"kind":"runtime","optional":false},{"id":153212118,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"4.0.7","direct":false,"kind":"runtime","optional":false},{"id":153212119,"package_name":"rabbitmq_http_api_client","ecosystem":"rubygems","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212120,"package_name":"racc","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":153212121,"package_name":"rack","ecosystem":"rubygems","requirements":"2.2.3.1","direct":false,"kind":"runtime","optional":false},{"id":153212122,"package_name":"rack-attack","ecosystem":"rubygems","requirements":"6.6.1","direct":false,"kind":"runtime","optional":false},{"id":153212123,"package_name":"rack-cors","ecosystem":"rubygems","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":153212124,"package_name":"rack-test","ecosystem":"rubygems","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":153212125,"package_name":"rails","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212126,"package_name":"rails-dom-testing","ecosystem":"rubygems","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":153212127,"package_name":"rails-html-sanitizer","ecosystem":"rubygems","requirements":"1.4.3","direct":false,"kind":"runtime","optional":false},{"id":153212128,"package_name":"rails_12factor","ecosystem":"rubygems","requirements":"0.0.3","direct":false,"kind":"runtime","optional":false},{"id":153212129,"package_name":"rails_serve_static_assets","ecosystem":"rubygems","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":153212130,"package_name":"rails_stdout_logging","ecosystem":"rubygems","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":153212131,"package_name":"railties","ecosystem":"rubygems","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":153212132,"package_name":"rake","ecosystem":"rubygems","requirements":"13.0.6","direct":false,"kind":"runtime","optional":false},{"id":153212133,"package_name":"rbtree","ecosystem":"rubygems","requirements":"0.4.5","direct":false,"kind":"runtime","optional":false},{"id":153212134,"package_name":"redis","ecosystem":"rubygems","requirements":"4.7.0","direct":false,"kind":"runtime","optional":false},{"id":153212135,"package_name":"representable","ecosystem":"rubygems","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212136,"package_name":"request_store","ecosystem":"rubygems","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":153212137,"package_name":"responders","ecosystem":"rubygems","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":153212138,"package_name":"retriable","ecosystem":"rubygems","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":153212139,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":153212140,"package_name":"rollbar","ecosystem":"rubygems","requirements":"3.3.1","direct":false,"kind":"runtime","optional":false},{"id":153212141,"package_name":"rspec","ecosystem":"rubygems","requirements":"3.11.0","direct":false,"kind":"runtime","optional":false},{"id":153212142,"package_name":"rspec-core","ecosystem":"rubygems","requirements":"3.11.0","direct":false,"kind":"runtime","optional":false},{"id":153212143,"package_name":"rspec-expectations","ecosystem":"rubygems","requirements":"3.11.0","direct":false,"kind":"runtime","optional":false},{"id":153212144,"package_name":"rspec-mocks","ecosystem":"rubygems","requirements":"3.11.1","direct":false,"kind":"runtime","optional":false},{"id":153212145,"package_name":"rspec-rails","ecosystem":"rubygems","requirements":"5.1.2","direct":false,"kind":"runtime","optional":false},{"id":153212146,"package_name":"rspec-support","ecosystem":"rubygems","requirements":"3.11.0","direct":false,"kind":"runtime","optional":false},{"id":153212147,"package_name":"rspec_junit_formatter","ecosystem":"rubygems","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":153212148,"package_name":"ruby2_keywords","ecosystem":"rubygems","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":153212149,"package_name":"scenic","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":153212150,"package_name":"secure_headers","ecosystem":"rubygems","requirements":"6.3.4","direct":false,"kind":"runtime","optional":false},{"id":153212151,"package_name":"set","ecosystem":"rubygems","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":153212152,"package_name":"signet","ecosystem":"rubygems","requirements":"0.17.0","direct":false,"kind":"runtime","optional":false},{"id":153212153,"package_name":"simplecov","ecosystem":"rubygems","requirements":"0.21.2","direct":false,"kind":"runtime","optional":false},{"id":153212154,"package_name":"simplecov-html","ecosystem":"rubygems","requirements":"0.12.3","direct":false,"kind":"runtime","optional":false},{"id":153212155,"package_name":"simplecov_json_formatter","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":153212156,"package_name":"sorted_set","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":153212157,"package_name":"sprockets","ecosystem":"rubygems","requirements":"4.1.1","direct":false,"kind":"runtime","optional":false},{"id":153212158,"package_name":"sprockets-rails","ecosystem":"rubygems","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":153212159,"package_name":"thor","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":153212160,"package_name":"thwait","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":153212161,"package_name":"trailblazer-option","ecosystem":"rubygems","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":153212162,"package_name":"tzinfo","ecosystem":"rubygems","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":153212163,"package_name":"uber","ecosystem":"rubygems","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":153212164,"package_name":"valid_url","ecosystem":"rubygems","requirements":"0.0.4","direct":false,"kind":"runtime","optional":false},{"id":153212165,"package_name":"warden","ecosystem":"rubygems","requirements":"1.2.9","direct":false,"kind":"runtime","optional":false},{"id":153212166,"package_name":"webrick","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":153212167,"package_name":"websocket-driver","ecosystem":"rubygems","requirements":"0.7.5","direct":false,"kind":"runtime","optional":false},{"id":153212168,"package_name":"websocket-extensions","ecosystem":"rubygems","requirements":"0.1.5","direct":false,"kind":"runtime","optional":false},{"id":153212169,"package_name":"zeitwerk","ecosystem":"rubygems","requirements":"2.6.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-01-14T00:30:24.963Z","updated_at":"2023-01-14T00:30:24.963Z","repository_link":"https://github.com/FarmBot/Farmbot-Web-App/blob/staging/docker-compose.yml","dependencies":[{"id":6891902879,"package_name":"redis","ecosystem":"docker","requirements":"5","direct":true,"kind":"runtime","optional":false},{"id":6891902880,"package_name":"postgres","ecosystem":"docker","requirements":"13","direct":true,"kind":"runtime","optional":false},{"id":6891902881,"package_name":"farmbot_web","ecosystem":"docker","requirements":"latest","direct":true,"kind":"runtime","optional":false}]}],"score":10.626242077848731,"created_at":"2025-09-08T15:38:56.249Z","updated_at":"2025-10-07T08:27:11.249Z","avatar_url":"https://github.com/FarmBot.png","language":"TypeScript","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["farming","gardening","plants"],"project_url":"https://science.ecosyste.ms/api/v1/projects/75351","html_url":"https://science.ecosyste.ms/projects/75351"}