Skip to content

Commit e4b6a51

Browse files
committed
docs
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 88e1ef2 commit e4b6a51

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

HISTORY.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ All notable changes to this project will be documented in this file.
66

77
<!-- add unreleased items here -->
88

9+
* Added
10+
* Public export `types.NodePackageJson`, which is the input type for various factories and builders (via [#1263])
11+
12+
[#1263]: https://github.com/CycloneDX/cyclonedx-javascript-library/pull/1263
13+
914
## 8.4.0 -- 2025-06-16
1015

1116
* Fixed

src/builders/fromNodePackageJson.node.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import { Component } from '../models/component'
3333
import { ExternalReferenceRepository } from '../models/externalReference'
3434
import { LicenseRepository } from '../models/license'
3535
import { Tool } from '../models/tool'
36-
import type { PackageJson } from '../types/packageJson'
36+
import type { NodePackageJson } from '../types/nodePackageJson'
3737

3838
/**
3939
* Node-specific ToolBuilder.
@@ -51,7 +51,7 @@ export class ToolBuilder {
5151

5252
// Current implementation does not return `undefined` yet, but it is an option for future implementation.
5353
// To prevent future breaking changes, it is declared to return `undefined`.
54-
makeTool (data: PackageJson): Tool | undefined {
54+
makeTool (data: NodePackageJson): Tool | undefined {
5555
const [name, vendor] = typeof data.name === 'string'
5656
? splitNameGroup(data.name)
5757
: []
@@ -90,7 +90,7 @@ export class ComponentBuilder {
9090
return this.#licenseFactory
9191
}
9292

93-
makeComponent (data: PackageJson, type: ComponentType = ComponentType.Library): Component | undefined {
93+
makeComponent (data: NodePackageJson, type: ComponentType = ComponentType.Library): Component | undefined {
9494
if (typeof data.name !== 'string') {
9595
return undefined
9696
}

src/factories/fromNodePackageJson.node.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ import { HashAlgorithm } from "../enums/hashAlogorithm";
3636
import type { Component } from '../models/component'
3737
import { ExternalReference } from '../models/externalReference'
3838
import { HashDictionary } from '../models/hash'
39-
import type { PackageJson } from '../types/packageJson'
39+
import type { NodePackageJson } from '../types/nodePackageJson'
4040
import { defaultRegistryMatcher, parsePackageIntegrity } from '../utils/npmjsUtility.node'
4141
import { PackageUrlFactory as PlainPackageUrlFactory } from './packageUrl'
4242

4343
/**
4444
* Node-specific ExternalReferenceFactory.
4545
*/
4646
export class ExternalReferenceFactory {
47-
makeExternalReferences (data: PackageJson): ExternalReference[] {
47+
makeExternalReferences (data: NodePackageJson): ExternalReference[] {
4848
const refs: Array<ExternalReference | undefined> = []
4949

5050
try { refs.push(this.makeVcs(data)) } catch { /* pass */ }
@@ -55,7 +55,7 @@ export class ExternalReferenceFactory {
5555
return refs.filter(isNotUndefined)
5656
}
5757

58-
makeVcs (data: PackageJson): ExternalReference | undefined {
58+
makeVcs (data: NodePackageJson): ExternalReference | undefined {
5959
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#repositoryc */
6060
const repository = data.repository
6161
let url = undefined
@@ -78,7 +78,7 @@ export class ExternalReferenceFactory {
7878
: new ExternalReference(url.toString(), ExternalReferenceType.VCS, { comment })
7979
}
8080

81-
makeHomepage (data: PackageJson): ExternalReference | undefined {
81+
makeHomepage (data: NodePackageJson): ExternalReference | undefined {
8282
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#homepage */
8383
const url = data.homepage
8484
return typeof url === 'string' && url.length > 0
@@ -88,7 +88,7 @@ export class ExternalReferenceFactory {
8888
: undefined
8989
}
9090

91-
makeIssueTracker (data: PackageJson): ExternalReference | undefined {
91+
makeIssueTracker (data: NodePackageJson): ExternalReference | undefined {
9292
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#bugs */
9393
const bugs = data.bugs
9494
let url = undefined
@@ -105,7 +105,7 @@ export class ExternalReferenceFactory {
105105
: undefined
106106
}
107107

108-
makeDist(data: PackageJson): ExternalReference | undefined {
108+
makeDist(data: NodePackageJson): ExternalReference | undefined {
109109
// "dist" might be used in bundled dependencies' manifests.
110110
// docs: https://blog.npmjs.org/post/172999548390/new-pgp-machinery
111111
/* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- acknowledged */

src/types/packageJson.ts renamed to src/types/nodePackageJson.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Copyright (c) OWASP Foundation. All Rights Reserved.
2525
* Normalization should be done downstream, for example
2626
* via [`normalize-package-data`](https://www.npmjs.com/package/normalize-package-data).
2727
*/
28-
export interface PackageJson {
28+
export interface NodePackageJson {
2929
name?: string
3030
version?: string
3131
description?: string
@@ -53,7 +53,7 @@ export interface PackageJson {
5353

5454

5555
/* TODO: write type assertion
56-
export function isPackageJsonNode (value: any): value is PackageJsonNode {
57-
return...
56+
export function isNodePackageJson (value: any): value is NodePackageJson {
57+
...
5858
}
5959
*/

0 commit comments

Comments
 (0)