@tracepass/dpp-schemas 0.5.0 → 1.0.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.
- package/index.json +47 -36
- package/instruments.json +27 -1
- package/package.json +2 -2
- package/schema.json +27 -1
- package/templates/construction.json +122 -77
- package/templates/{chemicals.json → detergents.json} +6274 -8302
- package/templates/electronics.json +325 -222
- package/templates/fmcg.json +13 -7
- package/templates/furniture.json +243 -111
- package/templates/jewelry.json +1132 -31
- package/templates/packaging.json +91 -60
- package/templates/paints-coatings.json +9161 -0
- package/templates/steel.json +2 -2
- package/templates/textile.json +32 -25
- package/templates/toys.json +8 -10
- package/templates/tyres.json +314 -221
package/index.json
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"url": "https://www.tracepass.eu"
|
|
7
7
|
},
|
|
8
8
|
"totals": {
|
|
9
|
-
"categories":
|
|
10
|
-
"fields":
|
|
11
|
-
"requiredFields":
|
|
12
|
-
"anticipatedFields":
|
|
9
|
+
"categories": 13,
|
|
10
|
+
"fields": 1004,
|
|
11
|
+
"requiredFields": 190,
|
|
12
|
+
"anticipatedFields": 214
|
|
13
13
|
},
|
|
14
14
|
"categories": [
|
|
15
15
|
{
|
|
@@ -27,30 +27,13 @@
|
|
|
27
27
|
"mandatoryDate": "2027-02-18"
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
{
|
|
31
|
-
"category": "chemicals",
|
|
32
|
-
"label": "Chemicals & Paints",
|
|
33
|
-
"file": "templates/chemicals.json",
|
|
34
|
-
"version": 2,
|
|
35
|
-
"fieldCount": 98,
|
|
36
|
-
"requiredFieldCount": 28,
|
|
37
|
-
"anticipatedFieldCount": 17,
|
|
38
|
-
"regulation": {
|
|
39
|
-
"name": "EU ESPR - Chemicals",
|
|
40
|
-
"number": "(EU) 2024/1781",
|
|
41
|
-
"effectiveDate": "2029-09-01",
|
|
42
|
-
"datePrecision": "year",
|
|
43
|
-
"mandatoryDate": "2029-09-01",
|
|
44
|
-
"mandatoryDatePrecision": "year"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
30
|
{
|
|
48
31
|
"category": "construction",
|
|
49
32
|
"label": "Construction Materials",
|
|
50
33
|
"file": "templates/construction.json",
|
|
51
34
|
"version": 2,
|
|
52
35
|
"fieldCount": 49,
|
|
53
|
-
"requiredFieldCount":
|
|
36
|
+
"requiredFieldCount": 4,
|
|
54
37
|
"anticipatedFieldCount": 0,
|
|
55
38
|
"regulation": {
|
|
56
39
|
"name": "Construction Products Regulation",
|
|
@@ -61,13 +44,28 @@
|
|
|
61
44
|
"mandatoryDatePrecision": "year"
|
|
62
45
|
}
|
|
63
46
|
},
|
|
47
|
+
{
|
|
48
|
+
"category": "detergents",
|
|
49
|
+
"label": "Detergents & Surfactants",
|
|
50
|
+
"file": "templates/detergents.json",
|
|
51
|
+
"version": 1,
|
|
52
|
+
"fieldCount": 87,
|
|
53
|
+
"requiredFieldCount": 28,
|
|
54
|
+
"anticipatedFieldCount": 17,
|
|
55
|
+
"regulation": {
|
|
56
|
+
"name": "Detergents Regulation",
|
|
57
|
+
"number": "(EU) 2026/405",
|
|
58
|
+
"effectiveDate": "2029-09-23",
|
|
59
|
+
"mandatoryDate": "2029-09-23"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
64
62
|
{
|
|
65
63
|
"category": "electronics",
|
|
66
64
|
"label": "Electronics",
|
|
67
65
|
"file": "templates/electronics.json",
|
|
68
66
|
"version": 2,
|
|
69
67
|
"fieldCount": 167,
|
|
70
|
-
"requiredFieldCount":
|
|
68
|
+
"requiredFieldCount": 4,
|
|
71
69
|
"anticipatedFieldCount": 20,
|
|
72
70
|
"regulation": {
|
|
73
71
|
"name": "EU ESPR - Electronics",
|
|
@@ -84,8 +82,8 @@
|
|
|
84
82
|
"file": "templates/fmcg.json",
|
|
85
83
|
"version": 2,
|
|
86
84
|
"fieldCount": 42,
|
|
87
|
-
"requiredFieldCount":
|
|
88
|
-
"anticipatedFieldCount":
|
|
85
|
+
"requiredFieldCount": 9,
|
|
86
|
+
"anticipatedFieldCount": 6,
|
|
89
87
|
"regulation": {
|
|
90
88
|
"name": "EU ESPR - FMCG",
|
|
91
89
|
"number": "(EU) 2024/1781",
|
|
@@ -101,7 +99,7 @@
|
|
|
101
99
|
"file": "templates/furniture.json",
|
|
102
100
|
"version": 2,
|
|
103
101
|
"fieldCount": 79,
|
|
104
|
-
"requiredFieldCount":
|
|
102
|
+
"requiredFieldCount": 4,
|
|
105
103
|
"anticipatedFieldCount": 26,
|
|
106
104
|
"regulation": {
|
|
107
105
|
"name": "EU ESPR - Furniture",
|
|
@@ -117,8 +115,8 @@
|
|
|
117
115
|
"label": "Jewelry & Precious Metals",
|
|
118
116
|
"file": "templates/jewelry.json",
|
|
119
117
|
"version": 2,
|
|
120
|
-
"fieldCount":
|
|
121
|
-
"requiredFieldCount":
|
|
118
|
+
"fieldCount": 53,
|
|
119
|
+
"requiredFieldCount": 3,
|
|
122
120
|
"anticipatedFieldCount": 10,
|
|
123
121
|
"regulation": {
|
|
124
122
|
"name": "EU ESPR - Jewelry",
|
|
@@ -146,6 +144,21 @@
|
|
|
146
144
|
"mandatoryDatePrecision": "year"
|
|
147
145
|
}
|
|
148
146
|
},
|
|
147
|
+
{
|
|
148
|
+
"category": "paints-coatings",
|
|
149
|
+
"label": "Paints & Coatings",
|
|
150
|
+
"file": "templates/paints-coatings.json",
|
|
151
|
+
"version": 1,
|
|
152
|
+
"fieldCount": 75,
|
|
153
|
+
"requiredFieldCount": 25,
|
|
154
|
+
"anticipatedFieldCount": 12,
|
|
155
|
+
"regulation": {
|
|
156
|
+
"name": "Decopaint Directive",
|
|
157
|
+
"number": "2004/42/EC",
|
|
158
|
+
"effectiveDate": "2010-01-01",
|
|
159
|
+
"mandatoryDate": "2010-01-01"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
149
162
|
{
|
|
150
163
|
"category": "steel",
|
|
151
164
|
"label": "Iron, Steel & Aluminium",
|
|
@@ -169,7 +182,7 @@
|
|
|
169
182
|
"file": "templates/textile.json",
|
|
170
183
|
"version": 2,
|
|
171
184
|
"fieldCount": 60,
|
|
172
|
-
"requiredFieldCount":
|
|
185
|
+
"requiredFieldCount": 5,
|
|
173
186
|
"anticipatedFieldCount": 32,
|
|
174
187
|
"regulation": {
|
|
175
188
|
"name": "EU ESPR - Textiles",
|
|
@@ -189,12 +202,10 @@
|
|
|
189
202
|
"requiredFieldCount": 14,
|
|
190
203
|
"anticipatedFieldCount": 8,
|
|
191
204
|
"regulation": {
|
|
192
|
-
"name": "
|
|
193
|
-
"number": "(EU)
|
|
194
|
-
"effectiveDate": "2030-
|
|
195
|
-
"
|
|
196
|
-
"mandatoryDate": "2030-01-01",
|
|
197
|
-
"mandatoryDatePrecision": "year"
|
|
205
|
+
"name": "Toy Safety Regulation",
|
|
206
|
+
"number": "(EU) 2025/2509",
|
|
207
|
+
"effectiveDate": "2030-08-01",
|
|
208
|
+
"mandatoryDate": "2030-08-01"
|
|
198
209
|
}
|
|
199
210
|
},
|
|
200
211
|
{
|
|
@@ -203,7 +214,7 @@
|
|
|
203
214
|
"file": "templates/tyres.json",
|
|
204
215
|
"version": 2,
|
|
205
216
|
"fieldCount": 95,
|
|
206
|
-
"requiredFieldCount":
|
|
217
|
+
"requiredFieldCount": 2,
|
|
207
218
|
"anticipatedFieldCount": 27,
|
|
208
219
|
"regulation": {
|
|
209
220
|
"name": "EU ESPR - Tyres",
|
package/instruments.json
CHANGED
|
@@ -124,7 +124,9 @@
|
|
|
124
124
|
"title": "Regulation (EU) 2025/2509 on the safety of toys",
|
|
125
125
|
"eli": "http://data.europa.eu/eli/reg/2025/2509/oj",
|
|
126
126
|
"createsDpp": true,
|
|
127
|
-
"note": "In force 1 Jan 2026, applies
|
|
127
|
+
"note": "In force 1 Jan 2026 for the notified-body articles (28-44, 49-55); the Regulation applies from 1 Aug 2030. The toy DPP REPLACES the EU declaration of conformity under Directive 2009/48/EC. This — not ESPR — is the source of the toy passport. The Directive remains the operative product-requirement instrument until then and creates no passport.",
|
|
128
|
+
"dppMandatoryFrom": "2030-08-01",
|
|
129
|
+
"dppProvision": "Art. 20 (DPP) — applies with the Regulation from 1 Aug 2030"
|
|
128
130
|
},
|
|
129
131
|
"32011R1007": {
|
|
130
132
|
"kind": "legislation",
|
|
@@ -259,6 +261,30 @@
|
|
|
259
261
|
"eli": "http://data.europa.eu/eli/reg/2023/1670/oj",
|
|
260
262
|
"createsDpp": false,
|
|
261
263
|
"note": "Under the OLD Ecodesign Directive 2009/125/EC, not ESPR. Real durability/repairability/spare-parts obligations for smartphones and tablets, but no Digital Product Passport."
|
|
264
|
+
},
|
|
265
|
+
"32019R0424": {
|
|
266
|
+
"kind": "legislation",
|
|
267
|
+
"shortName": "Server & Data Storage Ecodesign",
|
|
268
|
+
"title": "Commission Regulation (EU) 2019/424 laying down ecodesign requirements for servers and data storage products",
|
|
269
|
+
"eli": "http://data.europa.eu/eli/reg/2019/424/oj",
|
|
270
|
+
"createsDpp": false,
|
|
271
|
+
"note": "Adopted under the repealed Directive 2009/125/EC and KEPT IN FORCE by ESPR Art. 79 until repealed or replaced by an ESPR delegated act. Source of the PSU efficiency load points (10/20/50/100 % of rated output), power factor, idle-state power and server product-type parameters. Not a passport instrument."
|
|
272
|
+
},
|
|
273
|
+
"32013R0952": {
|
|
274
|
+
"kind": "legislation",
|
|
275
|
+
"shortName": "Union Customs Code",
|
|
276
|
+
"title": "Regulation (EU) No 952/2013 laying down the Union Customs Code",
|
|
277
|
+
"eli": "http://data.europa.eu/eli/reg/2013/952/oj",
|
|
278
|
+
"createsDpp": false,
|
|
279
|
+
"note": "Source of non-preferential origin rules (Arts. 59-63) — the basis for a country-of-origin field. Not a passport instrument."
|
|
280
|
+
},
|
|
281
|
+
"31987R2658": {
|
|
282
|
+
"kind": "legislation",
|
|
283
|
+
"shortName": "Combined Nomenclature",
|
|
284
|
+
"title": "Council Regulation (EEC) No 2658/87 on the tariff and statistical nomenclature and on the Common Customs Tariff",
|
|
285
|
+
"eli": "http://data.europa.eu/eli/reg/1987/2658/oj",
|
|
286
|
+
"createsDpp": false,
|
|
287
|
+
"note": "Annex I is the CN/TARIC commodity-code list. Both ESPR Art. 8(a) and Detergents Annex VI Part A(f) require the commodity code by reference to it. Not a passport instrument."
|
|
262
288
|
}
|
|
263
289
|
},
|
|
264
290
|
"nonLegislative": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tracepass/dpp-schemas",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Machine-readable field specifications for EU Digital Product Passports (ESPR)
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Machine-readable field specifications for EU Digital Product Passports (ESPR) — 13 product categories, 1004 fields, each traced to the article of EU law that mandates it. Pure JSON, no dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"digital-product-passport",
|
|
7
7
|
"dpp",
|
package/schema.json
CHANGED
|
@@ -544,7 +544,33 @@
|
|
|
544
544
|
}
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
|
-
}
|
|
547
|
+
},
|
|
548
|
+
"allOf": [
|
|
549
|
+
{
|
|
550
|
+
"$comment": "Options and dataType must agree. Options on a non-enum field are inert: they render in the CSV template and the picker while nothing validates against them. toys.recyclabilityAssessment shipped for several releases with a full enumOptions set and dataType 'object' — this schema passed it every time, and only the platform's own enum-integrity test caught it.",
|
|
551
|
+
"if": {
|
|
552
|
+
"properties": {
|
|
553
|
+
"enumOptions": {
|
|
554
|
+
"type": "array",
|
|
555
|
+
"minItems": 1
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
"required": [
|
|
559
|
+
"enumOptions"
|
|
560
|
+
]
|
|
561
|
+
},
|
|
562
|
+
"then": {
|
|
563
|
+
"properties": {
|
|
564
|
+
"dataType": {
|
|
565
|
+
"enum": [
|
|
566
|
+
"enum",
|
|
567
|
+
"multi_enum"
|
|
568
|
+
]
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
]
|
|
548
574
|
}
|
|
549
575
|
}
|
|
550
576
|
}
|