Skip to content

Commit 5b41e4a

Browse files
authored
docs: note to packageJson-like structure normalization (#518)
Made it clear, that `{Builders,Factories}.{FromNodePackageJson,FromPackageJson}.*` functionality is to be run on already normalized structures. Normalization should be done downstream, for example via [`normalize-package-data`](https://www.npmjs.com/package/normalize-package-data). Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 2488ec6 commit 5b41e4a

File tree

4 files changed

+27
-11
lines changed

4 files changed

+27
-11
lines changed

HISTORY.md

+9
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file.
44

55
## unreleased
66

7+
## 1.12.0 - 2023-03-02
8+
9+
* Docs
10+
* Made it clear, that `{Builders,Factories}.{FromNodePackageJson,FromPackageJson}.*` functionality is to be run on already normalized structures. ([#517] via [#518])
11+
Normalization should be done downstream, for example via [`normalize-package-data`](https://www.npmjs.com/package/normalize-package-data).
12+
13+
[#517]: https://github.com/CycloneDX/cyclonedx-javascript-library/issues/517
14+
[#518]: https://github.com/CycloneDX/cyclonedx-javascript-library/pull/518
15+
716
## 1.11.0 - 2023-02-02
817

918
* Added

src/_helpers/packageJson.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ export function splitNameGroup (data: string): [string, string?] {
2828
}
2929

3030
/**
31-
* @see {@link https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json | PackageJson spec}
32-
* @see {@link https://docs.npmjs.com/cli/v8/configuring-npm/package-json | PackageJson description}
31+
* Intended to represent [normalized](https://www.npmjs.com/package/normalize-package-data) data structures
32+
* based on [PackageJson spec](https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json)
33+
* and [PackageJson description](https://docs.npmjs.com/cli/v9/configuring-npm/package-json).
3334
*/
3435
export interface PackageJson {
3536
name?: string

src/builders/fromNodePackageJson.node.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ Copyright (c) OWASP Foundation. All Rights Reserved.
2020
/**
2121
* Node-specifics.
2222
*
23-
* @see [PackageJson spec](https://docs.npmjs.com/cli/v8/configuring-npm/package-json)
23+
* Intended to run on [normalized](https://www.npmjs.com/package/normalize-package-data) data structures
24+
* based on [PackageJson spec](https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json)
25+
* and [PackageJson description](https://docs.npmjs.com/cli/v9/configuring-npm/package-json).
26+
* Normalization should be done downstream.
2427
*/
2528

2629
import type { PackageJson } from '../_helpers/packageJson'
@@ -94,19 +97,19 @@ export class ComponentBuilder {
9497
return undefined
9598
}
9699

97-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#author */
100+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#author */
98101
const author = typeof data.author === 'string'
99102
? data.author
100103
: (typeof data.author?.name === 'string'
101104
? data.author.name
102105
: undefined)
103106

104-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#description-1 */
107+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#description-1 */
105108
const description = typeof data.description === 'string'
106109
? data.description
107110
: undefined
108111

109-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#version */
112+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#version */
110113
const version = typeof data.version === 'string'
111114
? data.version
112115
: undefined
@@ -115,7 +118,7 @@ export class ComponentBuilder {
115118

116119
const licenses = new Models.LicenseRepository()
117120
if (typeof data.license === 'string') {
118-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#license */
121+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#license */
119122
licenses.add(this.#licenseFactory.makeFromString(data.license))
120123
}
121124
if (Array.isArray(data.licenses)) {

src/factories/fromNodePackageJson.node.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ Copyright (c) OWASP Foundation. All Rights Reserved.
2020
/**
2121
* Node-specifics.
2222
*
23-
* @see [PackageJson spec](https://docs.npmjs.com/cli/v8/configuring-npm/package-json)
23+
* Intended to run on [normalized](https://www.npmjs.com/package/normalize-package-data) data structures
24+
* based on [PackageJson spec](https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json)
25+
* and [PackageJson description](https://docs.npmjs.com/cli/v9/configuring-npm/package-json).
26+
* Normalization should be done downstream.
2427
*/
2528

2629
import type { PackageURL } from 'packageurl-js'
@@ -47,7 +50,7 @@ export class ExternalReferenceFactory {
4750
}
4851

4952
makeVcs (data: PackageJson): Models.ExternalReference | undefined {
50-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#repositoryc */
53+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#repositoryc */
5154
const repository = data.repository
5255
let url
5356
let comment: string | undefined
@@ -69,7 +72,7 @@ export class ExternalReferenceFactory {
6972
}
7073

7174
makeHomepage (data: PackageJson): Models.ExternalReference | undefined {
72-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#homepage */
75+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#homepage */
7376
const url = data.homepage
7477
return typeof url === 'string' && url.length > 0
7578
? new Models.ExternalReference(
@@ -79,7 +82,7 @@ export class ExternalReferenceFactory {
7982
}
8083

8184
makeIssueTracker (data: PackageJson): Models.ExternalReference | undefined {
82-
/* see https://docs.npmjs.com/cli/v8/configuring-npm/package-json#bugs */
85+
/* see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#bugs */
8386
const bugs = data.bugs
8487
let url
8588
let comment: string | undefined

0 commit comments

Comments
 (0)