{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.nodeadmin/nodeadmin","documentNamespace":"https://spdx.org/spdxdocs/protobom/5107bba9-1b58-4ce9-b35e-36acd9f0b8bf","creationInfo":{"creators":["Tool: protobom-v0.0.0-20260403143834-a075a09f5b04+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-04-05T12:08:08Z"},"packages":[{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.9.0-cbbe48","versionInfo":"^2.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.9.0"}]},{"name":"bluebird","SPDXID":"SPDXRef-npm-bluebird-2.10.2-f8b24d","versionInfo":"^2.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bluebird@%5E2.10.2"}]},{"name":"gulp-rename","SPDXID":"SPDXRef-npm-gulp-rename-1.2.2-a8dd72","versionInfo":"^1.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/gulp-rename@%5E1.2.2"}]},{"name":"socket.io","SPDXID":"SPDXRef-npm-socket.io-1.3.7-33785d","versionInfo":"^1.3.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/socket.io@%5E1.3.7"}]},{"name":"path","SPDXID":"SPDXRef-npm-path-0.12.7-48cee9","versionInfo":"^0.12.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/path@%5E0.12.7"}]},{"name":"promise-mysql","SPDXID":"SPDXRef-npm-promise-mysql-1.1.1-3b44eb","versionInfo":"^1.1.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/promise-mysql@%5E1.1.1"}]},{"name":"gulp","SPDXID":"SPDXRef-npm-gulp-3.9.0-53c5f4","versionInfo":"^3.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/gulp@%5E3.9.0"}]},{"name":"morgan","SPDXID":"SPDXRef-npm-morgan-1.6.1-be978a","versionInfo":"^1.6.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/morgan@%5E1.6.1"}]},{"name":"supertest","SPDXID":"SPDXRef-npm-supertest-1.1.0-8648d6","versionInfo":"^1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/supertest@%5E1.1.0"}]},{"name":"jsonwebtoken","SPDXID":"SPDXRef-npm-jsonwebtoken-5.4.0-427131","versionInfo":"^5.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/jsonwebtoken@%5E5.4.0"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.13.3-28514d","versionInfo":"^4.13.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.13.3"}]},{"name":"gulp-uglify","SPDXID":"SPDXRef-npm-gulp-uglify-1.4.2-3e20a7","versionInfo":"^1.4.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/gulp-uglify@%5E1.4.2"}]},{"name":"randomstring","SPDXID":"SPDXRef-npm-randomstring-1.1.3-617e8e","versionInfo":"^1.1.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/randomstring@%5E1.1.3"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.14.1-c1b280","versionInfo":"^1.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.14.1"}]},{"name":"chai","SPDXID":"SPDXRef-npm-chai-3.4.0-b24c6f","versionInfo":"^3.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/chai@%5E3.4.0"}]},{"name":"mocha","SPDXID":"SPDXRef-npm-mocha-2.3.3-79dbf6","versionInfo":"^2.3.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mocha@%5E2.3.3"}]},{"name":"gulp-concat","SPDXID":"SPDXRef-npm-gulp-concat-2.6.0-a1c187","versionInfo":"^2.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/gulp-concat@%5E2.6.0"}]},{"name":"angular-ui-codemirror","SPDXID":"SPDXRef-npm-angular-ui-codemirror-0.3.0-3c6824","versionInfo":"^0.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-ui-codemirror@%5E0.3.0"}]},{"name":"jquery","SPDXID":"SPDXRef-npm-jquery-3.5.0-b13afe","versionInfo":"^3.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/jquery@%5E3.5.0"}]},{"name":"angular","SPDXID":"SPDXRef-npm-angular-1.4.7-a4a0aa","versionInfo":"^1.4.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular@%5E1.4.7"}]},{"name":"codemirror","SPDXID":"SPDXRef-npm-codemirror-5.8.0-d45670","versionInfo":"^5.8.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/codemirror@%5E5.8.0"}]},{"name":"angular-bindonce","SPDXID":"SPDXRef-npm-angular-bindonce-0.3.1-dcfaa3","versionInfo":"^0.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-bindonce@%5E0.3.1"}]},{"name":"moment","SPDXID":"SPDXRef-npm-moment-2.12.0-c83a19","versionInfo":"^2.12.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/moment@%5E2.12.0"}]},{"name":"angular-chart.js","SPDXID":"SPDXRef-npm-angular-chart.js-0.8.5-ef1c02","versionInfo":"^0.8.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-chart.js@%5E0.8.5"}]},{"name":"angular-socket-io","SPDXID":"SPDXRef-npm-angular-socket-io-0.7.0-28ad28","versionInfo":"^0.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-socket-io@%5E0.7.0"}]},{"name":"spin.js","SPDXID":"SPDXRef-npm-spin.js-2.3.2-31e489","versionInfo":"^2.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/spin.js@%5E2.3.2"}]},{"name":"angular-toarrayfilter","SPDXID":"SPDXRef-npm-angular-toarrayfilter-1.0.1-869649","versionInfo":"^1.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-toarrayfilter@%5E1.0.1"}]},{"name":"bootstrap","SPDXID":"SPDXRef-npm-bootstrap-3.3.5-b6440a","versionInfo":"^3.3.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/bootstrap@%5E3.3.5"}]},{"name":"socket.io-client","SPDXID":"SPDXRef-npm-socket.io-client-1.3.7-3809bc","versionInfo":"^1.3.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/socket.io-client@%5E1.3.7"}]},{"name":"angular-spinner","SPDXID":"SPDXRef-npm-angular-spinner-0.8.0-aae20f","versionInfo":"^0.8.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-spinner@%5E0.8.0"}]},{"name":"angular-ui-router","SPDXID":"SPDXRef-npm-angular-ui-router-0.2.15-6b7169","versionInfo":"^0.2.15","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-ui-router@%5E0.2.15"}]},{"name":"angular-bootstrap","SPDXID":"SPDXRef-npm-angular-bootstrap-0.12.2-913179","versionInfo":"^0.12.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-bootstrap@%5E0.12.2"}]},{"name":"angular-sanitize","SPDXID":"SPDXRef-npm-angular-sanitize-1.4.7-33d455","versionInfo":"^1.4.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-sanitize@%5E1.4.7"}]},{"name":"angular-ui-bootstrap","SPDXID":"SPDXRef-npm-angular-ui-bootstrap-0.14.3-d8f0c1","versionInfo":"^0.14.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/angular-ui-bootstrap@%5E0.14.3"}]},{"name":"chart.js","SPDXID":"SPDXRef-npm-chart.js-1.0.2-65dca9","versionInfo":"^1.0.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/chart.js@%5E1.0.2"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.13.3-ae5007","versionInfo":"^4.13.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@%5E4.13.3"}]},{"name":"mysql","SPDXID":"SPDXRef-npm-mysql-2.9.0-87c64b","versionInfo":"^2.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/mysql@%5E2.9.0"}]},{"name":"com.github.nodeadmin/nodeadmin","SPDXID":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","versionInfo":"master","downloadLocation":"git+https://github.com/nodeadmin/nodeadmin","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/nodeadmin/nodeadmin@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-mysql-2.9.0-cbbe48","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-bluebird-2.10.2-f8b24d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-gulp-rename-1.2.2-a8dd72","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-socket.io-1.3.7-33785d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-path-0.12.7-48cee9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-promise-mysql-1.1.1-3b44eb","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-gulp-3.9.0-53c5f4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-morgan-1.6.1-be978a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-supertest-1.1.0-8648d6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-jsonwebtoken-5.4.0-427131","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-express-4.13.3-28514d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-gulp-uglify-1.4.2-3e20a7","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-randomstring-1.1.3-617e8e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-body-parser-1.14.1-c1b280","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-chai-3.4.0-b24c6f","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-mocha-2.3.3-79dbf6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-gulp-concat-2.6.0-a1c187","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-ui-codemirror-0.3.0-3c6824","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-jquery-3.5.0-b13afe","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-1.4.7-a4a0aa","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-codemirror-5.8.0-d45670","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-bindonce-0.3.1-dcfaa3","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-moment-2.12.0-c83a19","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-chart.js-0.8.5-ef1c02","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-socket-io-0.7.0-28ad28","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-spin.js-2.3.2-31e489","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-toarrayfilter-1.0.1-869649","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-bootstrap-3.3.5-b6440a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-socket.io-client-1.3.7-3809bc","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-spinner-0.8.0-aae20f","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-ui-router-0.2.15-6b7169","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-bootstrap-0.12.2-913179","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-sanitize-1.4.7-33d455","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-angular-ui-bootstrap-0.14.3-d8f0c1","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-chart.js-1.0.2-65dca9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-express-4.13.3-ae5007","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relatedSpdxElement":"SPDXRef-npm-mysql-2.9.0-87c64b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-nodeadmin-nodeadmin-master-ba00d0","relationshipType":"DESCRIBES"}]}
