@pagopa/opex-dashboard 0.0.1 → 0.1.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.
@@ -3,7 +3,7 @@
3
3
  "$schema": "https://json-schema.org/draft/2020-12/schema",
4
4
  "description": "Configuration schema for generating operational dashboards from OpenAPI specifications",
5
5
  "title": "OpEx Dashboard Configuration",
6
- "version": "0.0.0",
6
+ "version": "0.1.0",
7
7
  "type": "object",
8
8
  "properties": {
9
9
  "action_groups": {
@@ -184,164 +184,220 @@
184
184
  },
185
185
  "terraform": {
186
186
  "description": "Optional Terraform and environment-specific configuration",
187
- "type": "object",
188
- "properties": {
189
- "environments": {
190
- "description": "Environment-specific configurations for dev/uat/prod",
187
+ "anyOf": [
188
+ {
191
189
  "type": "object",
192
190
  "properties": {
193
- "dev": {
191
+ "backend": {
192
+ "description": "Azure backend configuration for Terraform state",
194
193
  "type": "object",
195
194
  "properties": {
196
- "backend": {
197
- "description": "Azure backend configuration for Terraform state",
198
- "type": "object",
199
- "properties": {
200
- "container_name": {
201
- "description": "Blob container name for Terraform state",
202
- "type": "string"
203
- },
204
- "key": {
205
- "description": "State file key/path",
206
- "type": "string"
207
- },
208
- "resource_group_name": {
209
- "description": "Azure resource group for backend state",
210
- "type": "string"
211
- },
212
- "storage_account_name": {
213
- "description": "Storage account for Terraform state",
214
- "type": "string"
215
- }
216
- },
217
- "required": [
218
- "container_name",
219
- "key",
220
- "resource_group_name",
221
- "storage_account_name"
222
- ],
223
- "additionalProperties": false
195
+ "container_name": {
196
+ "description": "Blob container name for Terraform state",
197
+ "type": "string"
198
+ },
199
+ "key": {
200
+ "description": "State file key/path",
201
+ "type": "string"
224
202
  },
225
- "env_short": {
226
- "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
227
- "type": "string",
228
- "maxLength": 1
203
+ "resource_group_name": {
204
+ "description": "Azure resource group for backend state",
205
+ "type": "string"
229
206
  },
230
- "prefix": {
231
- "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
232
- "type": "string",
233
- "maxLength": 6
207
+ "storage_account_name": {
208
+ "description": "Storage account for Terraform state",
209
+ "type": "string"
234
210
  }
235
211
  },
236
212
  "required": [
237
- "env_short",
238
- "prefix"
213
+ "container_name",
214
+ "key",
215
+ "resource_group_name",
216
+ "storage_account_name"
239
217
  ],
240
218
  "additionalProperties": false
241
219
  },
242
- "prod": {
220
+ "env_short": {
221
+ "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
222
+ "type": "string",
223
+ "maxLength": 1
224
+ },
225
+ "prefix": {
226
+ "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
227
+ "type": "string",
228
+ "maxLength": 6
229
+ }
230
+ },
231
+ "required": [
232
+ "env_short",
233
+ "prefix"
234
+ ],
235
+ "additionalProperties": false
236
+ },
237
+ {
238
+ "type": "object",
239
+ "properties": {
240
+ "environments": {
241
+ "description": "Environment-specific configurations for dev/uat/prod",
243
242
  "type": "object",
244
243
  "properties": {
245
- "backend": {
246
- "description": "Azure backend configuration for Terraform state",
244
+ "dev": {
247
245
  "type": "object",
248
246
  "properties": {
249
- "container_name": {
250
- "description": "Blob container name for Terraform state",
251
- "type": "string"
247
+ "backend": {
248
+ "description": "Azure backend configuration for Terraform state",
249
+ "type": "object",
250
+ "properties": {
251
+ "container_name": {
252
+ "description": "Blob container name for Terraform state",
253
+ "type": "string"
254
+ },
255
+ "key": {
256
+ "description": "State file key/path",
257
+ "type": "string"
258
+ },
259
+ "resource_group_name": {
260
+ "description": "Azure resource group for backend state",
261
+ "type": "string"
262
+ },
263
+ "storage_account_name": {
264
+ "description": "Storage account for Terraform state",
265
+ "type": "string"
266
+ }
267
+ },
268
+ "required": [
269
+ "container_name",
270
+ "key",
271
+ "resource_group_name",
272
+ "storage_account_name"
273
+ ],
274
+ "additionalProperties": false
252
275
  },
253
- "key": {
254
- "description": "State file key/path",
255
- "type": "string"
276
+ "env_short": {
277
+ "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
278
+ "type": "string",
279
+ "maxLength": 1
256
280
  },
257
- "resource_group_name": {
258
- "description": "Azure resource group for backend state",
259
- "type": "string"
260
- },
261
- "storage_account_name": {
262
- "description": "Storage account for Terraform state",
263
- "type": "string"
281
+ "prefix": {
282
+ "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
283
+ "type": "string",
284
+ "maxLength": 6
264
285
  }
265
286
  },
266
287
  "required": [
267
- "container_name",
268
- "key",
269
- "resource_group_name",
270
- "storage_account_name"
288
+ "env_short",
289
+ "prefix"
271
290
  ],
272
291
  "additionalProperties": false
273
292
  },
274
- "env_short": {
275
- "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
276
- "type": "string",
277
- "maxLength": 1
278
- },
279
- "prefix": {
280
- "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
281
- "type": "string",
282
- "maxLength": 6
283
- }
284
- },
285
- "required": [
286
- "env_short",
287
- "prefix"
288
- ],
289
- "additionalProperties": false
290
- },
291
- "uat": {
292
- "type": "object",
293
- "properties": {
294
- "backend": {
295
- "description": "Azure backend configuration for Terraform state",
293
+ "prod": {
296
294
  "type": "object",
297
295
  "properties": {
298
- "container_name": {
299
- "description": "Blob container name for Terraform state",
300
- "type": "string"
296
+ "backend": {
297
+ "description": "Azure backend configuration for Terraform state",
298
+ "type": "object",
299
+ "properties": {
300
+ "container_name": {
301
+ "description": "Blob container name for Terraform state",
302
+ "type": "string"
303
+ },
304
+ "key": {
305
+ "description": "State file key/path",
306
+ "type": "string"
307
+ },
308
+ "resource_group_name": {
309
+ "description": "Azure resource group for backend state",
310
+ "type": "string"
311
+ },
312
+ "storage_account_name": {
313
+ "description": "Storage account for Terraform state",
314
+ "type": "string"
315
+ }
316
+ },
317
+ "required": [
318
+ "container_name",
319
+ "key",
320
+ "resource_group_name",
321
+ "storage_account_name"
322
+ ],
323
+ "additionalProperties": false
301
324
  },
302
- "key": {
303
- "description": "State file key/path",
304
- "type": "string"
325
+ "env_short": {
326
+ "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
327
+ "type": "string",
328
+ "maxLength": 1
305
329
  },
306
- "resource_group_name": {
307
- "description": "Azure resource group for backend state",
308
- "type": "string"
309
- },
310
- "storage_account_name": {
311
- "description": "Storage account for Terraform state",
312
- "type": "string"
330
+ "prefix": {
331
+ "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
332
+ "type": "string",
333
+ "maxLength": 6
313
334
  }
314
335
  },
315
336
  "required": [
316
- "container_name",
317
- "key",
318
- "resource_group_name",
319
- "storage_account_name"
337
+ "env_short",
338
+ "prefix"
320
339
  ],
321
340
  "additionalProperties": false
322
341
  },
323
- "env_short": {
324
- "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
325
- "type": "string",
326
- "maxLength": 1
327
- },
328
- "prefix": {
329
- "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
330
- "type": "string",
331
- "maxLength": 6
342
+ "uat": {
343
+ "type": "object",
344
+ "properties": {
345
+ "backend": {
346
+ "description": "Azure backend configuration for Terraform state",
347
+ "type": "object",
348
+ "properties": {
349
+ "container_name": {
350
+ "description": "Blob container name for Terraform state",
351
+ "type": "string"
352
+ },
353
+ "key": {
354
+ "description": "State file key/path",
355
+ "type": "string"
356
+ },
357
+ "resource_group_name": {
358
+ "description": "Azure resource group for backend state",
359
+ "type": "string"
360
+ },
361
+ "storage_account_name": {
362
+ "description": "Storage account for Terraform state",
363
+ "type": "string"
364
+ }
365
+ },
366
+ "required": [
367
+ "container_name",
368
+ "key",
369
+ "resource_group_name",
370
+ "storage_account_name"
371
+ ],
372
+ "additionalProperties": false
373
+ },
374
+ "env_short": {
375
+ "description": "Environment short name (1 char: 'd'=dev, 'u'=uat, 'p'=prod)",
376
+ "type": "string",
377
+ "maxLength": 1
378
+ },
379
+ "prefix": {
380
+ "description": "Project prefix (max 6 chars, e.g., 'io', 'pagopa')",
381
+ "type": "string",
382
+ "maxLength": 6
383
+ }
384
+ },
385
+ "required": [
386
+ "env_short",
387
+ "prefix"
388
+ ],
389
+ "additionalProperties": false
332
390
  }
333
391
  },
334
- "required": [
335
- "env_short",
336
- "prefix"
337
- ],
338
392
  "additionalProperties": false
339
393
  }
340
394
  },
395
+ "required": [
396
+ "environments"
397
+ ],
341
398
  "additionalProperties": false
342
399
  }
343
- },
344
- "additionalProperties": false
400
+ ]
345
401
  },
346
402
  "timespan": {
347
403
  "description": "Time range for dashboard queries (e.g., 5m, 1h, 24h). Default: 5m",
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "git+https://github.com/pagopa/dx.git",
6
6
  "directory": "apps/opex-dashboard"
7
7
  },
8
- "version": "0.0.1",
8
+ "version": "0.1.0",
9
9
  "description": "Generate operational dashboards from OpenAPI specifications",
10
10
  "main": "dist/index.js",
11
11
  "bin": {
@@ -21,13 +21,6 @@
21
21
  "registry": "https://registry.npmjs.org/",
22
22
  "access": "public"
23
23
  },
24
- "scripts": {
25
- "format": "prettier --write .",
26
- "format:check": "prettier --check .",
27
- "build": "tsup && tsx scripts/generate-json-schema.ts",
28
- "dev": "tsup --watch",
29
- "typecheck": "tsc --noEmit"
30
- },
31
24
  "keywords": [
32
25
  "dashboard",
33
26
  "openapi",
@@ -44,20 +37,27 @@
44
37
  "zod": "^4.1.13"
45
38
  },
46
39
  "devDependencies": {
47
- "@pagopa/eslint-config": "workspace:^",
48
- "@tsconfig/node22": "catalog:",
40
+ "@tsconfig/node22": "22.0.2",
49
41
  "@types/js-yaml": "^4.0.9",
50
- "@types/node": "catalog:",
42
+ "@types/node": "^22.19.1",
51
43
  "@types/tmp": "^0.2.6",
52
- "@vitest/coverage-v8": "catalog:",
53
- "eslint": "catalog:",
54
- "prettier": "catalog:",
55
- "tsup": "catalog:",
44
+ "@vitest/coverage-v8": "^3.2.4",
45
+ "eslint": "^9.39.2",
46
+ "prettier": "3.6.2",
47
+ "tsup": "^8.5.1",
56
48
  "tsx": "^4.21.0",
57
- "typescript": "catalog:",
58
- "vitest": "catalog:"
49
+ "typescript": "~5.8.3",
50
+ "vitest": "^3.2.4",
51
+ "@pagopa/eslint-config": "^5.1.2"
59
52
  },
60
53
  "engines": {
61
54
  "node": ">=22.0.0"
55
+ },
56
+ "scripts": {
57
+ "format": "prettier --write .",
58
+ "format:check": "prettier --check .",
59
+ "build": "tsup && tsx scripts/generate-json-schema.ts",
60
+ "dev": "tsup --watch",
61
+ "typecheck": "tsc --noEmit"
62
62
  }
63
- }
63
+ }