@monokle/validation
Advanced tools
Comparing version 0.10.2 to 0.10.3
@@ -34,31 +34,42 @@ import { paramCase, sentenceCase } from "change-case"; | ||
const { validate } = this._ruleRuntime[rule.id]; | ||
await validate({ | ||
resources: dirtyResources, | ||
allResources: resources, | ||
settings: this._settings, | ||
}, { | ||
parse: (res) => { | ||
const resource = resourceMap[res._id]; | ||
return this._parser.parse(resource).parsedDoc; | ||
}, | ||
report: (res, args) => { | ||
const resource = resourceMap[res._id]; | ||
const result = this.adaptToValidationResult(rule, resource, args); | ||
if (!result) | ||
return; | ||
results.push(result); | ||
}, | ||
getRelated: (res) => { | ||
const resource = resourceMap[res._id]; | ||
if (!resource) | ||
return []; | ||
const relatedResources = (resource?.refs ?? []) | ||
.map((ref) => ref.target?.type === "resource" | ||
? ref.target.resourceId | ||
: undefined) | ||
.filter(isDefined) | ||
.map((relatedId) => resourceMap[relatedId]); | ||
return relatedResources.map((r) => JSON.parse(JSON.stringify({ ...r.content, _id: r.id }))); | ||
}, | ||
}); | ||
try { | ||
await validate({ | ||
resources: dirtyResources, | ||
allResources: resources, | ||
settings: this._settings, | ||
}, { | ||
parse: (res) => { | ||
const resource = resourceMap[res._id]; | ||
return this._parser.parse(resource).parsedDoc; | ||
}, | ||
report: (res, args) => { | ||
const resource = resourceMap[res._id]; | ||
const result = this.adaptToValidationResult(rule, resource, args); | ||
if (!result) | ||
return; | ||
results.push(result); | ||
}, | ||
getRelated: (res) => { | ||
const resource = resourceMap[res._id]; | ||
if (!resource) | ||
return []; | ||
const relatedResources = (resource?.refs ?? []) | ||
.map((ref) => ref.target?.type === "resource" | ||
? ref.target.resourceId | ||
: undefined) | ||
.filter(isDefined) | ||
.map((relatedId) => resourceMap[relatedId]) | ||
.filter(isDefined); | ||
const result = relatedResources.map((r) => { | ||
return JSON.parse(JSON.stringify({ ...r.content, _id: r.id })); | ||
}); | ||
return result; | ||
}, | ||
}); | ||
} | ||
catch (err) { | ||
if (this._settings.debug) { | ||
console.error("rule_failed", { rule: rule.name, error: err }); | ||
} | ||
} | ||
} | ||
@@ -65,0 +76,0 @@ return results; |
{ | ||
"name": "@monokle/validation", | ||
"version": "0.10.2", | ||
"version": "0.10.3", | ||
"description": "Kubernetes resource validation", | ||
@@ -5,0 +5,0 @@ "author": "Kubeshop", |
@@ -32,3 +32,3 @@ <p align="center"> | ||
**Try the CLI now!** | ||
**Try the CLI or Monokle Cloud now!** | ||
@@ -43,2 +43,4 @@ The Monokle CLI provides a convenient wrapper around this library. Use it to validate your resources in seconds. | ||
Or [visit Monokle Cloud](https://app.monokle.com); a free web application where you can explore this validation library directly on public GitHub repositories. | ||
## Table of contents | ||
@@ -45,0 +47,0 @@ |
282349
6974
265