Skip to content

Commit 243fe45

Browse files
committed
Update readme examples
1 parent 2d6f4a6 commit 243fe45

File tree

1 file changed

+23
-26
lines changed

1 file changed

+23
-26
lines changed

README.md

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,52 +32,49 @@ pnpm install @socketregistry/packageurl-js
3232
## Usage
3333

3434
```javascript
35-
import { PackageURL, PackageURLBuilder } from '@socketregistry/packageurl-js'
35+
import { PackageURL, PackageURLBuilder, UrlConverter } from '@socketregistry/packageurl-js'
3636

3737
// Parse from string
3838
const purl = PackageURL.fromString('pkg:npm/[email protected]')
3939
console.log(purl.name) // 'lodash'
4040

4141
// Create from components
4242
const newPurl = new PackageURL('npm', null, 'express', '4.18.2')
43+
// -> 'pkg:npm/[email protected]'
4344

44-
// Builder pattern
45-
const builtPurl = PackageURLBuilder
45+
// Builder pattern - ecosystem-specific builders
46+
const npmPurl = PackageURLBuilder
4647
.npm()
4748
.name('lodash')
4849
.version('4.17.21')
4950
.build()
50-
```
51-
52-
### Builders & URL Conversion
53-
54-
```javascript
55-
// Ecosystem-specific builders
56-
PackageURLBuilder.npm() // npm
57-
PackageURLBuilder.pypi() // Python
58-
PackageURLBuilder.maven() // Java/Maven
59-
PackageURLBuilder.cargo() // Rust
60-
PackageURLBuilder.gem() // Ruby
51+
// -> 'pkg:npm/[email protected]'
6152

62-
// URL conversion
63-
import { UrlConverter } from '@socketregistry/packageurl-js'
64-
const repoUrl = UrlConverter.toRepositoryUrl(purl)
65-
const downloadUrl = UrlConverter.toDownloadUrl(purl)
66-
```
67-
68-
### Advanced
53+
const pythonPurl = PackageURLBuilder
54+
.pypi()
55+
.name('requests')
56+
.version('2.28.1')
57+
.build()
58+
// -> 'pkg:pypi/[email protected]'
6959

70-
```javascript
71-
// Namespaces and qualifiers
72-
const purl = PackageURLBuilder
60+
const javaPurl = PackageURLBuilder
7361
.maven()
7462
.namespace('org.springframework')
7563
.name('spring-core')
64+
.version('5.3.21')
7665
.qualifier('classifier', 'sources')
7766
.build()
67+
// -> 'pkg:maven/org.springframework/[email protected]?classifier=sources'
68+
69+
// Subpaths for packages like npm/@babel/runtime
70+
const subpathPurl = new PackageURL('npm', '@babel', 'runtime', '7.18.6', null, 'helpers/typeof.js')
71+
// -> 'pkg:npm/%40babel/[email protected]#helpers/typeof.js'
7872

79-
// Subpaths
80-
new PackageURL('npm', '@babel', 'runtime', '7.18.6', null, 'helpers/typeof.js')
73+
// URL conversion
74+
const repoUrl = UrlConverter.toRepositoryUrl(purl)
75+
// -> 'https://github.com/lodash/lodash'
76+
const downloadUrl = UrlConverter.toDownloadUrl(purl)
77+
// -> 'https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz'
8178
```
8279

8380
## Development

0 commit comments

Comments
 (0)