{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"nodejs-grunt-cli-0.1.2.0-1.oe2409.aarch64.rpm",
	"spdxVersion":"SPDX-2.2",
	"creationInfo":{
		"created":"2024-09-30T03:30:07.5589037Z",
		"creators":"[openeuler_creator]"
	},
	"dataLicense":"CC0-1.0",
	"documentNamespace":"https://repo.openeuler.org/security/data/sbom/nodejs-grunt-cli-0.1.2.0-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-nodejs-20.11.1-cc7d8d33-30c7-4f94-b105-8395c8b120cb-abd4abdd-8d44-43ff-abfe-78d6a2002103",
			"name":"nodejs",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"f2c79b7f6dd32a1f7f61ad3c9c7f771997ddd6a34dc9aefaace6d030eda14be0"
				}
			],
			"description":"Node.js is a platform built on Chrome's JavaScript runtime\nfor easily building fast, scalable network applications.\nNode.js uses an event-driven, non-blocking I/O model that\nmakes it lightweight and efficient, perfect for data-intensive\nreal-time applications that run across distributed devices.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/nodejs@20.11.1-3.oe2409?arch=aarch64&epoch=1&upstream=nodejs-20.11.1-3.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"http://nodejs.org/",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"JavaScript runtime",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:20.11.1-3.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-nodejs-grunt-1.0.1-e0f4c648-21d9-4441-b28c-0674db7f9f02-df6cad58-a68f-47e7-bf3a-586ee54513e2",
			"name":"nodejs-grunt",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"17ad7fb0b137224828c8fa3e4f0ed04172966e11ef3941042f0b089404180d05"
				}
			],
			"description":"Grunt is the JavaScript task runner. Why use a task runner? In one word:\nautomation. The less work you have to do when performing repetitive tasks\nlike minification, compilation, unit testing, linting, etc, the easier\nyour job becomes. After you've configured it, a task runner can do most\nof that mundane work for you with basically zero effort.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/nodejs-grunt@1.0.1-6.oe2409?arch=noarch&epoch=0&upstream=nodejs-grunt-1.0.1-6.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://github.com/gruntjs/grunt",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Grunt is a JavaScript library used for automation and running tasks",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.0.1-6.oe2409"
		}
	],
	"relationships":[
		{
			"spdxElementId":"SPDXRef-rpm-nodejs-grunt-cli-1.2.0-e180911b-924d-4864-af77-2dc19af507c8",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-nodejs-20.11.1-cc7d8d33-30c7-4f94-b105-8395c8b120cb-abd4abdd-8d44-43ff-abfe-78d6a2002103"
		},
		{
			"spdxElementId":"SPDXRef-rpm-nodejs-grunt-cli-1.2.0-e180911b-924d-4864-af77-2dc19af507c8",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-nodejs-grunt-1.0.1-e0f4c648-21d9-4441-b28c-0674db7f9f02-df6cad58-a68f-47e7-bf3a-586ee54513e2"
		}
	]
}