@cyclonedx/cyclonedx-library 9.0.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +1 -0
  2. package/dist.d/_helpers/sortable.d.ts.map +1 -1
  3. package/dist.d/_helpers/stringable.d.ts +2 -2
  4. package/dist.d/enums/externalReferenceType.d.ts +4 -0
  5. package/dist.d/enums/externalReferenceType.d.ts.map +1 -1
  6. package/dist.d/enums/hashAlogorithm.d.ts +3 -1
  7. package/dist.d/enums/hashAlogorithm.d.ts.map +1 -1
  8. package/dist.d/factories/fromNodePackageJson.node.d.ts.map +1 -1
  9. package/dist.d/serialize/json/normalize.d.ts.map +1 -1
  10. package/dist.d/serialize/xml/normalize.d.ts.map +1 -1
  11. package/dist.d/spec/consts.d.ts +2 -0
  12. package/dist.d/spec/consts.d.ts.map +1 -1
  13. package/dist.d/spec/enums.d.ts +1 -0
  14. package/dist.d/spec/enums.d.ts.map +1 -1
  15. package/dist.d/validation/jsonValidator.node.d.ts.map +1 -1
  16. package/dist.node/_helpers/sortable.js.map +1 -1
  17. package/dist.node/enums/externalReferenceType.js +4 -0
  18. package/dist.node/enums/externalReferenceType.js.map +1 -1
  19. package/dist.node/enums/hashAlogorithm.js +2 -0
  20. package/dist.node/enums/hashAlogorithm.js.map +1 -1
  21. package/dist.node/factories/fromNodePackageJson.node.js.map +1 -1
  22. package/dist.node/resources.node.js +6 -0
  23. package/dist.node/resources.node.js.map +1 -1
  24. package/dist.node/serialize/json/normalize.js +1 -0
  25. package/dist.node/serialize/json/normalize.js.map +1 -1
  26. package/dist.node/serialize/xml/normalize.js +1 -0
  27. package/dist.node/serialize/xml/normalize.js.map +1 -1
  28. package/dist.node/spec/consts.js +92 -1
  29. package/dist.node/spec/consts.js.map +1 -1
  30. package/dist.node/spec/enums.js +1 -0
  31. package/dist.node/spec/enums.js.map +1 -1
  32. package/dist.node/validation/jsonValidator.node.js +1 -0
  33. package/dist.node/validation/jsonValidator.node.js.map +1 -1
  34. package/dist.web/lib.dev.js +101 -1
  35. package/dist.web/lib.dev.js.map +1 -1
  36. package/dist.web/lib.js +1 -1
  37. package/dist.web/lib.js.map +1 -1
  38. package/package.json +9 -7
  39. package/res/schema/README.md +3 -1
  40. package/res/schema/bom-1.4.SNAPSHOT.schema.json +2 -2
  41. package/res/schema/bom-1.4.SNAPSHOT.xsd +1 -1
  42. package/res/schema/bom-1.5.SNAPSHOT.schema.json +2 -2
  43. package/res/schema/bom-1.5.SNAPSHOT.xsd +3 -3
  44. package/res/schema/bom-1.6.SNAPSHOT.schema.json +4 -4
  45. package/res/schema/bom-1.6.SNAPSHOT.xsd +6 -6
  46. package/res/schema/bom-1.7.SNAPSHOT.schema.json +6700 -0
  47. package/res/schema/bom-1.7.SNAPSHOT.xsd +9742 -0
  48. package/res/schema/cryptography-defs.SNAPSHOT.schema.json +576 -0
  49. package/src/_helpers/sortable.ts +1 -0
  50. package/src/_helpers/uri.ts +1 -1
  51. package/src/enums/externalReferenceType.ts +4 -0
  52. package/src/enums/hashAlogorithm.ts +2 -0
  53. package/src/factories/fromNodePackageJson.node.ts +2 -0
  54. package/src/resources.node.ts +6 -0
  55. package/src/serialize/json/normalize.ts +1 -0
  56. package/src/serialize/xml/normalize.ts +1 -0
  57. package/src/serialize/xmlSerializer.web.ts +1 -1
  58. package/src/spec/consts.ts +117 -0
  59. package/src/spec/enums.ts +1 -0
  60. package/src/validation/jsonValidator.node.ts +1 -0
  61. package/tsconfig.d.tsbuildinfo +1 -1
  62. package/tsconfig.node.tsbuildinfo +1 -1
  63. package/dist.d/_helpers/stringable.d.ts.map +0 -1
  64. package/dist.node/_helpers/stringable.js +0 -21
  65. package/dist.node/_helpers/stringable.js.map +0 -1
  66. /package/src/_helpers/{stringable.ts → stringable.d.ts} +0 -0
