{"id":2449,"url":"https://github.com/benbrown/shuttlecraft","last_synced_at":"2026-08-13T12:31:14.898Z","repository":{"id":65220713,"uuid":"570962490","full_name":"benbrown/shuttlecraft","owner":"benbrown","description":"a single user activitypub server - join the federation!","archived":false,"fork":false,"pushed_at":"2024-05-28T04:34:52.000Z","size":1530,"stargazers_count":271,"open_issues_count":50,"forks_count":29,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-07-20T01:06:18.134Z","etag":null,"topics":["activitypub","benbrown","blogging","fediverse","indieweb","microblogging","rss","socialmedia"],"latest_commit_sha":null,"homepage":"https://shuttlecraft.net","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benbrown.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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":"2022-11-26T17:45:03.000Z","updated_at":"2026-05-21T01:29:02.000Z","dependencies_parsed_at":"2023-02-13T23:30:44.613Z","dependency_job_id":"f1fc442b-38ce-4d4e-bc30-79bf2ff4f053","html_url":"https://github.com/benbrown/shuttlecraft","commit_stats":{"total_commits":241,"total_committers":5,"mean_commits":48.2,"dds":"0.13278008298755184","last_synced_commit":"ef489a33c92ed1857509ed57d09fa55fd7811da3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/benbrown/shuttlecraft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benbrown","download_url":"https://codeload.github.com/benbrown/shuttlecraft/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36018011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-29T02:00:04.910Z","response_time":95,"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":"benbrown","name":"Ben Brown","uuid":"729873","kind":"user","description":"Old internet punk. Creator of Shuttlecraft. Creator of Botkit.","email":"","website":"http://benbrown.com","location":"Austin, TX","twitter":"benbrown","company":"Hacker","icon_url":"https://avatars.githubusercontent.com/u/729873?u=f6489852ed0829467b91889e89bba7417499a95f\u0026v=4","repositories_count":27,"last_synced_at":"2023-05-13T03:15:21.169Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/benbrown","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-05T02:02:56.151Z","updated_at":"2023-05-13T03:15:21.170Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benbrown","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benbrown/repositories"},"packages":[],"commits":{"id":1255514,"full_name":"benbrown/shuttlecraft","default_branch":"main","total_commits":241,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":48.2,"dds":0.13278008298755184,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-08-11T11:31:03.329Z","last_synced_commit":"ef489a33c92ed1857509ed57d09fa55fd7811da3","created_at":"2023-04-05T14:49:50.471Z","updated_at":"2026-08-11T11:31:03.307Z","committers":[{"name":"Ben Brown","email":"benbrown@gmail.com","login":"benbrown","count":209},{"name":"Daniel Sieradski","email":"daniel@self.agency","login":"selfagency","count":16},{"name":"Toby Jaffey","email":"toby@ringtailsoftware.co.uk","login":"ringtailsoftware","count":10},{"name":"Anil Dash","email":"anildash","login":"anildash","count":5},{"name":"Patrick Curry","email":"gh@patrickcurry.com","login":"patrickmcurry","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-12T00:00:07.637Z","repositories_count":6633574,"commits_count":915536841,"contributors_count":39052866,"owners_count":1332502,"committers_count":3296943,"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":{"table":{"full_name":"benbrown/shuttlecraft","html_url":"https://github.com/benbrown/shuttlecraft","last_synced_at":"2026-08-06T09:00:51.846Z","status":"error","issues_count":69,"pull_requests_count":83,"avg_time_to_close_issue":753501.1875,"avg_time_to_close_pull_request":336221.77142857143,"issues_closed_count":32,"pull_requests_closed_count":70,"pull_request_authors_count":14,"issue_authors_count":9,"avg_comments_per_issue":0.8840579710144928,"avg_comments_per_pull_request":0.7951807228915663,"merged_pull_requests_count":47,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:46:27.502Z","updated_at":"2026-08-06T09:00:51.846Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbrown%2Fshuttlecraft/issues","issue_labels_count":{"table":{"enhancement":34,"bug":13,"documentation":1}},"pull_request_labels_count":{"table":{"wont-merge":7,"will-merge":3,"docker":3}},"issue_author_associations_count":{"table":{"OWNER":51,"CONTRIBUTOR":10,"NONE":8}},"pull_request_author_associations_count":{"table":{"OWNER":37,"CONTRIBUTOR":31,"NONE":15}},"issue_authors":{"table":{"benbrown":51,"ringtailsoftware":8,"miketatum":2,"patrickmcurry":2,"PurpleStarChild":2,"aral":1,"JamesStallings":1,"boogah":1,"bihlink":1}},"pull_request_authors":{"table":{"benbrown":37,"ringtailsoftware":17,"selfagency":7,"anildash":6,"smruthig":3,"kashishvjain":3,"philskents":2,"ekdnam":2,"Tigojiang":1,"abheekda1":1,"Melody-Creator":1,"andypiper":1,"patrickmcurry":1,"justinnguyen0":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-06T00:00:21.014Z","repositories_count":14821239,"issues_count":29759676,"pull_requests_count":98701966,"authors_count":11397812,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{}},"past_year_pull_request_author_associations_count":{"table":{}},"past_year_issue_authors":{"table":{}},"past_year_pull_request_authors":{"table":{}},"maintainers":[{"table":{"login":"benbrown","count":88,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/benbrown"}}],"active_maintainers":[]}},"events":{"total":{"ForkEvent":2,"WatchEvent":6},"last_year":{"WatchEvent":1}},"keywords":["activitypub","benbrown","blogging","fediverse","indieweb","microblogging","rss","socialmedia"],"dependencies":[{"ecosystem":"npm","filepath":"package-lock.json","sha":null,"kind":"lockfile","created_at":"2023-01-15T15:45:44.799Z","updated_at":"2023-01-15T15:45:44.799Z","repository_link":"https://github.com/benbrown/shuttlecraft/blob/main/package-lock.json","dependencies":[{"id":6928122231,"package_name":"accepts","ecosystem":"npm","requirements":"1.3.8","direct":false,"kind":"runtime","optional":false},{"id":6928122234,"package_name":"argparse","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122236,"package_name":"array-flatten","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":6928122238,"package_name":"balanced-match","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":6928122240,"package_name":"basic-auth","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122241,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"runtime","optional":false},{"id":6928122243,"package_name":"body-parser","ecosystem":"npm","requirements":"1.20.1","direct":false,"kind":"runtime","optional":false},{"id":6928122245,"package_name":"debug","ecosystem":"npm","requirements":"2.6.9","direct":false,"kind":"runtime","optional":false},{"id":6928122246,"package_name":"ms","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122248,"package_name":"brace-expansion","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122249,"package_name":"bytes","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":6928122251,"package_name":"call-bind","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":6928122253,"package_name":"charenc","ecosystem":"npm","requirements":"0.0.2","direct":false,"kind":"runtime","optional":false},{"id":6928122254,"package_name":"content-disposition","ecosystem":"npm","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":6928122256,"package_name":"content-type","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":6928122258,"package_name":"cookie","ecosystem":"npm","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":6928122259,"package_name":"cookie-parser","ecosystem":"npm","requirements":"1.4.6","direct":false,"kind":"runtime","optional":false},{"id":6928122261,"package_name":"cookie","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":6928122263,"package_name":"cookie-signature","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":6928122264,"package_name":"copy-env-cli","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":6928122266,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":false,"kind":"runtime","optional":false},{"id":6928122267,"package_name":"crypt","ecosystem":"npm","requirements":"0.0.2","direct":false,"kind":"runtime","optional":false},{"id":6928122270,"package_name":"data-uri-to-buffer","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122272,"package_name":"debug","ecosystem":"npm","requirements":"4.3.4","direct":false,"kind":"runtime","optional":false},{"id":6928122273,"package_name":"depd","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122275,"package_name":"destroy","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":6928122276,"package_name":"dotenv","ecosystem":"npm","requirements":"16.0.3","direct":false,"kind":"runtime","optional":false},{"id":6928122278,"package_name":"ee-first","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":6928122279,"package_name":"encodeurl","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":6928122281,"package_name":"entities","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122283,"package_name":"escape-html","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":6928122284,"package_name":"etag","ecosystem":"npm","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":6928122286,"package_name":"express","ecosystem":"npm","requirements":"4.18.2","direct":false,"kind":"runtime","optional":false},{"id":6928122288,"package_name":"express-basic-auth","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6928122303,"package_name":"express-handlebars","ecosystem":"npm","requirements":"6.0.6","direct":false,"kind":"runtime","optional":false},{"id":6928122305,"package_name":"fetch-blob","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":6928122307,"package_name":"finalhandler","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":6928122309,"package_name":"formdata-polyfill","ecosystem":"npm","requirements":"4.0.10","direct":false,"kind":"runtime","optional":false},{"id":6928122310,"package_name":"forwarded","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":6928122312,"package_name":"fresh","ecosystem":"npm","requirements":"0.5.2","direct":false,"kind":"runtime","optional":false},{"id":6928122313,"package_name":"fs.realpath","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122315,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":6928122317,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"runtime","optional":false},{"id":6928122318,"package_name":"glob","ecosystem":"npm","requirements":"8.0.3","direct":false,"kind":"runtime","optional":false},{"id":6928122321,"package_name":"graceful-fs","ecosystem":"npm","requirements":"4.2.10","direct":false,"kind":"runtime","optional":false},{"id":6928122323,"package_name":"handlebars","ecosystem":"npm","requirements":"4.7.7","direct":false,"kind":"runtime","optional":false},{"id":6928122325,"package_name":"has","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":6928122327,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":6928122328,"package_name":"http-errors","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122330,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.4.24","direct":false,"kind":"runtime","optional":false},{"id":6928122332,"package_name":"inflight","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":6928122334,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":6928122335,"package_name":"ipaddr.js","ecosystem":"npm","requirements":"1.9.1","direct":false,"kind":"runtime","optional":false},{"id":6928122337,"package_name":"is-buffer","ecosystem":"npm","requirements":"1.1.6","direct":false,"kind":"runtime","optional":false},{"id":6928122339,"package_name":"linkify-it","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122341,"package_name":"markdown-it","ecosystem":"npm","requirements":"13.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122343,"package_name":"md5","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":6928122345,"package_name":"mdurl","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122347,"package_name":"media-typer","ecosystem":"npm","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":6928122349,"package_name":"merge-descriptors","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122351,"package_name":"methods","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":6928122353,"package_name":"mime","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":6928122355,"package_name":"mime-db","ecosystem":"npm","requirements":"1.52.0","direct":false,"kind":"runtime","optional":false},{"id":6928122357,"package_name":"mime-types","ecosystem":"npm","requirements":"2.1.35","direct":false,"kind":"runtime","optional":false},{"id":6928122359,"package_name":"minimatch","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"runtime","optional":false},{"id":6928122361,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.7","direct":false,"kind":"runtime","optional":false},{"id":6928122363,"package_name":"moment","ecosystem":"npm","requirements":"2.29.4","direct":false,"kind":"runtime","optional":false},{"id":6928122365,"package_name":"ms","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":6928122367,"package_name":"negotiator","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":6928122370,"package_name":"neo-async","ecosystem":"npm","requirements":"2.6.2","direct":false,"kind":"runtime","optional":false},{"id":6928122372,"package_name":"node-domexception","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122376,"package_name":"node-fetch","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"runtime","optional":false},{"id":6928122379,"package_name":"object-assign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"runtime","optional":false},{"id":6928122383,"package_name":"object-inspect","ecosystem":"npm","requirements":"1.12.2","direct":false,"kind":"runtime","optional":false},{"id":6928122386,"package_name":"on-finished","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":6928122388,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":6928122390,"package_name":"parseurl","ecosystem":"npm","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":6928122392,"package_name":"path-to-regexp","ecosystem":"npm","requirements":"0.1.7","direct":false,"kind":"runtime","optional":false},{"id":6928122394,"package_name":"proxy-addr","ecosystem":"npm","requirements":"2.0.7","direct":false,"kind":"runtime","optional":false},{"id":6928122397,"package_name":"qs","ecosystem":"npm","requirements":"6.11.0","direct":false,"kind":"runtime","optional":false},{"id":6928122398,"package_name":"range-parser","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":6928122400,"package_name":"raw-body","ecosystem":"npm","requirements":"2.5.1","direct":false,"kind":"runtime","optional":false},{"id":6928122401,"package_name":"rss-generator","ecosystem":"npm","requirements":"0.0.3","direct":false,"kind":"runtime","optional":false},{"id":6928122412,"package_name":"mime-db","ecosystem":"npm","requirements":"1.25.0","direct":false,"kind":"runtime","optional":false},{"id":6928122414,"package_name":"mime-types","ecosystem":"npm","requirements":"2.1.13","direct":false,"kind":"runtime","optional":false},{"id":6928122416,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":6928122417,"package_name":"safer-buffer","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":6928122419,"package_name":"send","ecosystem":"npm","requirements":"0.18.0","direct":false,"kind":"runtime","optional":false},{"id":6928122421,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":6928122422,"package_name":"serve-static","ecosystem":"npm","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":6928122424,"package_name":"setprototypeof","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":6928122426,"package_name":"side-channel","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":6928122428,"package_name":"source-map","ecosystem":"npm","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":6928122430,"package_name":"statuses","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122432,"package_name":"toidentifier","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122434,"package_name":"type-is","ecosystem":"npm","requirements":"1.6.18","direct":false,"kind":"runtime","optional":false},{"id":6928122436,"package_name":"uc.micro","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":6928122438,"package_name":"uglify-js","ecosystem":"npm","requirements":"3.17.4","direct":false,"kind":"runtime","optional":false},{"id":6928122440,"package_name":"unpipe","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122442,"package_name":"utils-merge","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":6928122444,"package_name":"vary","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":6928122446,"package_name":"web-streams-polyfill","ecosystem":"npm","requirements":"3.2.1","direct":false,"kind":"runtime","optional":false},{"id":6928122448,"package_name":"wordwrap","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":6928122450,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":6928122452,"package_name":"xml","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2023-01-15T15:45:44.956Z","updated_at":"2023-01-15T15:45:44.956Z","repository_link":"https://github.com/benbrown/shuttlecraft/blob/main/package.json","dependencies":[{"id":6928123836,"package_name":"body-parser","ecosystem":"npm","requirements":"^1.18.3","direct":true,"kind":"runtime","optional":false},{"id":6928123837,"package_name":"cookie-parser","ecosystem":"npm","requirements":"^1.4.6","direct":true,"kind":"runtime","optional":false},{"id":6928123838,"package_name":"cors","ecosystem":"npm","requirements":"^2.8.4","direct":true,"kind":"runtime","optional":false},{"id":6928123839,"package_name":"debug","ecosystem":"npm","requirements":"^4.3.4","direct":true,"kind":"runtime","optional":false},{"id":6928123840,"package_name":"dotenv","ecosystem":"npm","requirements":"^16.0.3","direct":true,"kind":"runtime","optional":false},{"id":6928123841,"package_name":"express","ecosystem":"npm","requirements":"^4.16.3","direct":true,"kind":"runtime","optional":false},{"id":6928123842,"package_name":"express-basic-auth","ecosystem":"npm","requirements":"^1.1.5","direct":true,"kind":"runtime","optional":false},{"id":6928123843,"package_name":"express-handlebars","ecosystem":"npm","requirements":"^6.0.6","direct":true,"kind":"runtime","optional":false},{"id":6928123844,"package_name":"glob","ecosystem":"npm","requirements":"^8.0.3","direct":true,"kind":"runtime","optional":false},{"id":6928123845,"package_name":"markdown-it","ecosystem":"npm","requirements":"^13.0.1","direct":true,"kind":"runtime","optional":false},{"id":6928123846,"package_name":"md5","ecosystem":"npm","requirements":"^2.3.0","direct":true,"kind":"runtime","optional":false},{"id":6928123847,"package_name":"moment","ecosystem":"npm","requirements":"^2.29.4","direct":true,"kind":"runtime","optional":false},{"id":6928123848,"package_name":"node-fetch","ecosystem":"npm","requirements":"^3.3.0","direct":true,"kind":"runtime","optional":false},{"id":6928123849,"package_name":"rss-generator","ecosystem":"npm","requirements":"^0.0.3","direct":true,"kind":"runtime","optional":false},{"id":6928123850,"package_name":"copy-env-cli","ecosystem":"npm","requirements":"^1.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2023-02-13T23:30:44.404Z","updated_at":"2023-02-13T23:30:44.404Z","repository_link":"https://github.com/benbrown/shuttlecraft/blob/main/.github/workflows/lint.yml","dependencies":[{"id":7635805399,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7635805400,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7635805401,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7635805402,"package_name":"EPMatt/reviewdog-action-prettier","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7635805403,"package_name":"reviewdog/action-eslint","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-02-13T23:30:44.502Z","updated_at":"2023-02-13T23:30:44.502Z","repository_link":"https://github.com/benbrown/shuttlecraft/blob/main/Dockerfile","dependencies":[{"id":7635807304,"package_name":"node","ecosystem":"docker","requirements":"16-alpine","direct":true,"kind":"build","optional":false}]}],"score":7.380879035564116,"created_at":"2023-04-05T14:25:01.810Z","updated_at":"2026-08-13T12:31:14.899Z","avatar_url":"https://github.com/benbrown.png","language":"JavaScript","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/2449","html_url":"https://summary.ecosyste.ms/projects/2449"}