Current section

Files

Jump to
purl priv spec types npm-definition.json
Raw

priv/spec/types/npm-definition.json

{
"$schema": "https://packageurl.org/schemas/purl-type-definition.schema-1.0.json",
"$id": "https://packageurl.org/types/npm-definition.json",
"type": "npm",
"type_name": "Node NPM packages",
"description": "PURL type for npm packages.",
"repository": {
"use_repository": true,
"default_repository_url": "https://registry.npmjs.org/",
"note": "The default repository is the npm Registry at https://registry.npmjs.org"
},
"namespace_definition": {
"requirement": "optional",
"case_sensitive": true,
"native_name": "scope",
"note": "The namespace is used for the scope of a scoped NPM package. The npm scope @ sign prefix is always percent encoded, as it was in the early days of npm scope."
},
"name_definition": {
"requirement": "required",
"case_sensitive": true,
"native_name": "name",
"note": "The package.json spec changed in 2015 to require that a new package 'must not have uppercase letters in the name', but old packages with mixed case names were \"grandfathered in\"."
},
"version_definition": {
"requirement": "optional",
"case_sensitive": true,
"native_name": "version"
},
"examples": [
"pkg:npm/foobar@12.3.1",
"pkg:npm/%40angular/animation@12.3.1",
"pkg:npm/mypackage@12.4.5?vcs_url=git://host.com/path/to/repo.git%404345abcd34343"
]
}