{"id":139496,"name":null,"description":null,"url":"https://github.com/bchao1/iccp_2025_vr_course","last_synced_at":"2025-09-09T13:12:43.983Z","repository":{"id":305393847,"uuid":"1022757956","full_name":"bchao1/iccp_2025_vr_course","owner":"bchao1","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-20T14:30:41.000Z","size":3152,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-12T10:26:06.380Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bchao1.png","metadata":{"files":{"readme":null,"changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-19T18:59:23.000Z","updated_at":"2025-07-20T14:30:45.000Z","dependencies_parsed_at":"2025-07-19T22:47:03.445Z","dependency_job_id":null,"html_url":"https://github.com/bchao1/iccp_2025_vr_course","commit_stats":null,"previous_names":["bchao1/iccp_2025_vr_course"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bchao1/iccp_2025_vr_course","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bchao1","download_url":"https://codeload.github.com/bchao1/iccp_2025_vr_course/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274300166,"owners_count":25259716,"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-09T02:00:10.223Z","response_time":80,"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":"bchao1","name":"Brian Chao","uuid":"32431810","kind":"user","description":"Stanford Ph.D. student. Research in computational photography, displays, and computer graphics. Open source enthusiast.\r\n\r\n\r\n\r\n","email":"","website":"https://bchao1.github.io","location":"Stanford, California","twitter":"BrianCChao","company":"Stanford University","icon_url":"https://avatars.githubusercontent.com/u/32431810?u=dd5733003a422d48aeff1e3714805ff46342f72b\u0026v=4","repositories_count":14,"last_synced_at":"2023-03-05T20:01:37.736Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bchao1","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T22:00:11.130Z","updated_at":"2023-03-05T20:01:37.744Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bchao1","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bchao1/repositories"},"packages":[],"commits":{"id":10754191,"full_name":"bchao1/iccp_2025_vr_course","default_branch":"main","committers":[{"name":"bchao1","email":"brianchc@stanford.edu","login":"bchao1","count":3}],"total_commits":3,"total_committers":1,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":3.0,"dds":0.0,"past_year_committers":[{"name":"bchao1","email":"brianchc@stanford.edu","login":"bchao1","count":3}],"past_year_total_commits":3,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.0,"past_year_dds":0.0,"last_synced_at":"2025-08-12T10:16:52.010Z","last_synced_commit":"c84cbfe4828f65dd541a3648e7e998721746a76d","created_at":"2025-08-12T10:16:43.182Z","updated_at":"2025-08-12T10:17:02.273Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-09T00:17:06.873Z","repositories_count":5520942,"commits_count":866208588,"contributors_count":31829474,"owners_count":916548,"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":"bchao1/iccp_2025_vr_course","html_url":"https://github.com/bchao1/iccp_2025_vr_course","last_synced_at":"2025-08-13T04:45:49.027Z","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-12T10:16:43.432Z","updated_at":"2025-08-13T04:45:49.028Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchao1%2Ficcp_2025_vr_course/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{},"pull_request_author_associations_count":{},"issue_authors":{},"pull_request_authors":{},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-09T00:00:11.778Z","repositories_count":10182778,"issues_count":32029690,"pull_requests_count":100720980,"authors_count":10737440,"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":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":1,"PushEvent":2},"last_year":{"WatchEvent":1,"PushEvent":2}},"keywords":[],"dependencies":[{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/binding-abstract/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:47.367Z","updated_at":"2025-07-19T22:46:47.367Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/binding-abstract/package.json","dependencies":[{"id":24224934407,"package_name":"debug","ecosystem":"npm","requirements":"^4.3.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/binding-mock/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:47.726Z","updated_at":"2025-07-19T22:46:47.726Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/binding-mock/package.json","dependencies":[{"id":24224934411,"package_name":"@serialport/binding-abstract","ecosystem":"npm","requirements":"9.2.3","direct":true,"kind":"runtime","optional":false},{"id":24224935407,"package_name":"debug","ecosystem":"npm","requirements":"^4.3.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/bindings/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:49.776Z","updated_at":"2025-07-19T22:46:49.776Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/bindings/package.json","dependencies":[{"id":24224935417,"package_name":"@serialport/binding-abstract","ecosystem":"npm","requirements":"9.2.3","direct":true,"kind":"runtime","optional":false},{"id":24224935418,"package_name":"@serialport/parser-readline","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224935419,"package_name":"bindings","ecosystem":"npm","requirements":"^1.5.0","direct":true,"kind":"runtime","optional":false},{"id":24224935420,"package_name":"debug","ecosystem":"npm","requirements":"^4.3.2","direct":true,"kind":"runtime","optional":false},{"id":24224935421,"package_name":"nan","ecosystem":"npm","requirements":"^2.15.0","direct":true,"kind":"runtime","optional":false},{"id":24224935422,"package_name":"prebuild-install","ecosystem":"npm","requirements":"^7.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224935424,"package_name":"@serialport/binding-mock","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"development","optional":false},{"id":24224935427,"package_name":"node-abi","ecosystem":"npm","requirements":"3.5.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-byte-length/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:49.877Z","updated_at":"2025-07-19T22:46:49.877Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-byte-length/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-cctalk/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:49.949Z","updated_at":"2025-07-19T22:46:49.949Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-cctalk/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-delimiter/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:50.060Z","updated_at":"2025-07-19T22:46:50.060Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-delimiter/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-inter-byte-timeout/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:50.500Z","updated_at":"2025-07-19T22:46:50.500Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-inter-byte-timeout/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-readline/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:50.561Z","updated_at":"2025-07-19T22:46:50.561Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-readline/package.json","dependencies":[{"id":24224935931,"package_name":"@serialport/parser-delimiter","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-ready/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:50.975Z","updated_at":"2025-07-19T22:46:50.975Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-ready/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/parser-regex/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:51.167Z","updated_at":"2025-07-19T22:46:51.167Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/parser-regex/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/@serialport/stream/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:51.363Z","updated_at":"2025-07-19T22:46:51.363Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/@serialport/stream/package.json","dependencies":[{"id":24224937012,"package_name":"debug","ecosystem":"npm","requirements":"^4.3.2","direct":true,"kind":"runtime","optional":false},{"id":24224937016,"package_name":"@serialport/binding-mock","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/base64-js/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:51.846Z","updated_at":"2025-07-19T22:46:51.846Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/base64-js/package.json","dependencies":[{"id":24224937383,"package_name":"babel-minify","ecosystem":"npm","requirements":"^0.5.1","direct":true,"kind":"development","optional":false},{"id":24224937384,"package_name":"benchmark","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"development","optional":false},{"id":24224937385,"package_name":"browserify","ecosystem":"npm","requirements":"^16.3.0","direct":true,"kind":"development","optional":false},{"id":24224937386,"package_name":"standard","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224937387,"package_name":"tape","ecosystem":"npm","requirements":"4.x","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/bindings/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:52.105Z","updated_at":"2025-07-19T22:46:52.105Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/bindings/package.json","dependencies":[{"id":24224937519,"package_name":"file-uri-to-path","ecosystem":"npm","requirements":"1.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/bl/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:52.446Z","updated_at":"2025-07-19T22:46:52.446Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/bl/package.json","dependencies":[{"id":24224937736,"package_name":"buffer","ecosystem":"npm","requirements":"^5.5.0","direct":true,"kind":"runtime","optional":false},{"id":24224937737,"package_name":"inherits","ecosystem":"npm","requirements":"^2.0.4","direct":true,"kind":"runtime","optional":false},{"id":24224937738,"package_name":"readable-stream","ecosystem":"npm","requirements":"^3.4.0","direct":true,"kind":"runtime","optional":false},{"id":24224937739,"package_name":"faucet","ecosystem":"npm","requirements":"~0.0.1","direct":true,"kind":"development","optional":false},{"id":24224937740,"package_name":"standard","ecosystem":"npm","requirements":"^14.3.0","direct":true,"kind":"development","optional":false},{"id":24224937741,"package_name":"tape","ecosystem":"npm","requirements":"^4.11.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/buffer/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:52.717Z","updated_at":"2025-07-19T22:46:52.717Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/buffer/package.json","dependencies":[{"id":24224937802,"package_name":"base64-js","ecosystem":"npm","requirements":"^1.3.1","direct":true,"kind":"runtime","optional":false},{"id":24224937803,"package_name":"ieee754","ecosystem":"npm","requirements":"^1.1.13","direct":true,"kind":"runtime","optional":false},{"id":24224937804,"package_name":"airtap","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":24224937805,"package_name":"benchmark","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"development","optional":false},{"id":24224937806,"package_name":"browserify","ecosystem":"npm","requirements":"^17.0.0","direct":true,"kind":"development","optional":false},{"id":24224937807,"package_name":"concat-stream","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":24224937808,"package_name":"hyperquest","ecosystem":"npm","requirements":"^2.1.3","direct":true,"kind":"development","optional":false},{"id":24224937809,"package_name":"is-buffer","ecosystem":"npm","requirements":"^2.0.4","direct":true,"kind":"development","optional":false},{"id":24224937810,"package_name":"is-nan","ecosystem":"npm","requirements":"^1.3.0","direct":true,"kind":"development","optional":false},{"id":24224937811,"package_name":"split","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"development","optional":false},{"id":24224937812,"package_name":"standard","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224937813,"package_name":"tape","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"development","optional":false},{"id":24224937814,"package_name":"through2","ecosystem":"npm","requirements":"^4.0.2","direct":true,"kind":"development","optional":false},{"id":24224937815,"package_name":"uglify-js","ecosystem":"npm","requirements":"^3.11.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/chownr/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:53.103Z","updated_at":"2025-07-19T22:46:53.103Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/chownr/package.json","dependencies":[{"id":24224937828,"package_name":"mkdirp","ecosystem":"npm","requirements":"0.3","direct":true,"kind":"development","optional":false},{"id":24224937829,"package_name":"rimraf","ecosystem":"npm","requirements":"^2.7.1","direct":true,"kind":"development","optional":false},{"id":24224937830,"package_name":"tap","ecosystem":"npm","requirements":"^14.10.6","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/debug/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:53.222Z","updated_at":"2025-07-19T22:46:53.222Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/debug/package.json","dependencies":[{"id":24224937848,"package_name":"ms","ecosystem":"npm","requirements":"^2.1.3","direct":true,"kind":"runtime","optional":false},{"id":24224937849,"package_name":"brfs","ecosystem":"npm","requirements":"^2.0.1","direct":true,"kind":"development","optional":false},{"id":24224937850,"package_name":"browserify","ecosystem":"npm","requirements":"^16.2.3","direct":true,"kind":"development","optional":false},{"id":24224937851,"package_name":"coveralls","ecosystem":"npm","requirements":"^3.0.2","direct":true,"kind":"development","optional":false},{"id":24224937852,"package_name":"istanbul","ecosystem":"npm","requirements":"^0.4.5","direct":true,"kind":"development","optional":false},{"id":24224937853,"package_name":"karma","ecosystem":"npm","requirements":"^3.1.4","direct":true,"kind":"development","optional":false},{"id":24224937854,"package_name":"karma-browserify","ecosystem":"npm","requirements":"^6.0.0","direct":true,"kind":"development","optional":false},{"id":24224937855,"package_name":"karma-chrome-launcher","ecosystem":"npm","requirements":"^2.2.0","direct":true,"kind":"development","optional":false},{"id":24224937856,"package_name":"karma-mocha","ecosystem":"npm","requirements":"^1.3.0","direct":true,"kind":"development","optional":false},{"id":24224937857,"package_name":"mocha","ecosystem":"npm","requirements":"^5.2.0","direct":true,"kind":"development","optional":false},{"id":24224937858,"package_name":"mocha-lcov-reporter","ecosystem":"npm","requirements":"^1.2.0","direct":true,"kind":"development","optional":false},{"id":24224937859,"package_name":"sinon","ecosystem":"npm","requirements":"^14.0.0","direct":true,"kind":"development","optional":false},{"id":24224937860,"package_name":"xo","ecosystem":"npm","requirements":"^0.23.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/decompress-response/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:53.394Z","updated_at":"2025-07-19T22:46:53.394Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/decompress-response/package.json","dependencies":[{"id":24224937899,"package_name":"mimic-response","ecosystem":"npm","requirements":"^3.1.0","direct":true,"kind":"runtime","optional":false},{"id":24224937900,"package_name":"@types/node","ecosystem":"npm","requirements":"^14.0.1","direct":true,"kind":"development","optional":false},{"id":24224937901,"package_name":"ava","ecosystem":"npm","requirements":"^2.2.0","direct":true,"kind":"development","optional":false},{"id":24224937902,"package_name":"get-stream","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false},{"id":24224937903,"package_name":"pify","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false},{"id":24224937904,"package_name":"tsd","ecosystem":"npm","requirements":"^0.11.0","direct":true,"kind":"development","optional":false},{"id":24224937905,"package_name":"xo","ecosystem":"npm","requirements":"^0.30.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/deep-extend/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:53.739Z","updated_at":"2025-07-19T22:46:53.739Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/deep-extend/package.json","dependencies":[{"id":24224937940,"package_name":"mocha","ecosystem":"npm","requirements":"5.2.0","direct":true,"kind":"development","optional":false},{"id":24224937941,"package_name":"should","ecosystem":"npm","requirements":"13.2.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/detect-libc/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:53.855Z","updated_at":"2025-07-19T22:46:53.855Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/detect-libc/package.json","dependencies":[{"id":24224938059,"package_name":"ava","ecosystem":"npm","requirements":"^2.4.0","direct":true,"kind":"development","optional":false},{"id":24224938062,"package_name":"benchmark","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"development","optional":false},{"id":24224938064,"package_name":"nyc","ecosystem":"npm","requirements":"^15.1.0","direct":true,"kind":"development","optional":false},{"id":24224938066,"package_name":"proxyquire","ecosystem":"npm","requirements":"^2.1.3","direct":true,"kind":"development","optional":false},{"id":24224938068,"package_name":"semistandard","ecosystem":"npm","requirements":"^14.2.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/end-of-stream/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:53.990Z","updated_at":"2025-07-19T22:46:53.990Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/end-of-stream/package.json","dependencies":[{"id":24224938616,"package_name":"once","ecosystem":"npm","requirements":"^1.4.0","direct":true,"kind":"runtime","optional":false},{"id":24224938617,"package_name":"tape","ecosystem":"npm","requirements":"^4.11.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/expand-template/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:54.359Z","updated_at":"2025-07-19T22:46:54.359Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/expand-template/package.json","dependencies":[{"id":24224938880,"package_name":"standard","ecosystem":"npm","requirements":"^12.0.0","direct":true,"kind":"development","optional":false},{"id":24224938881,"package_name":"tape","ecosystem":"npm","requirements":"^4.2.2","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/file-uri-to-path/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:54.619Z","updated_at":"2025-07-19T22:46:54.619Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/file-uri-to-path/package.json","dependencies":[{"id":24224939063,"package_name":"mocha","ecosystem":"npm","requirements":"3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/fs-constants/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:54.720Z","updated_at":"2025-07-19T22:46:54.720Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/fs-constants/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/github-from-package/example/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:54.841Z","updated_at":"2025-07-19T22:46:54.841Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/github-from-package/example/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/github-from-package/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:54.919Z","updated_at":"2025-07-19T22:46:54.919Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/github-from-package/package.json","dependencies":[{"id":24224940489,"package_name":"tap","ecosystem":"npm","requirements":"~0.3.0","direct":true,"kind":"development","optional":false},{"id":24224940490,"package_name":"tape","ecosystem":"npm","requirements":"~0.1.5","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/ieee754/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:55.081Z","updated_at":"2025-07-19T22:46:55.081Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/ieee754/package.json","dependencies":[{"id":24224940823,"package_name":"airtap","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":24224940824,"package_name":"standard","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224940825,"package_name":"tape","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/inherits/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:55.691Z","updated_at":"2025-07-19T22:46:55.691Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/inherits/package.json","dependencies":[{"id":24224941121,"package_name":"tap","ecosystem":"npm","requirements":"^14.2.4","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/ini/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:55.824Z","updated_at":"2025-07-19T22:46:55.824Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/ini/package.json","dependencies":[{"id":24224941254,"package_name":"eslint","ecosystem":"npm","requirements":"^7.9.0","direct":true,"kind":"development","optional":false},{"id":24224941255,"package_name":"eslint-plugin-import","ecosystem":"npm","requirements":"^2.22.0","direct":true,"kind":"development","optional":false},{"id":24224941258,"package_name":"eslint-plugin-node","ecosystem":"npm","requirements":"^11.1.0","direct":true,"kind":"development","optional":false},{"id":24224941260,"package_name":"eslint-plugin-promise","ecosystem":"npm","requirements":"^4.2.1","direct":true,"kind":"development","optional":false},{"id":24224941262,"package_name":"eslint-plugin-standard","ecosystem":"npm","requirements":"^4.0.1","direct":true,"kind":"development","optional":false},{"id":24224941264,"package_name":"tap","ecosystem":"npm","requirements":"14","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/mimic-response/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:56.416Z","updated_at":"2025-07-19T22:46:56.416Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/mimic-response/package.json","dependencies":[{"id":24224941309,"package_name":"@types/node","ecosystem":"npm","requirements":"^14.0.1","direct":true,"kind":"development","optional":false},{"id":24224941310,"package_name":"ava","ecosystem":"npm","requirements":"^2.4.0","direct":true,"kind":"development","optional":false},{"id":24224941311,"package_name":"create-test-server","ecosystem":"npm","requirements":"^2.4.0","direct":true,"kind":"development","optional":false},{"id":24224941312,"package_name":"p-event","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"development","optional":false},{"id":24224941313,"package_name":"pify","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false},{"id":24224941314,"package_name":"tsd","ecosystem":"npm","requirements":"^0.11.0","direct":true,"kind":"development","optional":false},{"id":24224941315,"package_name":"xo","ecosystem":"npm","requirements":"^0.30.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/minimist/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:56.610Z","updated_at":"2025-07-19T22:46:56.610Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/minimist/package.json","dependencies":[{"id":24224941330,"package_name":"@ljharb/eslint-config","ecosystem":"npm","requirements":"^21.0.1","direct":true,"kind":"development","optional":false},{"id":24224941331,"package_name":"aud","ecosystem":"npm","requirements":"^2.0.2","direct":true,"kind":"development","optional":false},{"id":24224941332,"package_name":"auto-changelog","ecosystem":"npm","requirements":"^2.4.0","direct":true,"kind":"development","optional":false},{"id":24224941333,"package_name":"eslint","ecosystem":"npm","requirements":"=8.8.0","direct":true,"kind":"development","optional":false},{"id":24224941334,"package_name":"in-publish","ecosystem":"npm","requirements":"^2.0.1","direct":true,"kind":"development","optional":false},{"id":24224941335,"package_name":"npmignore","ecosystem":"npm","requirements":"^0.3.0","direct":true,"kind":"development","optional":false},{"id":24224941336,"package_name":"nyc","ecosystem":"npm","requirements":"^10.3.2","direct":true,"kind":"development","optional":false},{"id":24224941337,"package_name":"safe-publish-latest","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":24224941338,"package_name":"tape","ecosystem":"npm","requirements":"^5.6.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/mkdirp-classic/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:56.724Z","updated_at":"2025-07-19T22:46:56.724Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/mkdirp-classic/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/ms/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:56.995Z","updated_at":"2025-07-19T22:46:56.995Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/ms/package.json","dependencies":[{"id":24224941538,"package_name":"eslint","ecosystem":"npm","requirements":"4.18.2","direct":true,"kind":"development","optional":false},{"id":24224941539,"package_name":"expect.js","ecosystem":"npm","requirements":"0.3.1","direct":true,"kind":"development","optional":false},{"id":24224941540,"package_name":"husky","ecosystem":"npm","requirements":"0.14.3","direct":true,"kind":"development","optional":false},{"id":24224941541,"package_name":"lint-staged","ecosystem":"npm","requirements":"5.0.0","direct":true,"kind":"development","optional":false},{"id":24224941542,"package_name":"mocha","ecosystem":"npm","requirements":"4.0.1","direct":true,"kind":"development","optional":false},{"id":24224941543,"package_name":"prettier","ecosystem":"npm","requirements":"2.0.5","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/nan/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:57.208Z","updated_at":"2025-07-19T22:46:57.208Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/nan/package.json","dependencies":[{"id":24224941556,"package_name":"bindings","ecosystem":"npm","requirements":"~1.2.1","direct":true,"kind":"development","optional":false},{"id":24224941557,"package_name":"commander","ecosystem":"npm","requirements":"^2.8.1","direct":true,"kind":"development","optional":false},{"id":24224941558,"package_name":"glob","ecosystem":"npm","requirements":"^5.0.14","direct":true,"kind":"development","optional":false},{"id":24224941559,"package_name":"request","ecosystem":"npm","requirements":"=2.81.0","direct":true,"kind":"development","optional":false},{"id":24224941560,"package_name":"node-gyp","ecosystem":"npm","requirements":"~v10.3.1","direct":true,"kind":"development","optional":false},{"id":24224941561,"package_name":"readable-stream","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"development","optional":false},{"id":24224941562,"package_name":"tap","ecosystem":"npm","requirements":"~0.7.1","direct":true,"kind":"development","optional":false},{"id":24224941563,"package_name":"xtend","ecosystem":"npm","requirements":"~4.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/nan/tools/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:57.433Z","updated_at":"2025-07-19T22:46:57.433Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/nan/tools/package.json","dependencies":[{"id":24224941589,"package_name":"glob","ecosystem":"npm","requirements":"~5.0.10","direct":true,"kind":"runtime","optional":false},{"id":24224941590,"package_name":"commander","ecosystem":"npm","requirements":"~2.8.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/napi-build-utils/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:57.607Z","updated_at":"2025-07-19T22:46:57.607Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/napi-build-utils/package.json","dependencies":[{"id":24224941632,"package_name":"chai","ecosystem":"npm","requirements":"^4.1.2","direct":true,"kind":"development","optional":false},{"id":24224941633,"package_name":"jsdoc-to-markdown","ecosystem":"npm","requirements":"^4.0.1","direct":true,"kind":"development","optional":false},{"id":24224941634,"package_name":"mocha","ecosystem":"npm","requirements":"^5.2.0","direct":true,"kind":"development","optional":false},{"id":24224941635,"package_name":"standard","ecosystem":"npm","requirements":"^12.0.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/node-abi/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:57.765Z","updated_at":"2025-07-19T22:46:57.765Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/node-abi/package.json","dependencies":[{"id":24224941666,"package_name":"semver","ecosystem":"npm","requirements":"^7.3.5","direct":true,"kind":"runtime","optional":false},{"id":24224941667,"package_name":"tape","ecosystem":"npm","requirements":"^5.3.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/once/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:57.861Z","updated_at":"2025-07-19T22:46:57.861Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/once/package.json","dependencies":[{"id":24224941811,"package_name":"wrappy","ecosystem":"npm","requirements":"1","direct":true,"kind":"runtime","optional":false},{"id":24224941812,"package_name":"tap","ecosystem":"npm","requirements":"^7.0.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/prebuild-install/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:57.950Z","updated_at":"2025-07-19T22:46:57.950Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/prebuild-install/package.json","dependencies":[{"id":24224942065,"package_name":"detect-libc","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224942066,"package_name":"expand-template","ecosystem":"npm","requirements":"^2.0.3","direct":true,"kind":"runtime","optional":false},{"id":24224942067,"package_name":"github-from-package","ecosystem":"npm","requirements":"0.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224942068,"package_name":"minimist","ecosystem":"npm","requirements":"^1.2.3","direct":true,"kind":"runtime","optional":false},{"id":24224942069,"package_name":"mkdirp-classic","ecosystem":"npm","requirements":"^0.5.3","direct":true,"kind":"runtime","optional":false},{"id":24224942070,"package_name":"napi-build-utils","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224942071,"package_name":"node-abi","ecosystem":"npm","requirements":"^3.3.0","direct":true,"kind":"runtime","optional":false},{"id":24224942072,"package_name":"pump","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224942073,"package_name":"rc","ecosystem":"npm","requirements":"^1.2.7","direct":true,"kind":"runtime","optional":false},{"id":24224942074,"package_name":"simple-get","ecosystem":"npm","requirements":"^4.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224942075,"package_name":"tar-fs","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224942076,"package_name":"tunnel-agent","ecosystem":"npm","requirements":"^0.6.0","direct":true,"kind":"runtime","optional":false},{"id":24224942077,"package_name":"a-native-module","ecosystem":"npm","requirements":"^1.0.0","direct":true,"kind":"development","optional":false},{"id":24224942078,"package_name":"hallmark","ecosystem":"npm","requirements":"^4.0.0","direct":true,"kind":"development","optional":false},{"id":24224942079,"package_name":"nock","ecosystem":"npm","requirements":"^10.0.6","direct":true,"kind":"development","optional":false},{"id":24224942080,"package_name":"rimraf","ecosystem":"npm","requirements":"^2.5.2","direct":true,"kind":"development","optional":false},{"id":24224942081,"package_name":"standard","ecosystem":"npm","requirements":"^16.0.4","direct":true,"kind":"development","optional":false},{"id":24224942082,"package_name":"tape","ecosystem":"npm","requirements":"^5.3.1","direct":true,"kind":"development","optional":false},{"id":24224942083,"package_name":"tempy","ecosystem":"npm","requirements":"0.2.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/pump/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:58.116Z","updated_at":"2025-07-19T22:46:58.116Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/pump/package.json","dependencies":[{"id":24224942109,"package_name":"end-of-stream","ecosystem":"npm","requirements":"^1.1.0","direct":true,"kind":"runtime","optional":false},{"id":24224942112,"package_name":"once","ecosystem":"npm","requirements":"^1.3.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/rc/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:58.237Z","updated_at":"2025-07-19T22:46:58.237Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/rc/package.json","dependencies":[{"id":24224942263,"package_name":"deep-extend","ecosystem":"npm","requirements":"^0.6.0","direct":true,"kind":"runtime","optional":false},{"id":24224942264,"package_name":"ini","ecosystem":"npm","requirements":"~1.3.0","direct":true,"kind":"runtime","optional":false},{"id":24224942265,"package_name":"minimist","ecosystem":"npm","requirements":"^1.2.0","direct":true,"kind":"runtime","optional":false},{"id":24224942266,"package_name":"strip-json-comments","ecosystem":"npm","requirements":"~2.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/readable-stream/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:58.521Z","updated_at":"2025-07-19T22:46:58.521Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/readable-stream/package.json","dependencies":[{"id":24224942292,"package_name":"inherits","ecosystem":"npm","requirements":"^2.0.3","direct":true,"kind":"runtime","optional":false},{"id":24224942293,"package_name":"string_decoder","ecosystem":"npm","requirements":"^1.1.1","direct":true,"kind":"runtime","optional":false},{"id":24224942294,"package_name":"util-deprecate","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"runtime","optional":false},{"id":24224942295,"package_name":"@babel/cli","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"development","optional":false},{"id":24224942296,"package_name":"@babel/core","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"development","optional":false},{"id":24224942297,"package_name":"@babel/polyfill","ecosystem":"npm","requirements":"^7.0.0","direct":true,"kind":"development","optional":false},{"id":24224942298,"package_name":"@babel/preset-env","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"development","optional":false},{"id":24224942299,"package_name":"airtap","ecosystem":"npm","requirements":"0.0.9","direct":true,"kind":"development","optional":false},{"id":24224942300,"package_name":"assert","ecosystem":"npm","requirements":"^1.4.0","direct":true,"kind":"development","optional":false},{"id":24224942301,"package_name":"bl","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":24224942302,"package_name":"deep-strict-equal","ecosystem":"npm","requirements":"^0.2.0","direct":true,"kind":"development","optional":false},{"id":24224942303,"package_name":"events.once","ecosystem":"npm","requirements":"^2.0.2","direct":true,"kind":"development","optional":false},{"id":24224942304,"package_name":"glob","ecosystem":"npm","requirements":"^7.1.2","direct":true,"kind":"development","optional":false},{"id":24224942305,"package_name":"gunzip-maybe","ecosystem":"npm","requirements":"^1.4.1","direct":true,"kind":"development","optional":false},{"id":24224942306,"package_name":"hyperquest","ecosystem":"npm","requirements":"^2.1.3","direct":true,"kind":"development","optional":false},{"id":24224942307,"package_name":"lolex","ecosystem":"npm","requirements":"^2.6.0","direct":true,"kind":"development","optional":false},{"id":24224942308,"package_name":"nyc","ecosystem":"npm","requirements":"^11.0.0","direct":true,"kind":"development","optional":false},{"id":24224942309,"package_name":"pump","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":24224942310,"package_name":"rimraf","ecosystem":"npm","requirements":"^2.6.2","direct":true,"kind":"development","optional":false},{"id":24224942311,"package_name":"tap","ecosystem":"npm","requirements":"^12.0.0","direct":true,"kind":"development","optional":false},{"id":24224942312,"package_name":"tape","ecosystem":"npm","requirements":"^4.9.0","direct":true,"kind":"development","optional":false},{"id":24224942313,"package_name":"tar-fs","ecosystem":"npm","requirements":"^1.16.2","direct":true,"kind":"development","optional":false},{"id":24224942314,"package_name":"util-promisify","ecosystem":"npm","requirements":"^2.1.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/safe-buffer/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:58.750Z","updated_at":"2025-07-19T22:46:58.750Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/safe-buffer/package.json","dependencies":[{"id":24224942337,"package_name":"standard","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224942338,"package_name":"tape","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/semver/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:58.897Z","updated_at":"2025-07-19T22:46:58.897Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/semver/package.json","dependencies":[{"id":24224942429,"package_name":"@npmcli/eslint-config","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false},{"id":24224942430,"package_name":"@npmcli/template-oss","ecosystem":"npm","requirements":"4.23.4","direct":true,"kind":"development","optional":false},{"id":24224942431,"package_name":"benchmark","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"development","optional":false},{"id":24224942432,"package_name":"tap","ecosystem":"npm","requirements":"^16.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/serialport/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:46:59.067Z","updated_at":"2025-07-19T22:46:59.067Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/serialport/package.json","dependencies":[{"id":24224942999,"package_name":"@serialport/binding-mock","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224943001,"package_name":"@serialport/bindings","ecosystem":"npm","requirements":"9.2.8","direct":true,"kind":"runtime","optional":false},{"id":24224944215,"package_name":"@serialport/parser-byte-length","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944218,"package_name":"@serialport/parser-cctalk","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944221,"package_name":"@serialport/parser-delimiter","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944223,"package_name":"@serialport/parser-inter-byte-timeout","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944226,"package_name":"@serialport/parser-readline","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944227,"package_name":"@serialport/parser-ready","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944230,"package_name":"@serialport/parser-regex","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944232,"package_name":"@serialport/stream","ecosystem":"npm","requirements":"9.2.4","direct":true,"kind":"runtime","optional":false},{"id":24224944235,"package_name":"debug","ecosystem":"npm","requirements":"^4.3.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/simple-concat/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:00.683Z","updated_at":"2025-07-19T22:47:00.683Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/simple-concat/package.json","dependencies":[{"id":24224944265,"package_name":"standard","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224944266,"package_name":"tape","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/simple-get/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:01.032Z","updated_at":"2025-07-19T22:47:01.032Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/simple-get/package.json","dependencies":[{"id":24224944283,"package_name":"decompress-response","ecosystem":"npm","requirements":"^6.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224944284,"package_name":"once","ecosystem":"npm","requirements":"^1.3.1","direct":true,"kind":"runtime","optional":false},{"id":24224944285,"package_name":"simple-concat","ecosystem":"npm","requirements":"^1.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224944286,"package_name":"self-signed-https","ecosystem":"npm","requirements":"^1.0.5","direct":true,"kind":"development","optional":false},{"id":24224944287,"package_name":"standard","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224944288,"package_name":"string-to-stream","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":24224944289,"package_name":"tape","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/string_decoder/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:01.164Z","updated_at":"2025-07-19T22:47:01.164Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/string_decoder/package.json","dependencies":[{"id":24224944296,"package_name":"safe-buffer","ecosystem":"npm","requirements":"~5.2.0","direct":true,"kind":"runtime","optional":false},{"id":24224944299,"package_name":"babel-polyfill","ecosystem":"npm","requirements":"^6.23.0","direct":true,"kind":"development","optional":false},{"id":24224944301,"package_name":"core-util-is","ecosystem":"npm","requirements":"^1.0.2","direct":true,"kind":"development","optional":false},{"id":24224944302,"package_name":"inherits","ecosystem":"npm","requirements":"^2.0.3","direct":true,"kind":"development","optional":false},{"id":24224944304,"package_name":"tap","ecosystem":"npm","requirements":"~0.4.8","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/strip-json-comments/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:01.279Z","updated_at":"2025-07-19T22:47:01.279Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/strip-json-comments/package.json","dependencies":[{"id":24224944338,"package_name":"ava","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false},{"id":24224944339,"package_name":"xo","ecosystem":"npm","requirements":"*","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/tar-fs/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:01.374Z","updated_at":"2025-07-19T22:47:01.374Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/tar-fs/package.json","dependencies":[{"id":24224944384,"package_name":"chownr","ecosystem":"npm","requirements":"^1.1.1","direct":true,"kind":"runtime","optional":false},{"id":24224944385,"package_name":"mkdirp-classic","ecosystem":"npm","requirements":"^0.5.2","direct":true,"kind":"runtime","optional":false},{"id":24224944386,"package_name":"pump","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224944387,"package_name":"tar-stream","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"runtime","optional":false},{"id":24224944388,"package_name":"rimraf","ecosystem":"npm","requirements":"^2.6.3","direct":true,"kind":"development","optional":false},{"id":24224944389,"package_name":"standard","ecosystem":"npm","requirements":"^13.0.1","direct":true,"kind":"development","optional":false},{"id":24224944390,"package_name":"tape","ecosystem":"npm","requirements":"^4.9.2","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/tar-stream/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:01.736Z","updated_at":"2025-07-19T22:47:01.736Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/tar-stream/package.json","dependencies":[{"id":24224944417,"package_name":"bl","ecosystem":"npm","requirements":"^4.0.3","direct":true,"kind":"runtime","optional":false},{"id":24224944418,"package_name":"end-of-stream","ecosystem":"npm","requirements":"^1.4.1","direct":true,"kind":"runtime","optional":false},{"id":24224944419,"package_name":"fs-constants","ecosystem":"npm","requirements":"^1.0.0","direct":true,"kind":"runtime","optional":false},{"id":24224944420,"package_name":"inherits","ecosystem":"npm","requirements":"^2.0.3","direct":true,"kind":"runtime","optional":false},{"id":24224944421,"package_name":"readable-stream","ecosystem":"npm","requirements":"^3.1.1","direct":true,"kind":"runtime","optional":false},{"id":24224944422,"package_name":"concat-stream","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":24224944423,"package_name":"standard","ecosystem":"npm","requirements":"^12.0.1","direct":true,"kind":"development","optional":false},{"id":24224944424,"package_name":"tape","ecosystem":"npm","requirements":"^4.9.2","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/tunnel-agent/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:02.075Z","updated_at":"2025-07-19T22:47:02.075Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/tunnel-agent/package.json","dependencies":[{"id":24224944427,"package_name":"safe-buffer","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/util-deprecate/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:02.354Z","updated_at":"2025-07-19T22:47:02.354Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/util-deprecate/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/wrappy/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:02.473Z","updated_at":"2025-07-19T22:47:02.473Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/wrappy/package.json","dependencies":[{"id":24224944493,"package_name":"tap","ecosystem":"npm","requirements":"^2.3.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/node_modules/ws/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:02.736Z","updated_at":"2025-07-19T22:47:02.736Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/node_modules/ws/package.json","dependencies":[{"id":24224944520,"package_name":"benchmark","ecosystem":"npm","requirements":"^2.1.4","direct":true,"kind":"development","optional":false},{"id":24224944521,"package_name":"bufferutil","ecosystem":"npm","requirements":"^4.0.1","direct":true,"kind":"development","optional":false},{"id":24224944522,"package_name":"eslint","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"development","optional":false},{"id":24224944523,"package_name":"eslint-config-prettier","ecosystem":"npm","requirements":"^8.1.0","direct":true,"kind":"development","optional":false},{"id":24224944524,"package_name":"eslint-plugin-prettier","ecosystem":"npm","requirements":"^4.0.0","direct":true,"kind":"development","optional":false},{"id":24224944525,"package_name":"mocha","ecosystem":"npm","requirements":"^7.0.0","direct":true,"kind":"development","optional":false},{"id":24224944526,"package_name":"nyc","ecosystem":"npm","requirements":"^15.0.0","direct":true,"kind":"development","optional":false},{"id":24224944527,"package_name":"prettier","ecosystem":"npm","requirements":"^2.0.5","direct":true,"kind":"development","optional":false},{"id":24224944528,"package_name":"utf-8-validate","ecosystem":"npm","requirements":"^5.0.2","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/package-lock.json","sha":null,"kind":"lockfile","created_at":"2025-07-19T22:47:03.198Z","updated_at":"2025-07-19T22:47:03.198Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/package-lock.json","dependencies":[{"id":24224944569,"package_name":"@serialport/binding-abstract","ecosystem":"npm","requirements":"9.2.3","direct":false,"kind":"runtime","optional":false},{"id":24224944570,"package_name":"@serialport/binding-mock","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944571,"package_name":"@serialport/bindings","ecosystem":"npm","requirements":"9.2.8","direct":false,"kind":"runtime","optional":false},{"id":24224944572,"package_name":"@serialport/parser-byte-length","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944573,"package_name":"@serialport/parser-cctalk","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944574,"package_name":"@serialport/parser-delimiter","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944575,"package_name":"@serialport/parser-inter-byte-timeout","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944576,"package_name":"@serialport/parser-readline","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944577,"package_name":"@serialport/parser-ready","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944578,"package_name":"@serialport/parser-regex","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944579,"package_name":"@serialport/stream","ecosystem":"npm","requirements":"9.2.4","direct":false,"kind":"runtime","optional":false},{"id":24224944580,"package_name":"base64-js","ecosystem":"npm","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":24224944581,"package_name":"bindings","ecosystem":"npm","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":24224944582,"package_name":"bl","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":24224944583,"package_name":"buffer","ecosystem":"npm","requirements":"5.7.1","direct":false,"kind":"runtime","optional":false},{"id":24224944584,"package_name":"chownr","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"runtime","optional":false},{"id":24224944585,"package_name":"debug","ecosystem":"npm","requirements":"4.4.0","direct":false,"kind":"runtime","optional":false},{"id":24224944586,"package_name":"decompress-response","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":24224944587,"package_name":"deep-extend","ecosystem":"npm","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":24224944588,"package_name":"detect-libc","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":24224944589,"package_name":"end-of-stream","ecosystem":"npm","requirements":"1.4.4","direct":false,"kind":"runtime","optional":false},{"id":24224944590,"package_name":"expand-template","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":24224944591,"package_name":"file-uri-to-path","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":24224944592,"package_name":"fs-constants","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":24224944593,"package_name":"github-from-package","ecosystem":"npm","requirements":"0.0.0","direct":false,"kind":"runtime","optional":false},{"id":24224944594,"package_name":"ieee754","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":24224944595,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":24224944596,"package_name":"ini","ecosystem":"npm","requirements":"1.3.8","direct":false,"kind":"runtime","optional":false},{"id":24224944597,"package_name":"mimic-response","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":24224944598,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"runtime","optional":false},{"id":24224944599,"package_name":"mkdirp-classic","ecosystem":"npm","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":24224944600,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":24224944601,"package_name":"nan","ecosystem":"npm","requirements":"2.22.2","direct":false,"kind":"runtime","optional":false},{"id":24224944602,"package_name":"napi-build-utils","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":24224944603,"package_name":"node-abi","ecosystem":"npm","requirements":"3.74.0","direct":false,"kind":"runtime","optional":false},{"id":24224944604,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":24224944605,"package_name":"prebuild-install","ecosystem":"npm","requirements":"7.1.3","direct":false,"kind":"runtime","optional":false},{"id":24224944606,"package_name":"pump","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":24224944607,"package_name":"rc","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"runtime","optional":false},{"id":24224944608,"package_name":"readable-stream","ecosystem":"npm","requirements":"3.6.2","direct":false,"kind":"runtime","optional":false},{"id":24224944609,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":24224944610,"package_name":"semver","ecosystem":"npm","requirements":"7.7.1","direct":false,"kind":"runtime","optional":false},{"id":24224944611,"package_name":"serialport","ecosystem":"npm","requirements":"9.2.8","direct":false,"kind":"runtime","optional":false},{"id":24224944612,"package_name":"simple-concat","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":24224944613,"package_name":"simple-get","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":24224944614,"package_name":"string_decoder","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":24224944615,"package_name":"strip-json-comments","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":24224944616,"package_name":"tar-fs","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":24224944617,"package_name":"tar-stream","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":24224944618,"package_name":"tunnel-agent","ecosystem":"npm","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":24224944619,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":24224944620,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":24224944621,"package_name":"ws","ecosystem":"npm","requirements":"7.5.10","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lab3/server/package.json","sha":null,"kind":"manifest","created_at":"2025-07-19T22:47:03.345Z","updated_at":"2025-07-19T22:47:03.345Z","repository_link":"https://github.com/bchao1/iccp_2025_vr_course/blob/main/lab3/server/package.json","dependencies":[{"id":24224944651,"package_name":"serialport","ecosystem":"npm","requirements":"^9.0.7","direct":true,"kind":"runtime","optional":false},{"id":24224944652,"package_name":"ws","ecosystem":"npm","requirements":"^7.4.4","direct":true,"kind":"runtime","optional":false}]}],"score":0.0,"created_at":"2025-09-09T00:01:37.236Z","updated_at":"2025-10-07T08:35:48.192Z","avatar_url":"https://github.com/bchao1.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/139496","html_url":"https://science.ecosyste.ms/projects/139496"}