@@ -0,0 +1,576 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://cyclonedx.org/schema/cryptography-defs.schema.json",
4
+ "$comment": "2025-09-07T11:12:52Z",
5
+ "title": "Cryptographic Algorithm Family Definitions",
6
+ "description": "Enumerates cryptographic algorithm families and their specific metadata.",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": {
11
+ "type": "string"
12
+ },
13
+ "lastUpdated": {
14
+ "type": "string",
15
+ "format": "date-time",
16
+ "title": "Last Updated",
17
+ "description": "The date and time (timestamp) when the data was last updated."
18
+ },
19
+ "algorithms": {
20
+ "type": "array",
21
+ "title": "Algorithm Families",
22
+ "description": "An array of cryptographic algorithm family definitions.",
23
+ "items": {
24
+ "type": "object",
25
+ "title": "Algorithm Family",
26
+ "description": "Defines a cryptographic algorithm family and its metadata.",
27
+ "additionalProperties": false,
28
+ "properties": {
29
+ "family": {
30
+ "type": "string",
31
+ "title": "Algorithm Family",
32
+ "description": "The name of the cryptographic algorithm family."
33
+ },
34
+ "standard": {
35
+ "type": "array",
36
+ "title": "Standards",
37
+ "description": "List of standards defining or relating to the algorithm family.",
38
+ "items": {
39
+ "type": "object",
40
+ "title": "Standard Reference",
41
+ "description": "Reference to a standard, including its name and URL.",
42
+ "additionalProperties": false,
43
+ "properties": {
44
+ "name": {
45
+ "type": "string",
46
+ "title": "Standard Name",
47
+ "description": "The name or identifier of the standard."
48
+ },
49
+ "url": {
50
+ "type": "string",
51
+ "format": "iri-reference",
52
+ "title": "Standard URL",
53
+ "description": "A URL pointing to the standard's official documentation."
54
+ }
55
+ },
56
+ "required": [
57
+ "name",
58
+ "url"
59
+ ]
60
+ }
61
+ },
62
+ "variant": {
63
+ "type": "array",
64
+ "title": "Variants",
65
+ "description": "Defines algorithm variants by a naming pattern and the corresponding cryptographic primitive.",
66
+ "items": {
67
+ "type": "object",
68
+ "title": "Standard Reference",
69
+ "description": "Reference to a standard, including its name and URL.",
70
+ "additionalProperties": false,
71
+ "properties": {
72
+ "pattern": {
73
+ "type": "string",
74
+ "title": "Standard Name",
75
+ "description": "Defines the pattern used to construct the complete algorithm name. Placeholders are defined by {} for algorithm-specific properties."
76
+ },
77
+ "primitive": {
78
+ "type": "string",
79
+ "title": "Primitive",
80
+ "description": "Type of cryptographic primitive (e.g., signature, encryption, hash)."
81
+ },
82
+ "standard": {
83
+ "type": "array",
84
+ "title": "Standards",
85
+ "description": "List of standards defining or relating to the algorithm variant.",
86
+ "items": {
87
+ "type": "object",
88
+ "title": "Standard Reference",
89
+ "description": "Reference to a standard, including its name and URL.",
90
+ "additionalProperties": false,
91
+ "properties": {
92
+ "name": {
93
+ "type": "string",
94
+ "title": "Standard Name",
95
+ "description": "The name or identifier of the standard."
96
+ },
97
+ "url": {
98
+ "type": "string",
99
+ "format": "iri-reference",
100
+ "title": "Standard URL",
101
+ "description": "A URL pointing to the standard's official documentation."
102
+ }
103
+ },
104
+ "required": [
105
+ "name",
106
+ "url"
107
+ ]
108
+ }
109
+ }
110
+ },
111
+ "required": [
112
+ "pattern",
113
+ "primitive"
114
+ ]
115
+ }
116
+ }
117
+ },
118
+ "required": [
119
+ "family",
120
+ "variant"
121
+ ]
122
+ }
123
+ },
124
+ "ellipticCurves": {
125
+ "type": "array",
126
+ "title": "Elliptic Curves",
127
+ "description": "An array of elliptic curve family definitions.",
128
+ "items": {
129
+ "type": "object",
130
+ "title": "Elliptic Curve Family",
131
+ "description": "Defines an elliptic curve family and its metadata.",
132
+ "additionalProperties": false,
133
+ "properties": {
134
+ "name": {
135
+ "type": "string",
136
+ "title": "Curve Family Name",
137
+ "description": "The name of the elliptic curve family."
138
+ },
139
+ "description": {
140
+ "type": [
141
+ "string",
142
+ "null"
143
+ ],
144
+ "title": "Description",
145
+ "description": "A description of the elliptic curve family."
146
+ },
147
+ "curves": {
148
+ "type": "array",
149
+ "title": "Curves",
150
+ "description": "List of curves in this family.",
151
+ "items": {
152
+ "type": "object",
153
+ "title": "Curve",
154
+ "description": "Defines a specific elliptic curve and its metadata.",
155
+ "additionalProperties": false,
156
+ "properties": {
157
+ "name": {
158
+ "type": "string",
159
+ "title": "Curve Name",
160
+ "description": "The name of the elliptic curve."
161
+ },
162
+ "description": {
163
+ "type": [
164
+ "string",
165
+ "null"
166
+ ],
167
+ "title": "Description",
168
+ "description": "A description of the elliptic curve."
169
+ },
170
+ "oid": {
171
+ "type": [
172
+ "string",
173
+ "null"
174
+ ],
175
+ "title": "OID",
176
+ "description": "The Object Identifier (OID) of the elliptic curve."
177
+ },
178
+ "form": {
179
+ "type": "string",
180
+ "title": "Form",
181
+ "description": "The form of the elliptic curve.",
182
+ "enum": [
183
+ "Weierstrass",
184
+ "Edwards",
185
+ "TwistedEdwards",
186
+ "Montgomery"
187
+ ]
188
+ },
189
+ "aliases": {
190
+ "type": "array",
191
+ "title": "Aliases",
192
+ "description": "List of aliases for this curve.",
193
+ "items": {
194
+ "type": "object",
195
+ "title": "Alias",
196
+ "description": "An alias for the curve.",
197
+ "additionalProperties": false,
198
+ "properties": {
199
+ "category": {
200
+ "type": "string",
201
+ "title": "Category",
202
+ "description": "The category of the alias."
203
+ },
204
+ "name": {
205
+ "type": "string",
206
+ "title": "Name",
207
+ "description": "The name of the alias."
208
+ }
209
+ },
210
+ "required": [
211
+ "category",
212
+ "name"
213
+ ]
214
+ }
215
+ }
216
+ },
217
+ "required": [
218
+ "name",
219
+ "description",
220
+ "oid",
221
+ "form"
222
+ ]
223
+ }
224
+ }
225
+ },
226
+ "required": [
227
+ "name",
228
+ "description",
229
+ "curves"
230
+ ]
231
+ }
232
+ }
233
+ },
234
+ "required": [
235
+ "lastUpdated",
236
+ "algorithms",
237
+ "ellipticCurves"
238
+ ],
239
+ "definitions": {
240
+ "algorithmFamiliesEnum": {
241
+ "type": "string",
242
+ "title": "Algorithm Families",
243
+ "description": "An enum for the algorithm families.",
244
+ "enum": [
245
+ "3DES",
246
+ "3GPP-XOR",
247
+ "A5/1",
248
+ "A5/2",
249
+ "AES",
250
+ "ARIA",
251
+ "Ascon",
252
+ "BLAKE2",
253
+ "BLAKE3",
254
+ "BLS",
255
+ "Blowfish",
256
+ "CAMELLIA",
257
+ "CAST5",
258
+ "CAST6",
259
+ "CMAC",
260
+ "CMEA",
261
+ "ChaCha",
262
+ "ChaCha20",
263
+ "DES",
264
+ "DSA",
265
+ "ECDH",
266
+ "ECDSA",
267
+ "ECIES",
268
+ "EdDSA",
269
+ "ElGamal",
270
+ "FFDH",
271
+ "Fortuna",
272
+ "GOST",
273
+ "HC",
274
+ "HKDF",
275
+ "HMAC",
276
+ "IDEA",
277
+ "IKE-PRF",
278
+ "KMAC",
279
+ "LMS",
280
+ "MD2",
281
+ "MD4",
282
+ "MD5",
283
+ "MILENAGE",
284
+ "ML-DSA",
285
+ "ML-KEM",
286
+ "MQV",
287
+ "PBES1",
288
+ "PBES2",
289
+ "PBKDF1",
290
+ "PBKDF2",
291
+ "PBMAC1",
292
+ "Poly1305",
293
+ "RABBIT",
294
+ "RC2",
295
+ "RC4",
296
+ "RC5",
297
+ "RC6",
298
+ "RIPEMD",
299
+ "RSAES-OAEP",
300
+ "RSAES-PKCS1",
301
+ "RSASSA-PKCS1",
302
+ "RSASSA-PSS",
303
+ "SEED",
304
+ "SHA-1",
305
+ "SHA-2",
306
+ "SHA-3",
307
+ "SLH-DSA",
308
+ "SNOW3G",
309
+ "SP800-108",
310
+ "Salsa20",
311
+ "Serpent",
312
+ "SipHash",
313
+ "Skipjack",
314
+ "TUAK",
315
+ "Twofish",
316
+ "Whirlpool",
317
+ "X3DH",
318
+ "XMSS",
319
+ "Yarrow",
320
+ "ZUC",
321
+ "bcrypt"
322
+ ]
323
+ },
324
+ "ellipticCurvesEnum": {
325
+ "type": "string",
326
+ "enum": [
327
+ "anssi/FRP256v1",
328
+ "bls/BLS12-377",
329
+ "bls/BLS12-381",
330
+ "bls/BLS12-446",
331
+ "bls/BLS12-455",
332
+ "bls/BLS12-638",
333
+ "bls/BLS24-477",
334
+ "bls/Bandersnatch",
335
+ "bn/bn158",
336
+ "bn/bn190",
337
+ "bn/bn222",
338
+ "bn/bn254",
339
+ "bn/bn286",
340
+ "bn/bn318",
341
+ "bn/bn350",
342
+ "bn/bn382",
343
+ "bn/bn414",
344
+ "bn/bn446",
345
+ "bn/bn478",
346
+ "bn/bn510",
347
+ "bn/bn542",
348
+ "bn/bn574",
349
+ "bn/bn606",
350
+ "bn/bn638",
351
+ "brainpool/brainpoolP160r1",
352
+ "brainpool/brainpoolP160t1",
353
+ "brainpool/brainpoolP192r1",
354
+ "brainpool/brainpoolP192t1",
355
+ "brainpool/brainpoolP224r1",
356
+ "brainpool/brainpoolP224t1",
357
+ "brainpool/brainpoolP256r1",
358
+ "brainpool/brainpoolP256t1",
359
+ "brainpool/brainpoolP320r1",
360
+ "brainpool/brainpoolP320t1",
361
+ "brainpool/brainpoolP384r1",
362
+ "brainpool/brainpoolP384t1",
363
+ "brainpool/brainpoolP512r1",
364
+ "brainpool/brainpoolP512t1",
365
+ "gost/gost256",
366
+ "gost/gost512",
367
+ "gost/id-GostR3410-2001-CryptoPro-A-ParamSet",
368
+ "gost/id-GostR3410-2001-CryptoPro-B-ParamSet",
369
+ "gost/id-GostR3410-2001-CryptoPro-C-ParamSet",
370
+ "gost/id-tc26-gost-3410-12-512-paramSetA",
371
+ "gost/id-tc26-gost-3410-12-512-paramSetB",
372
+ "gost/id-tc26-gost-3410-2012-256-paramSetA",
373
+ "gost/id-tc26-gost-3410-2012-512-paramSetC",
374
+ "mnt/mnt1",
375
+ "mnt/mnt2/1",
376
+ "mnt/mnt2/2",
377
+ "mnt/mnt3/1",
378
+ "mnt/mnt3/2",
379
+ "mnt/mnt3/3",
380
+ "mnt/mnt4",
381
+ "mnt/mnt5/1",
382
+ "mnt/mnt5/2",
383
+ "mnt/mnt5/3",
384
+ "nist/B-163",
385
+ "nist/B-233",
386
+ "nist/B-283",
387
+ "nist/B-409",
388
+ "nist/B-571",
389
+ "nist/K-163",
390
+ "nist/K-233",
391
+ "nist/K-283",
392
+ "nist/K-409",
393
+ "nist/K-571",
394
+ "nist/P-192",
395
+ "nist/P-224",
396
+ "nist/P-256",
397
+ "nist/P-384",
398
+ "nist/P-521",
399
+ "nums/ed-254-mont",
400
+ "nums/ed-255-mers",
401
+ "nums/ed-256-mont",
402
+ "nums/ed-382-mont",
403
+ "nums/ed-383-mers",
404
+ "nums/ed-384-mont",
405
+ "nums/ed-510-mont",
406
+ "nums/ed-511-mers",
407
+ "nums/ed-512-mont",
408
+ "nums/numsp256d1",
409
+ "nums/numsp256t1",
410
+ "nums/numsp384d1",
411
+ "nums/numsp384t1",
412
+ "nums/numsp512d1",
413
+ "nums/numsp512t1",
414
+ "nums/w-254-mont",
415
+ "nums/w-255-mers",
416
+ "nums/w-256-mont",
417
+ "nums/w-382-mont",
418
+ "nums/w-383-mers",
419
+ "nums/w-384-mont",
420
+ "nums/w-510-mont",
421
+ "nums/w-511-mers",
422
+ "nums/w-512-mont",
423
+ "oakley/192-bit Random ECP Group",
424
+ "oakley/224-bit Random ECP Group",
425
+ "oakley/256-bit Random ECP Group",
426
+ "oakley/384-bit Random ECP Group",
427
+ "oakley/521-bit Random ECP Group",
428
+ "oakley/Oakley Group 3",
429
+ "oakley/Oakley Group 4",
430
+ "oscaa/SM2",
431
+ "other/BADA55-R-256",
432
+ "other/BADA55-VPR-224",
433
+ "other/BADA55-VPR2-224",
434
+ "other/BADA55-VR-224",
435
+ "other/BADA55-VR-256",
436
+ "other/BADA55-VR-384",
437
+ "other/Curve1174",
438
+ "other/Curve22103",
439
+ "other/Curve25519",
440
+ "other/Curve383187",
441
+ "other/Curve41417",
442
+ "other/Curve4417",
443
+ "other/Curve448",
444
+ "other/Curve67254",
445
+ "other/E-222",
446
+ "other/E-382",
447
+ "other/E-521",
448
+ "other/Ed25519",
449
+ "other/Ed448",
450
+ "other/Ed448-Goldilocks",
451
+ "other/FourQ",
452
+ "other/Fp224BN",
453
+ "other/Fp254BNa",
454
+ "other/Fp254BNb",
455
+ "other/Fp254n2BNa",
456
+ "other/Fp256BN",
457
+ "other/Fp384BN",
458
+ "other/Fp512BN",
459
+ "other/JubJub",
460
+ "other/M-221",
461
+ "other/M-383",
462
+ "other/M-511",
463
+ "other/MDC201601",
464
+ "other/Pallas",
465
+ "other/Tom-256",
466
+ "other/Tom-384",
467
+ "other/Tom-521",
468
+ "other/Tweedledee",
469
+ "other/Tweedledum",
470
+ "other/Vesta",
471
+ "other/ssc-160",
472
+ "other/ssc-192",
473
+ "other/ssc-224",
474
+ "other/ssc-256",
475
+ "other/ssc-288",
476
+ "other/ssc-320",
477
+ "other/ssc-384",
478
+ "other/ssc-512",
479
+ "secg/secp112r1",
480
+ "secg/secp112r2",
481
+ "secg/secp128r1",
482
+ "secg/secp128r2",
483
+ "secg/secp160k1",
484
+ "secg/secp160r1",
485
+ "secg/secp160r2",
486
+ "secg/secp192k1",
487
+ "secg/secp192r1",
488
+ "secg/secp224k1",
489
+ "secg/secp224r1",
490
+ "secg/secp256k1",
491
+ "secg/secp256r1",
492
+ "secg/secp384r1",
493
+ "secg/secp521r1",
494
+ "secg/sect113r1",
495
+ "secg/sect113r2",
496
+ "secg/sect131r1",
497
+ "secg/sect131r2",
498
+ "secg/sect163k1",
499
+ "secg/sect163r1",
500
+ "secg/sect163r2",
501
+ "secg/sect193r1",
502
+ "secg/sect193r2",
503
+ "secg/sect233k1",
504
+ "secg/sect233r1",
505
+ "secg/sect239k1",
506
+ "secg/sect283k1",
507
+ "secg/sect283r1",
508
+ "secg/sect409k1",
509
+ "secg/sect409r1",
510
+ "secg/sect571k1",
511
+ "secg/sect571r1",
512
+ "wtls/wap-wsg-idm-ecid-wtls1",
513
+ "wtls/wap-wsg-idm-ecid-wtls10",
514
+ "wtls/wap-wsg-idm-ecid-wtls11",
515
+ "wtls/wap-wsg-idm-ecid-wtls12",
516
+ "wtls/wap-wsg-idm-ecid-wtls3",
517
+ "wtls/wap-wsg-idm-ecid-wtls4",
518
+ "wtls/wap-wsg-idm-ecid-wtls5",
519
+ "wtls/wap-wsg-idm-ecid-wtls6",
520
+ "wtls/wap-wsg-idm-ecid-wtls7",
521
+ "wtls/wap-wsg-idm-ecid-wtls8",
522
+ "wtls/wap-wsg-idm-ecid-wtls9",
523
+ "x962/c2onb191v4",
524
+ "x962/c2onb191v5",
525
+ "x962/c2onb239v4",
526
+ "x962/c2onb239v5",
527
+ "x962/c2pnb163v1",
528
+ "x962/c2pnb163v2",
529
+ "x962/c2pnb163v3",
530
+ "x962/c2pnb176w1",
531
+ "x962/c2pnb208w1",
532
+ "x962/c2pnb272w1",
533
+ "x962/c2pnb304w1",
534
+ "x962/c2pnb368w1",
535
+ "x962/c2tnb191v1",
536
+ "x962/c2tnb191v2",
537
+ "x962/c2tnb191v3",
538
+ "x962/c2tnb239v1",
539
+ "x962/c2tnb239v2",
540
+ "x962/c2tnb239v3",
541
+ "x962/c2tnb359v1",
542
+ "x962/c2tnb431r1",
543
+ "x962/prime192v1",
544
+ "x962/prime192v2",
545
+ "x962/prime192v3",
546
+ "x962/prime239v1",
547
+ "x962/prime239v2",
548
+ "x962/prime239v3",
549
+ "x962/prime256v1",
550
+ "x963/ansip160k1",
551
+ "x963/ansip160r1",
552
+ "x963/ansip160r2",
553
+ "x963/ansip192k1",
554
+ "x963/ansip224k1",
555
+ "x963/ansip224r1",
556
+ "x963/ansip256k1",
557
+ "x963/ansip384r1",
558
+ "x963/ansip521r1",
559
+ "x963/ansit163k1",
560
+ "x963/ansit163r1",
561
+ "x963/ansit163r2",
562
+ "x963/ansit193r1",
563
+ "x963/ansit193r2",
564
+ "x963/ansit233k1",
565
+ "x963/ansit233r1",
566
+ "x963/ansit239k1",
567
+ "x963/ansit283k1",
568
+ "x963/ansit283r1",
569
+ "x963/ansit409k1",
570
+ "x963/ansit409r1",
571
+ "x963/ansit571k1",
572
+ "x963/ansit571r1"
573
+ ]
574
+ }
575
+ }
576
+ }
@@ -62,6 +62,7 @@ export abstract class SortableSet<TItem> extends Set<TItem> implements SortableI
62
62
  }
