To installpackageurl-js in your project, simply run:
npm install packageurl-js
This command will download thepackageurl-js npm package for use in your application.
Clone thepackageurl-js repo andcd into the directory.
Then run:
To run the test suite:
As an ES6 module
import{PackageURL}from'packageurl-js'As a CommonJS module
const{ PackageURL}=require('packageurl-js')constpurlStr='pkg:maven/org.springframework.integration/spring-integration-jms@5.5.5'console.log(PackageURL.fromString(purlStr))console.log(newPackageURL(...PackageURL.parseString(purlStr)))
will both log
PackageURL { type: 'maven', name: 'spring-integration-jms', namespace: 'org.springframework.integration', version: '5.5.5', qualifiers: undefined, subpath: undefined}
constpkg=newPackageURL('maven','org.springframework.integration','spring-integration-jms','5.5.5')console.log(pkg.toString())=>
pkg:maven/org.springframework.integration/spring-integration-jms@5.5.5
try{PackageURL.fromString('not-a-purl')}catch(e){console.error(e.message)}=>
Invalid purl: missing required "pkg" scheme component
Helpers for encoding, normalizing, and validating purl components and types canbe imported directly from the module or found on the PackageURL class as staticproperties.
import{PackageURL,PurlComponent,PurlType}from'packageurl-js'PurlComponent===PackageURL.Component// => truePurlType===PackageURL.Type// => trueContains the following properties each with their ownencode,normalize,andvalidate methods, e.g.PurlComponent.name.validate(nameStr):
- type
- namespace
- name
- version
- qualifiers
- qualifierKey
- qualifierValue
- subpath
Contains the following properties each with their ownnormalize, andvalidatemethods, e.g.PurlType.npm.validate(purlObj):
- alpm
- apk
- bitbucket
- bitnami
- composer
- conan
- cran
- deb
- github
- gitlab
- golang
- hex
- huggingface
- luarocks
- maven
- mlflow
- npm
- oci
- pub
- pypi
- qpkg
- rpm
- swift