{"id":6033,"name":"iotgarden","description":null,"url":"https://github.com/dung2k3/iotgarden","last_synced_at":"2025-09-04T18:58:51.691Z","repository":{"id":307613307,"uuid":"1029549221","full_name":"Dung2k3/IOTGarden","owner":"Dung2k3","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-01T05:53:22.000Z","size":62215,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-15T19:19:09.714Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dung2k3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-31T08:00:32.000Z","updated_at":"2025-08-01T05:49:22.000Z","dependencies_parsed_at":"2025-08-01T08:09:24.231Z","dependency_job_id":null,"html_url":"https://github.com/Dung2k3/IOTGarden","commit_stats":null,"previous_names":["dung2k3/iotgarden"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Dung2k3/IOTGarden","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dung2k3%2FIOTGarden","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dung2k3%2FIOTGarden/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dung2k3%2FIOTGarden/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dung2k3%2FIOTGarden/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dung2k3","download_url":"https://codeload.github.com/Dung2k3/IOTGarden/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dung2k3%2FIOTGarden/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273657092,"owners_count":25145003,"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-04T02:00:08.968Z","response_time":61,"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":"Dung2k3","name":"TMDung","uuid":"91265500","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/91265500?v=4","repositories_count":1,"last_synced_at":"2023-05-01T11:37:15.204Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Dung2k3","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-05-01T11:37:15.218Z","updated_at":"2023-05-01T11:37:15.218Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dung2k3","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dung2k3/repositories"},"packages":[],"commits":{"id":10778543,"full_name":"dung2k3/iotgarden","default_branch":"master","committers":null,"total_commits":null,"total_committers":null,"total_bot_commits":null,"total_bot_committers":null,"mean_commits":null,"dds":null,"past_year_committers":null,"past_year_total_commits":null,"past_year_total_committers":null,"past_year_total_bot_commits":null,"past_year_total_bot_committers":null,"past_year_mean_commits":null,"past_year_dds":null,"last_synced_at":null,"last_synced_commit":null,"created_at":"2025-08-15T18:58:30.813Z","updated_at":"2025-08-15T18:58:30.813Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/dung2k3%2Fiotgarden/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"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":"dung2k3/iotgarden","html_url":"https://github.com/dung2k3/iotgarden","last_synced_at":"2025-08-15T18:58:36.774Z","status":"error","issues_count":null,"pull_requests_count":null,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":null,"pull_requests_closed_count":null,"pull_request_authors_count":null,"issue_authors_count":null,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":null,"bot_issues_count":null,"bot_pull_requests_count":null,"past_year_issues_count":null,"past_year_pull_requests_count":null,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":null,"past_year_pull_requests_closed_count":null,"past_year_pull_request_authors_count":null,"past_year_issue_authors_count":null,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":null,"past_year_bot_pull_requests_count":null,"past_year_merged_pull_requests_count":null,"created_at":"2025-08-15T18:58:31.050Z","updated_at":"2025-08-29T12:08:40.791Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dung2k3%2Fiotgarden","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dung2k3%2Fiotgarden/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":1,"github_actions":1},"issue_author_associations_count":{},"pull_request_author_associations_count":{"CONTRIBUTOR":1},"issue_authors":{},"pull_request_authors":{"dependabot[bot]":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.939Z","repositories_count":10081382,"issues_count":31322741,"pull_requests_count":96214245,"authors_count":10693626,"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":{"dependencies":1,"github_actions":1},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"IssueCommentEvent":2,"PushEvent":1,"PullRequestEvent":1,"CreateEvent":3},"last_year":{"IssueCommentEvent":2,"PushEvent":1,"PullRequestEvent":1,"CreateEvent":3}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/npm-grunt.yml","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:20.529Z","updated_at":"2025-08-01T08:09:20.529Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/.github/workflows/npm-grunt.yml","dependencies":[{"id":24448767812,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24448767813,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:20.596Z","updated_at":"2025-08-01T08:09:20.596Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/.github/workflows/release.yml","dependencies":[{"id":24448767814,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24448767815,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24448767816,"package_name":"peter-evans/create-pull-request","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:20.982Z","updated_at":"2025-08-01T08:09:20.982Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/.github/workflows/tests.yml","dependencies":[{"id":24448769120,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":24448769121,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":".node-red/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:21.271Z","updated_at":"2025-08-01T08:09:21.271Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/.node-red/package.json","dependencies":[{"id":24448769122,"package_name":"node-red-contrib-ui-led","ecosystem":"npm","requirements":"~0.4.11","direct":true,"kind":"runtime","optional":false},{"id":24448769123,"package_name":"node-red-dashboard","ecosystem":"npm","requirements":"~3.6.5","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:21.400Z","updated_at":"2025-08-01T08:09:21.400Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/package.json","dependencies":[{"id":24448769124,"package_name":"acorn","ecosystem":"npm","requirements":"8.15.0","direct":true,"kind":"runtime","optional":false},{"id":24448769125,"package_name":"acorn-walk","ecosystem":"npm","requirements":"8.3.4","direct":true,"kind":"runtime","optional":false},{"id":24448769126,"package_name":"ajv","ecosystem":"npm","requirements":"8.17.1","direct":true,"kind":"runtime","optional":false},{"id":24448769127,"package_name":"async-mutex","ecosystem":"npm","requirements":"0.5.0","direct":true,"kind":"runtime","optional":false},{"id":24448769128,"package_name":"basic-auth","ecosystem":"npm","requirements":"2.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769129,"package_name":"bcryptjs","ecosystem":"npm","requirements":"3.0.2","direct":true,"kind":"runtime","optional":false},{"id":24448769130,"package_name":"body-parser","ecosystem":"npm","requirements":"1.20.3","direct":true,"kind":"runtime","optional":false},{"id":24448769131,"package_name":"chalk","ecosystem":"npm","requirements":"^4.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769132,"package_name":"cheerio","ecosystem":"npm","requirements":"1.0.0-rc.10","direct":true,"kind":"runtime","optional":false},{"id":24448769133,"package_name":"clone","ecosystem":"npm","requirements":"2.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769134,"package_name":"content-type","ecosystem":"npm","requirements":"1.0.5","direct":true,"kind":"runtime","optional":false},{"id":24448769135,"package_name":"cookie","ecosystem":"npm","requirements":"0.7.2","direct":true,"kind":"runtime","optional":false},{"id":24448769136,"package_name":"cookie-parser","ecosystem":"npm","requirements":"1.4.7","direct":true,"kind":"runtime","optional":false},{"id":24448769137,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":true,"kind":"runtime","optional":false},{"id":24448769138,"package_name":"cronosjs","ecosystem":"npm","requirements":"1.7.1","direct":true,"kind":"runtime","optional":false},{"id":24448769139,"package_name":"denque","ecosystem":"npm","requirements":"2.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769140,"package_name":"express","ecosystem":"npm","requirements":"4.21.2","direct":true,"kind":"runtime","optional":false},{"id":24448769141,"package_name":"express-session","ecosystem":"npm","requirements":"1.18.2","direct":true,"kind":"runtime","optional":false},{"id":24448769142,"package_name":"form-data","ecosystem":"npm","requirements":"4.0.4","direct":true,"kind":"runtime","optional":false},{"id":24448769143,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":true,"kind":"runtime","optional":false},{"id":24448769144,"package_name":"got","ecosystem":"npm","requirements":"12.6.1","direct":true,"kind":"runtime","optional":false},{"id":24448769145,"package_name":"hash-sum","ecosystem":"npm","requirements":"2.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769146,"package_name":"hpagent","ecosystem":"npm","requirements":"1.2.0","direct":true,"kind":"runtime","optional":false},{"id":24448769147,"package_name":"https-proxy-agent","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769148,"package_name":"i18next","ecosystem":"npm","requirements":"24.2.3","direct":true,"kind":"runtime","optional":false},{"id":24448769149,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.6.3","direct":true,"kind":"runtime","optional":false},{"id":24448769150,"package_name":"is-utf8","ecosystem":"npm","requirements":"0.2.1","direct":true,"kind":"runtime","optional":false},{"id":24448769151,"package_name":"js-yaml","ecosystem":"npm","requirements":"4.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769152,"package_name":"json-stringify-safe","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769153,"package_name":"jsonata","ecosystem":"npm","requirements":"2.0.6","direct":true,"kind":"runtime","optional":false},{"id":24448769154,"package_name":"lodash.clonedeep","ecosystem":"npm","requirements":"^4.5.0","direct":true,"kind":"runtime","optional":false},{"id":24448769155,"package_name":"media-typer","ecosystem":"npm","requirements":"1.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769156,"package_name":"memorystore","ecosystem":"npm","requirements":"1.6.7","direct":true,"kind":"runtime","optional":false},{"id":24448769157,"package_name":"mime","ecosystem":"npm","requirements":"3.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769158,"package_name":"moment","ecosystem":"npm","requirements":"2.30.1","direct":true,"kind":"runtime","optional":false},{"id":24448769159,"package_name":"moment-timezone","ecosystem":"npm","requirements":"0.5.48","direct":true,"kind":"runtime","optional":false},{"id":24448769160,"package_name":"mqtt","ecosystem":"npm","requirements":"5.11.0","direct":true,"kind":"runtime","optional":false},{"id":24448769161,"package_name":"multer","ecosystem":"npm","requirements":"2.0.2","direct":true,"kind":"runtime","optional":false},{"id":24448769162,"package_name":"mustache","ecosystem":"npm","requirements":"4.2.0","direct":true,"kind":"runtime","optional":false},{"id":24448769163,"package_name":"node-red-admin","ecosystem":"npm","requirements":"^4.1.1","direct":true,"kind":"runtime","optional":false},{"id":24448769164,"package_name":"node-watch","ecosystem":"npm","requirements":"0.7.4","direct":true,"kind":"runtime","optional":false},{"id":24448769165,"package_name":"nopt","ecosystem":"npm","requirements":"5.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769166,"package_name":"oauth2orize","ecosystem":"npm","requirements":"1.12.0","direct":true,"kind":"runtime","optional":false},{"id":24448769167,"package_name":"on-headers","ecosystem":"npm","requirements":"1.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769168,"package_name":"passport","ecosystem":"npm","requirements":"0.7.0","direct":true,"kind":"runtime","optional":false},{"id":24448769169,"package_name":"passport-http-bearer","ecosystem":"npm","requirements":"1.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769170,"package_name":"passport-oauth2-client-password","ecosystem":"npm","requirements":"0.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769171,"package_name":"raw-body","ecosystem":"npm","requirements":"3.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769172,"package_name":"rfdc","ecosystem":"npm","requirements":"^1.3.1","direct":true,"kind":"runtime","optional":false},{"id":24448769173,"package_name":"semver","ecosystem":"npm","requirements":"7.7.1","direct":true,"kind":"runtime","optional":false},{"id":24448769174,"package_name":"tar","ecosystem":"npm","requirements":"7.4.3","direct":true,"kind":"runtime","optional":false},{"id":24448769175,"package_name":"tough-cookie","ecosystem":"npm","requirements":"5.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769176,"package_name":"uglify-js","ecosystem":"npm","requirements":"3.19.3","direct":true,"kind":"runtime","optional":false},{"id":24448769177,"package_name":"uuid","ecosystem":"npm","requirements":"9.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769178,"package_name":"ws","ecosystem":"npm","requirements":"7.5.10","direct":true,"kind":"runtime","optional":false},{"id":24448769179,"package_name":"xml2js","ecosystem":"npm","requirements":"0.6.2","direct":true,"kind":"runtime","optional":false},{"id":24448769180,"package_name":"dompurify","ecosystem":"npm","requirements":"3.2.6","direct":true,"kind":"development","optional":false},{"id":24448769181,"package_name":"grunt","ecosystem":"npm","requirements":"1.6.1","direct":true,"kind":"development","optional":false},{"id":24448769182,"package_name":"grunt-chmod","ecosystem":"npm","requirements":"~1.1.1","direct":true,"kind":"development","optional":false},{"id":24448769183,"package_name":"grunt-cli","ecosystem":"npm","requirements":"~1.5.0","direct":true,"kind":"development","optional":false},{"id":24448769184,"package_name":"grunt-concurrent","ecosystem":"npm","requirements":"3.0.0","direct":true,"kind":"development","optional":false},{"id":24448769185,"package_name":"grunt-contrib-clean","ecosystem":"npm","requirements":"2.0.1","direct":true,"kind":"development","optional":false},{"id":24448769186,"package_name":"grunt-contrib-compress","ecosystem":"npm","requirements":"2.0.0","direct":true,"kind":"development","optional":false},{"id":24448769187,"package_name":"grunt-contrib-concat","ecosystem":"npm","requirements":"2.1.0","direct":true,"kind":"development","optional":false},{"id":24448769188,"package_name":"grunt-contrib-copy","ecosystem":"npm","requirements":"1.0.0","direct":true,"kind":"development","optional":false},{"id":24448769189,"package_name":"grunt-contrib-jshint","ecosystem":"npm","requirements":"3.2.0","direct":true,"kind":"development","optional":false},{"id":24448769190,"package_name":"grunt-contrib-uglify","ecosystem":"npm","requirements":"5.2.2","direct":true,"kind":"development","optional":false},{"id":24448769191,"package_name":"grunt-contrib-watch","ecosystem":"npm","requirements":"1.1.0","direct":true,"kind":"development","optional":false},{"id":24448769192,"package_name":"grunt-jsdoc","ecosystem":"npm","requirements":"2.4.1","direct":true,"kind":"development","optional":false},{"id":24448769193,"package_name":"grunt-jsdoc-to-markdown","ecosystem":"npm","requirements":"6.0.0","direct":true,"kind":"development","optional":false},{"id":24448769194,"package_name":"grunt-jsonlint","ecosystem":"npm","requirements":"3.0.0","direct":true,"kind":"development","optional":false},{"id":24448769195,"package_name":"grunt-mkdir","ecosystem":"npm","requirements":"~1.1.0","direct":true,"kind":"development","optional":false},{"id":24448769196,"package_name":"grunt-npm-command","ecosystem":"npm","requirements":"~0.1.2","direct":true,"kind":"development","optional":false},{"id":24448769197,"package_name":"grunt-sass","ecosystem":"npm","requirements":"~3.1.0","direct":true,"kind":"development","optional":false},{"id":24448769198,"package_name":"grunt-simple-mocha","ecosystem":"npm","requirements":"~0.4.1","direct":true,"kind":"development","optional":false},{"id":24448769199,"package_name":"grunt-simple-nyc","ecosystem":"npm","requirements":"^3.0.1","direct":true,"kind":"development","optional":false},{"id":24448769200,"package_name":"i18next-http-backend","ecosystem":"npm","requirements":"1.4.1","direct":true,"kind":"development","optional":false},{"id":24448769201,"package_name":"jquery-i18next","ecosystem":"npm","requirements":"1.2.1","direct":true,"kind":"development","optional":false},{"id":24448769202,"package_name":"jsdoc-nr-template","ecosystem":"npm","requirements":"github:node-red/jsdoc-nr-template","direct":true,"kind":"development","optional":false},{"id":24448769203,"package_name":"marked","ecosystem":"npm","requirements":"4.3.0","direct":true,"kind":"development","optional":false},{"id":24448769204,"package_name":"mermaid","ecosystem":"npm","requirements":"11.9.0","direct":true,"kind":"development","optional":false},{"id":24448769205,"package_name":"minami","ecosystem":"npm","requirements":"1.2.3","direct":true,"kind":"development","optional":false},{"id":24448769206,"package_name":"mocha","ecosystem":"npm","requirements":"9.2.2","direct":true,"kind":"development","optional":false},{"id":24448769207,"package_name":"node-red-node-test-helper","ecosystem":"npm","requirements":"^0.3.3","direct":true,"kind":"development","optional":false},{"id":24448769208,"package_name":"nodemon","ecosystem":"npm","requirements":"3.1.9","direct":true,"kind":"development","optional":false},{"id":24448769209,"package_name":"proxy","ecosystem":"npm","requirements":"^1.0.2","direct":true,"kind":"development","optional":false},{"id":24448769210,"package_name":"sass","ecosystem":"npm","requirements":"1.62.1","direct":true,"kind":"development","optional":false},{"id":24448769211,"package_name":"should","ecosystem":"npm","requirements":"13.2.3","direct":true,"kind":"development","optional":false},{"id":24448769212,"package_name":"sinon","ecosystem":"npm","requirements":"11.1.2","direct":true,"kind":"development","optional":false},{"id":24448769213,"package_name":"stoppable","ecosystem":"npm","requirements":"^1.1.0","direct":true,"kind":"development","optional":false},{"id":24448769214,"package_name":"supertest","ecosystem":"npm","requirements":"6.3.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/node_modules/@node-red/editor-api/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:21.773Z","updated_at":"2025-08-01T08:09:21.773Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/@node-red/editor-api/package.json","dependencies":[{"id":24448769215,"package_name":"@node-red/util","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769216,"package_name":"@node-red/editor-client","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769217,"package_name":"bcryptjs","ecosystem":"npm","requirements":"3.0.2","direct":true,"kind":"runtime","optional":false},{"id":24448769218,"package_name":"body-parser","ecosystem":"npm","requirements":"1.20.3","direct":true,"kind":"runtime","optional":false},{"id":24448769219,"package_name":"clone","ecosystem":"npm","requirements":"2.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769220,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":true,"kind":"runtime","optional":false},{"id":24448769221,"package_name":"express-session","ecosystem":"npm","requirements":"1.18.2","direct":true,"kind":"runtime","optional":false},{"id":24448769222,"package_name":"express","ecosystem":"npm","requirements":"4.21.2","direct":true,"kind":"runtime","optional":false},{"id":24448769223,"package_name":"memorystore","ecosystem":"npm","requirements":"1.6.7","direct":true,"kind":"runtime","optional":false},{"id":24448769224,"package_name":"mime","ecosystem":"npm","requirements":"3.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769225,"package_name":"multer","ecosystem":"npm","requirements":"2.0.2","direct":true,"kind":"runtime","optional":false},{"id":24448769226,"package_name":"mustache","ecosystem":"npm","requirements":"4.2.0","direct":true,"kind":"runtime","optional":false},{"id":24448769227,"package_name":"oauth2orize","ecosystem":"npm","requirements":"1.12.0","direct":true,"kind":"runtime","optional":false},{"id":24448769228,"package_name":"passport-http-bearer","ecosystem":"npm","requirements":"1.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769229,"package_name":"passport-oauth2-client-password","ecosystem":"npm","requirements":"0.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769230,"package_name":"passport","ecosystem":"npm","requirements":"0.7.0","direct":true,"kind":"runtime","optional":false},{"id":24448769231,"package_name":"ws","ecosystem":"npm","requirements":"7.5.10","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/node_modules/@node-red/editor-client/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:21.879Z","updated_at":"2025-08-01T08:09:21.879Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/@node-red/editor-client/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"packages/node_modules/@node-red/nodes/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:21.933Z","updated_at":"2025-08-01T08:09:21.933Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/@node-red/nodes/package.json","dependencies":[{"id":24448769232,"package_name":"acorn","ecosystem":"npm","requirements":"8.15.0","direct":true,"kind":"runtime","optional":false},{"id":24448769233,"package_name":"acorn-walk","ecosystem":"npm","requirements":"8.3.4","direct":true,"kind":"runtime","optional":false},{"id":24448769234,"package_name":"ajv","ecosystem":"npm","requirements":"8.17.1","direct":true,"kind":"runtime","optional":false},{"id":24448769235,"package_name":"body-parser","ecosystem":"npm","requirements":"1.20.3","direct":true,"kind":"runtime","optional":false},{"id":24448769236,"package_name":"cheerio","ecosystem":"npm","requirements":"1.0.0-rc.10","direct":true,"kind":"runtime","optional":false},{"id":24448769237,"package_name":"content-type","ecosystem":"npm","requirements":"1.0.5","direct":true,"kind":"runtime","optional":false},{"id":24448769238,"package_name":"cookie-parser","ecosystem":"npm","requirements":"1.4.7","direct":true,"kind":"runtime","optional":false},{"id":24448769239,"package_name":"cookie","ecosystem":"npm","requirements":"0.7.2","direct":true,"kind":"runtime","optional":false},{"id":24448769240,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":true,"kind":"runtime","optional":false},{"id":24448769241,"package_name":"cronosjs","ecosystem":"npm","requirements":"1.7.1","direct":true,"kind":"runtime","optional":false},{"id":24448769242,"package_name":"denque","ecosystem":"npm","requirements":"2.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769243,"package_name":"form-data","ecosystem":"npm","requirements":"4.0.4","direct":true,"kind":"runtime","optional":false},{"id":24448769244,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":true,"kind":"runtime","optional":false},{"id":24448769245,"package_name":"got","ecosystem":"npm","requirements":"12.6.1","direct":true,"kind":"runtime","optional":false},{"id":24448769246,"package_name":"hash-sum","ecosystem":"npm","requirements":"2.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769247,"package_name":"hpagent","ecosystem":"npm","requirements":"1.2.0","direct":true,"kind":"runtime","optional":false},{"id":24448769248,"package_name":"https-proxy-agent","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769249,"package_name":"is-utf8","ecosystem":"npm","requirements":"0.2.1","direct":true,"kind":"runtime","optional":false},{"id":24448769250,"package_name":"js-yaml","ecosystem":"npm","requirements":"4.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769251,"package_name":"media-typer","ecosystem":"npm","requirements":"1.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769252,"package_name":"mqtt","ecosystem":"npm","requirements":"5.11.0","direct":true,"kind":"runtime","optional":false},{"id":24448769253,"package_name":"multer","ecosystem":"npm","requirements":"2.0.2","direct":true,"kind":"runtime","optional":false},{"id":24448769254,"package_name":"mustache","ecosystem":"npm","requirements":"4.2.0","direct":true,"kind":"runtime","optional":false},{"id":24448769255,"package_name":"node-watch","ecosystem":"npm","requirements":"0.7.4","direct":true,"kind":"runtime","optional":false},{"id":24448769256,"package_name":"on-headers","ecosystem":"npm","requirements":"1.1.0","direct":true,"kind":"runtime","optional":false},{"id":24448769257,"package_name":"raw-body","ecosystem":"npm","requirements":"3.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769258,"package_name":"tough-cookie","ecosystem":"npm","requirements":"5.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769259,"package_name":"uuid","ecosystem":"npm","requirements":"9.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769260,"package_name":"ws","ecosystem":"npm","requirements":"7.5.10","direct":true,"kind":"runtime","optional":false},{"id":24448769261,"package_name":"xml2js","ecosystem":"npm","requirements":"0.6.2","direct":true,"kind":"runtime","optional":false},{"id":24448769262,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.6.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/node_modules/@node-red/registry/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.005Z","updated_at":"2025-08-01T08:09:22.005Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/@node-red/registry/package.json","dependencies":[{"id":24448769263,"package_name":"@node-red/util","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769264,"package_name":"clone","ecosystem":"npm","requirements":"2.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769265,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":true,"kind":"runtime","optional":false},{"id":24448769266,"package_name":"semver","ecosystem":"npm","requirements":"7.7.1","direct":true,"kind":"runtime","optional":false},{"id":24448769267,"package_name":"tar","ecosystem":"npm","requirements":"7.4.3","direct":true,"kind":"runtime","optional":false},{"id":24448769268,"package_name":"uglify-js","ecosystem":"npm","requirements":"3.19.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/node_modules/@node-red/runtime/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.073Z","updated_at":"2025-08-01T08:09:22.073Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/@node-red/runtime/package.json","dependencies":[{"id":24448769269,"package_name":"@node-red/registry","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769270,"package_name":"@node-red/util","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769271,"package_name":"async-mutex","ecosystem":"npm","requirements":"0.5.0","direct":true,"kind":"runtime","optional":false},{"id":24448769272,"package_name":"clone","ecosystem":"npm","requirements":"2.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769273,"package_name":"cronosjs","ecosystem":"npm","requirements":"1.7.1","direct":true,"kind":"runtime","optional":false},{"id":24448769274,"package_name":"express","ecosystem":"npm","requirements":"4.21.2","direct":true,"kind":"runtime","optional":false},{"id":24448769275,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":true,"kind":"runtime","optional":false},{"id":24448769276,"package_name":"got","ecosystem":"npm","requirements":"12.6.1","direct":true,"kind":"runtime","optional":false},{"id":24448769277,"package_name":"json-stringify-safe","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769278,"package_name":"rfdc","ecosystem":"npm","requirements":"^1.3.1","direct":true,"kind":"runtime","optional":false},{"id":24448769279,"package_name":"semver","ecosystem":"npm","requirements":"7.7.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/node_modules/@node-red/util/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.148Z","updated_at":"2025-08-01T08:09:22.148Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/@node-red/util/package.json","dependencies":[{"id":24448769280,"package_name":"chalk","ecosystem":"npm","requirements":"^4.1.2","direct":true,"kind":"runtime","optional":false},{"id":24448769281,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":true,"kind":"runtime","optional":false},{"id":24448769282,"package_name":"i18next","ecosystem":"npm","requirements":"24.2.3","direct":true,"kind":"runtime","optional":false},{"id":24448769283,"package_name":"json-stringify-safe","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769284,"package_name":"jsonata","ecosystem":"npm","requirements":"2.0.6","direct":true,"kind":"runtime","optional":false},{"id":24448769285,"package_name":"lodash.clonedeep","ecosystem":"npm","requirements":"^4.5.0","direct":true,"kind":"runtime","optional":false},{"id":24448769286,"package_name":"moment","ecosystem":"npm","requirements":"2.30.1","direct":true,"kind":"runtime","optional":false},{"id":24448769287,"package_name":"moment-timezone","ecosystem":"npm","requirements":"0.5.48","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/node_modules/node-red/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.216Z","updated_at":"2025-08-01T08:09:22.216Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/packages/node_modules/node-red/package.json","dependencies":[{"id":24448769392,"package_name":"@node-red/editor-api","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769592,"package_name":"@node-red/runtime","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769593,"package_name":"@node-red/util","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769594,"package_name":"@node-red/nodes","ecosystem":"npm","requirements":"4.1.0-beta.2","direct":true,"kind":"runtime","optional":false},{"id":24448769595,"package_name":"basic-auth","ecosystem":"npm","requirements":"2.0.1","direct":true,"kind":"runtime","optional":false},{"id":24448769596,"package_name":"bcryptjs","ecosystem":"npm","requirements":"3.0.2","direct":true,"kind":"runtime","optional":false},{"id":24448769597,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":true,"kind":"runtime","optional":false},{"id":24448769598,"package_name":"express","ecosystem":"npm","requirements":"4.21.2","direct":true,"kind":"runtime","optional":false},{"id":24448769599,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":true,"kind":"runtime","optional":false},{"id":24448769600,"package_name":"node-red-admin","ecosystem":"npm","requirements":"^4.1.1","direct":true,"kind":"runtime","optional":false},{"id":24448769601,"package_name":"nopt","ecosystem":"npm","requirements":"5.0.0","direct":true,"kind":"runtime","optional":false},{"id":24448769602,"package_name":"semver","ecosystem":"npm","requirements":"7.7.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"test/node_modules/nr-test-utils/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.553Z","updated_at":"2025-08-01T08:09:22.553Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/node_modules/nr-test-utils/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/resources/plugin/test-plugin/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.824Z","updated_at":"2025-08-01T08:09:22.824Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/resources/plugin/test-plugin/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/resources/subflow/package/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.877Z","updated_at":"2025-08-01T08:09:22.877Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/resources/subflow/package/package.json","dependencies":[{"id":24448769622,"package_name":"node-red-node-random","ecosystem":"npm","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":24448769623,"package_name":"cowsay2","ecosystem":"npm","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/local/TestNodeModule/node_modules/TestNodeModule/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:22.987Z","updated_at":"2025-08-01T08:09:22.987Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/local/TestNodeModule/node_modules/TestNodeModule/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/local/TestNodeModule/node_modules/VersionMismatchModule/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.040Z","updated_at":"2025-08-01T08:09:23.040Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/local/TestNodeModule/node_modules/VersionMismatchModule/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir1/node-red-node-testnode/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.093Z","updated_at":"2025-08-01T08:09:23.093Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir1/node-red-node-testnode/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir1/regular_module/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.146Z","updated_at":"2025-08-01T08:09:23.146Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir1/regular_module/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.199Z","updated_at":"2025-08-01T08:09:23.199Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir2/@test/testnode/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.798Z","updated_at":"2025-08-01T08:09:23.798Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir2/@test/testnode/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.851Z","updated_at":"2025-08-01T08:09:23.851Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir2/testnode2/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.904Z","updated_at":"2025-08-01T08:09:23.904Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir2/testnode2/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir2/theme-plugin2/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:23.957Z","updated_at":"2025-08-01T08:09:23.957Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir2/theme-plugin2/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir3/node_modules/@test/testnode/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:24.010Z","updated_at":"2025-08-01T08:09:24.010Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir3/node_modules/@test/testnode/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir3/node_modules/@test/theme-plugin3/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:24.098Z","updated_at":"2025-08-01T08:09:24.098Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir3/node_modules/@test/theme-plugin3/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"test/unit/@node-red/registry/lib/resources/nodesDir3/node_modules/testnode3/package.json","sha":null,"kind":"manifest","created_at":"2025-08-01T08:09:24.151Z","updated_at":"2025-08-01T08:09:24.151Z","repository_link":"https://github.com/Dung2k3/IOTGarden/blob/main/test/unit/@node-red/registry/lib/resources/nodesDir3/node_modules/testnode3/package.json","dependencies":[]}],"score":null,"created_at":"2025-09-04T15:50:18.506Z","updated_at":"2025-10-07T08:05:33.691Z","avatar_url":"https://github.com/Dung2k3.png","language":"JavaScript","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/6033","html_url":"https://science.ecosyste.ms/projects/6033","bibtex_url":"https://science.ecosyste.ms/projects/6033/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/6033/export.apalike"}