63
63
 
64
64
  // it was asserted, that both lists have equal length -> zip-like compare
65
+ /* eslint-disable-next-line no-plusplus -- ack */
65
66
  for (let i = sortedSelf.length - 1; i >= 0; --i) {
66
67
  const iCompared = this[compareObjectsSymbol](sortedSelf[i], sortedOther[i])
67
68
  if (iCompared !== 0) {
@@ -47,7 +47,7 @@ export function escapeUri<T extends (string | undefined)> (value: T): T {
47
47
  }
48
48
  for (const [s, r] of _ESCAPES) {
49
49
  /* @ts-expect-error -- TS does not properly detect that value is to be forced as string, here */
50
- value = value.replace(s, r)
50
+ value = value.replace(s, r) /* eslint-disable-line no-param-reassign -- ack */
51
51
  }
52
52
  return value
53
53
  }
@@ -60,6 +60,10 @@ export enum ExternalReferenceType {
60
60
  ElectronicSignature = 'electronic-signature',
61
61
  DigitalSignature = 'digital-signature',
62
62
  RFC9116 = 'rfc-9116',
63
+ Citation = 'citation',
64
+ Patent = 'patent',
65
+ PatentAssertion = 'patent-assertion',
66
+ PatentFamily = 'patent-family',
63
67
 
64
68
  // --
65
69
 
@@ -30,4 +30,6 @@ export enum HashAlgorithm {
30
30
  'BLAKE2b-384' = 'BLAKE2b-384',
31
31
  'BLAKE2b-512' = 'BLAKE2b-512',
32
32
  BLAKE3 = 'BLAKE3',
33
+ 'Streebog-256' = 'Streebog-256',
34
+ 'Streebog-512' = 'Streebog-512',
33
35
  }
@@ -158,6 +158,7 @@ export class PackageUrlFactory extends PlainPackageUrlFactory<'npm'> {
158
158
  * - "checksum" is stripped, unless a "download_url" or "vcs_url" is given.
159
159
  */
160
160
  #finalizeQualifiers(purl: PackageURL): PackageURL {
161
+ /* eslint-disable no-param-reassign -- intended */
161
162
  const qualifiers = new Map(Object.entries(purl.qualifiers ?? {}))
162
163
 
163
164
  const downloadUrl = qualifiers.get(PurlQualifierNames.DownloadUrl)
@@ -180,5 +181,6 @@ export class PackageUrlFactory extends PlainPackageUrlFactory<'npm'> {
180
181
  }
181
182
 
182
183
  return purl
184
+ /* eslint-enable no-param-reassign */
183
185
  }
184
186
  }
@@ -31,6 +31,7 @@ export const SCHEMA_ROOT = resolve(ROOT, 'schema')
31
31
  export const FILES = Object.freeze({
32
32
  CDX: Object.freeze({
33
33
  XML_SCHEMA: Object.freeze({
34
+ [Version.v1dot7]: resolve(SCHEMA_ROOT, 'bom-1.7.SNAPSHOT.xsd'),
34
35
  [Version.v1dot6]: resolve(SCHEMA_ROOT, 'bom-1.6.SNAPSHOT.xsd'),
35
36
  [Version.v1dot5]: resolve(SCHEMA_ROOT, 'bom-1.5.SNAPSHOT.xsd'),
36
37
  [Version.v1dot4]: resolve(SCHEMA_ROOT, 'bom-1.4.SNAPSHOT.xsd'),
@@ -41,6 +42,7 @@ export const FILES = Object.freeze({
41
42
 
42
43
  }),
43
44
  JSON_SCHEMA: Object.freeze({
45
+ [Version.v1dot7]: resolve(SCHEMA_ROOT, 'bom-1.7.SNAPSHOT.schema.json'),
44
46
  [Version.v1dot6]: resolve(SCHEMA_ROOT, 'bom-1.6.SNAPSHOT.schema.json'),
45
47
  [Version.v1dot5]: resolve(SCHEMA_ROOT, 'bom-1.5.SNAPSHOT.schema.json'),
46
48
  [Version.v1dot4]: resolve(SCHEMA_ROOT, 'bom-1.4.SNAPSHOT.schema.json'),
@@ -51,6 +53,7 @@ export const FILES = Object.freeze({
51
53
  [Version.v1dot0]: undefined
52
54
  }),
53
55
  JSON_STRICT_SCHEMA: Object.freeze({
56
+ [Version.v1dot7]: resolve(SCHEMA_ROOT, 'bom-1.7.SNAPSHOT.schema.json'),
54
57
  [Version.v1dot6]: resolve(SCHEMA_ROOT, 'bom-1.6.SNAPSHOT.schema.json'),
55
58
  [Version.v1dot5]: resolve(SCHEMA_ROOT, 'bom-1.5.SNAPSHOT.schema.json'),
56
59
  [Version.v1dot4]: resolve(SCHEMA_ROOT, 'bom-1.4.SNAPSHOT.schema.json'),
@@ -66,6 +69,9 @@ export const FILES = Object.freeze({
66
69
  XML_SCHEMA: resolve(SCHEMA_ROOT, 'spdx.SNAPSHOT.xsd'),
67
70
  JSON_SCHEMA: resolve(SCHEMA_ROOT, 'spdx.SNAPSHOT.schema.json')
68
71
  }),
72
+ CryptoDefs: Object.freeze({
73
+ JSON_SCHEMA: resolve(SCHEMA_ROOT, 'cryptography-defs.SNAPSHOT.schema.json')
74
+ }),
69
75
  JSF: Object.freeze({
70
76
  JSON_SCHEMA: resolve(SCHEMA_ROOT, 'jsf-0.82.SNAPSHOT.schema.json')
71
77
  })
@@ -157,6 +157,7 @@ export class Factory {
157
157
  }
158
158
 
159
159
  const schemaUrl: ReadonlyMap<SpecVersion, string> = new Map([
160
+ [SpecVersion.v1dot7, 'http://cyclonedx.org/schema/bom-1.7.schema.json'],
160
161
  [SpecVersion.v1dot6, 'http://cyclonedx.org/schema/bom-1.6.schema.json'],
161
162
  [SpecVersion.v1dot5, 'http://cyclonedx.org/schema/bom-1.5.schema.json'],
162
163
  [SpecVersion.v1dot4, 'http://cyclonedx.org/schema/bom-1.4.schema.json'],
@@ -160,6 +160,7 @@ export class Factory {
160
160
  }
161
161
 
162
162
  const xmlNamespace: ReadonlyMap<SpecVersion, string> = new Map([
163
+ [SpecVersion.v1dot7, 'http://cyclonedx.org/schema/bom/1.7'],
163
164
  [SpecVersion.v1dot6, 'http://cyclonedx.org/schema/bom/1.6'],
164
165
  [SpecVersion.v1dot5, 'http://cyclonedx.org/schema/bom/1.5'],
165
166
  [SpecVersion.v1dot4, 'http://cyclonedx.org/schema/bom/1.4'],