refactor: validate generated evidence artifacts

This commit is contained in:
DongHyeonka
2026-08-02 04:33:01 +09:00
parent 2c3cab2518
commit c9f5887cac
18 changed files with 1874 additions and 320 deletions
@@ -1,31 +1,49 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://clean-architecture-frontend.local/schemas/dependency-inventory.schema.json",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"packageManager",
"lockfileSha256",
"dependencyCount",
"directDependencyCount",
"dependencies"
],
"properties": {
"schemaVersion": { "const": 2 },
"packageManager": { "type": "string", "minLength": 1 },
"lockfileSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"dependencyCount": { "type": "integer", "minimum": 1 },
"directDependencyCount": { "type": "integer", "minimum": 1 },
"dependencies": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"direct": {
"type": "boolean"
},
"integrity": {
"pattern": "^sha512-",
"type": "string"
},
"license": {
"minLength": 1,
"type": "string"
},
"name": {
"minLength": 1,
"type": "string"
},
"optional": {
"type": "boolean"
},
"scope": {
"enum": [
"production",
"development"
],
"type": "string"
},
"version": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"version",
@@ -36,25 +54,40 @@
"integrity",
"dependencies"
],
"properties": {
"name": { "type": "string", "minLength": 1 },
"version": { "type": "string", "minLength": 1 },
"direct": { "type": "boolean" },
"scope": {
"enum": ["production", "development"]
},
"optional": { "type": "boolean" },
"license": { "type": "string", "minLength": 1 },
"integrity": {
"type": "string",
"pattern": "^sha512-"
},
"dependencies": {
"type": "array",
"items": { "type": "string", "minLength": 1 }
}
}
}
"type": "object"
},
"type": "array"
},
"dependencyCount": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"directDependencyCount": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"lockfileSha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"packageManager": {
"minLength": 1,
"type": "string"
},
"schemaVersion": {
"const": 2,
"type": "number"
}
}
},
"required": [
"schemaVersion",
"packageManager",
"lockfileSha256",
"dependencyCount",
"directDependencyCount",
"dependencies"
],
"type": "object"
}