{"id":15560990,"url":"https://github.com/williamfzc/dependency-submission-dump","last_synced_at":"2026-05-13T23:33:24.234Z","repository":{"id":189717991,"uuid":"679763378","full_name":"williamfzc/dependency-submission-dump","owner":"williamfzc","description":"A simple TypeScript library that enables local reuse of the GitHub's dependency-submission-api capability.","archived":false,"fork":false,"pushed_at":"2023-08-21T14:56:22.000Z","size":326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-18T21:22:49.678Z","etag":null,"topics":["dependency-manager","dependency-submission","github"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/williamfzc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-17T15:03:01.000Z","updated_at":"2023-08-21T14:50:03.000Z","dependencies_parsed_at":"2023-08-21T13:59:01.525Z","dependency_job_id":"60b057e4-9d3f-4252-a717-d1361baf90b1","html_url":"https://github.com/williamfzc/dependency-submission-dump","commit_stats":null,"previous_names":["williamfzc/dependency-submission-dump"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/williamfzc/dependency-submission-dump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fdependency-submission-dump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fdependency-submission-dump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fdependency-submission-dump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fdependency-submission-dump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williamfzc","download_url":"https://codeload.github.com/williamfzc/dependency-submission-dump/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamfzc%2Fdependency-submission-dump/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279428409,"owners_count":26168525,"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-10-17T02:00:07.504Z","response_time":56,"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"}},"keywords":["dependency-manager","dependency-submission","github"],"created_at":"2024-10-02T16:04:42.117Z","updated_at":"2025-10-20T00:48:28.713Z","avatar_url":"https://github.com/williamfzc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dependency-submission-dump\n\nA simple TypeScript library that enables local reuse of the GitHub's dependency-submission-api capability.\n\n## Why\n\n[GitHub's dependency-submission-api](https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph) is a good abstraction for managing dependencenies above different languages. Also GitHub provides some tools for extracting [snapshot](https://github.com/github/dependency-submission-toolkit/blob/main/src/snapshot.ts) from codebase, like [dependency-submission-toolkit](https://github.com/github/dependency-submission-toolkit), and its ecosystems.\n\n\u003cimg width=\"969\" alt=\"image\" src=\"https://github.com/williamfzc/dependency-submission-dump/assets/13421694/64714040-8a3c-4e54-b410-619eef6e4e75\"\u003e\n\nBut by default, all these tools will always submit `snapshot` directly to GitHub without any switches to control. These is no way to reuse this abstraction.\n\n## Goal\n\nThis tool allows developers to save/process the `snapshot` before it submitted. So that you can easily reuse all the data without accessing the GitHub.\n\n## Installation\n\nThere are 3 ways to use.\n\n### With Cmd: dump\n\n```bash\nnpm install -g dependency-submission-dump\n```\n\nand:\n\n```bash\nDSD_OUTPUT=output.json DSD_ECOSYSTEM=node dsd dump\n```\n\nThe `snapshot` object will be saved in `output.json`.\n\n### With Cmd: dump and process with a script\n\nYou can also specify a JavaScript file for processing the `snapshot` directly.\n\n```javascript\nfunction dsdHandler(snapshot) {\n    console.log(\"rece: \" + JSON.stringify(snapshot))\n}\n\nmodule.exports = {\n    dsdHandler: dsdHandler\n};\n```\n\nand:\n\n```bash\nDSD_ADDON=./examples/sample_addon.js DSD_OUTPUT=output.json DSD_ECOSYSTEM=node dsd dump\n```\n\nand:\n\n```text\nrece: {\"detector\":{\"name\":\"example NPM detector\",\"url\":\"https://github.com/github/dependency-submission-toolkit/tree/main/example\",\"version\":\"0.0.1\"},\"version\":0,\"job\":{\"id\":\"NaN\"},\"scanned\":\"2023-08-21T06:17:44.491Z\",\"manifests\":{\"dependency-submission-dump\" ...\n```\n\n### With Node\n\nOr use it as a lib. See [examples/node](./examples/node/).\n\n## Language support\n\nThis library is just a glue that combines different functionalities together for convenient and practical use.\n\nSo most of the logic will stay consistent with the source repository, except for some modifications to the format of certain environment variables. For more details, please refer to the source code.\n\n| Ecosystem | Status | Source Code                                                                               |\n|-----------|--------|-------------------------------------------------------------------------------------------|\n| node      | ✅      | https://github.com/github/dependency-submission-toolkit/blob/main/example/npm-detector.ts |\n| golang    | ✅      | https://github.com/actions/go-dependency-submission                                       |\n| maven     | 🚧     | https://github.com/marketplace/actions/maven-dependency-tree-dependency-submission        |\n| gradle    | 🚧     | https://github.com/marketplace/actions/gradle-dependency-submission                       |\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamfzc%2Fdependency-submission-dump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamfzc%2Fdependency-submission-dump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamfzc%2Fdependency-submission-dump/lists"}