{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.RobinQu/Programing-In-Javascript","documentNamespace":"https://spdx.org/spdxdocs/protobom/9a081a94-3d3c-4ed7-84bd-5d83edf4d38c","creationInfo":{"creators":["Tool: protobom-v0.0.0-20260130170711-0b8e67cacb3b+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-02-08T12:58:38Z"},"packages":[{"name":"cheerio","SPDXID":"SPDXRef-npm-cheerio-0.13.1-8a1871","versionInfo":"~0.13.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/cheerio@~0.13.1"}]},{"name":"debug","SPDXID":"SPDXRef-npm-debug-0.8.0-22bab6","versionInfo":"~0.8.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/debug@~0.8.0"}]},{"name":"jasmine-node","SPDXID":"SPDXRef-npm-jasmine-node-1.14.3-4ff571","versionInfo":"~1.14.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/jasmine-node@~1.14.3"}]},{"name":"karma-cli","SPDXID":"SPDXRef-npm-karma-cli-0.0.4-455055","versionInfo":"0.0.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2011-2013 Google, Inc.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma-cli@0.0.4"}]},{"name":"karma-ie-launcher","SPDXID":"SPDXRef-npm-karma-ie-launcher-0.1.5-0e13f6","versionInfo":"~0.1.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma-ie-launcher@~0.1.5"}]},{"name":"karma-chrome-launcher","SPDXID":"SPDXRef-npm-karma-chrome-launcher-0.1.3-005052","versionInfo":"~0.1.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma-chrome-launcher@~0.1.3"}]},{"name":"karma-jasmine","SPDXID":"SPDXRef-npm-karma-jasmine-0.2.2-335217","versionInfo":"~0.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma-jasmine@~0.2.2"}]},{"name":"karma","SPDXID":"SPDXRef-npm-karma-0.12.14-8daf48","versionInfo":"~0.12.14","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma@~0.12.14"}]},{"name":"karma-firefox-launcher","SPDXID":"SPDXRef-npm-karma-firefox-launcher-0.1.3-20d1ff","versionInfo":"~0.1.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma-firefox-launcher@~0.1.3"}]},{"name":"grunt-contrib-clean","SPDXID":"SPDXRef-npm-grunt-contrib-clean-0.5.0-ec4181","versionInfo":"~0.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-contrib-clean@~0.5.0"}]},{"name":"grunt-git","SPDXID":"SPDXRef-npm-grunt-git-0.2.6-398469","versionInfo":"~0.2.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-git@~0.2.6"}]},{"name":"grunt-open","SPDXID":"SPDXRef-npm-grunt-open-0.2.3-42df89","versionInfo":"~0.2.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-open@~0.2.3"}]},{"name":"time-grunt","SPDXID":"SPDXRef-npm-time-grunt-0.2.10-d7deb5","versionInfo":"~0.2.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/time-grunt@~0.2.10"}]},{"name":"grunt-sitemap","SPDXID":"SPDXRef-npm-grunt-sitemap-1.1.0-38fbd8","versionInfo":"^1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-sitemap@%5E1.1.0"}]},{"name":"karma-safari-launcher","SPDXID":"SPDXRef-npm-karma-safari-launcher-0.1.1-6aee0c","versionInfo":"~0.1.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/karma-safari-launcher@~0.1.1"}]},{"name":"segment","SPDXID":"SPDXRef-npm-segment-0.0.5-50211e","versionInfo":"0.0.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2012 Lei","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/segment@0.0.5"}]},{"name":"grunt-docco","SPDXID":"SPDXRef-npm-grunt-docco-0.3.3-932981","versionInfo":"^0.3.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-docco@%5E0.3.3"}]},{"name":"load-grunt-tasks","SPDXID":"SPDXRef-npm-load-grunt-tasks-0.4.0-0f7fca","versionInfo":"~0.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/load-grunt-tasks@~0.4.0"}]},{"name":"lodash","SPDXID":"SPDXRef-npm-lodash-2.4.1-119493","versionInfo":"~2.4.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/lodash@~2.4.1"}]},{"name":"grunt-contrib-copy","SPDXID":"SPDXRef-npm-grunt-contrib-copy-0.5.0-61f8c1","versionInfo":"~0.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-contrib-copy@~0.5.0"}]},{"name":"grunt-git-revision","SPDXID":"SPDXRef-npm-grunt-git-revision-0.0.1-dfd62e","versionInfo":"0.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2013 Simen Brekken","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-git-revision@0.0.1"}]},{"name":"grunt-build-control","SPDXID":"SPDXRef-npm-grunt-build-control-0.1.2-c0bf1a","versionInfo":"~0.1.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-build-control@~0.1.2"}]},{"name":"grunt-contrib-connect","SPDXID":"SPDXRef-npm-grunt-contrib-connect-0.7.1-e9fd8e","versionInfo":"~0.7.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-contrib-connect@~0.7.1"}]},{"name":"grunt-git-committers","SPDXID":"SPDXRef-npm-grunt-git-committers-0.1.2-29d8c0","versionInfo":"~0.1.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-git-committers@~0.1.2"}]},{"name":"grunt","SPDXID":"SPDXRef-npm-grunt-0.4.4-8932cc","versionInfo":"~0.4.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt@~0.4.4"}]},{"name":"natural","SPDXID":"SPDXRef-npm-natural-0.1.27-7c058b","versionInfo":"~0.1.27","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/natural@~0.1.27"}]},{"name":"grunt-sass","SPDXID":"SPDXRef-npm-grunt-sass-1.0.0-0d27ff","versionInfo":"~1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/grunt-sass@~1.0.0"}]},{"name":"com.github.RobinQu/Programing-In-Javascript","SPDXID":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","versionInfo":"master","downloadLocation":"git+https://github.com/RobinQu/Programing-In-Javascript","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/RobinQu/Programing-In-Javascript@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-cheerio-0.13.1-8a1871","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-debug-0.8.0-22bab6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-jasmine-node-1.14.3-4ff571","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-cli-0.0.4-455055","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-ie-launcher-0.1.5-0e13f6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-chrome-launcher-0.1.3-005052","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-jasmine-0.2.2-335217","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-0.12.14-8daf48","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-firefox-launcher-0.1.3-20d1ff","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-contrib-clean-0.5.0-ec4181","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-git-0.2.6-398469","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-open-0.2.3-42df89","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-time-grunt-0.2.10-d7deb5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-sitemap-1.1.0-38fbd8","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-karma-safari-launcher-0.1.1-6aee0c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-segment-0.0.5-50211e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-docco-0.3.3-932981","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-load-grunt-tasks-0.4.0-0f7fca","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-lodash-2.4.1-119493","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-contrib-copy-0.5.0-61f8c1","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-git-revision-0.0.1-dfd62e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-build-control-0.1.2-c0bf1a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-contrib-connect-0.7.1-e9fd8e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-git-committers-0.1.2-29d8c0","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-0.4.4-8932cc","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-natural-0.1.27-7c058b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relatedSpdxElement":"SPDXRef-npm-grunt-sass-1.0.0-0d27ff","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-RobinQu-Programing-In-Javascript-master-1a7354","relationshipType":"DESCRIBES"}]}