Skip to content

Commit f8f477b

Browse files
committedJan 27, 2025
feat(config): enable frontend CRD validation
1 parent 1f9fe0f commit f8f477b

10 files changed

+860
-3
lines changed
 

‎package-lock.json

+14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/config-utils/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
},
2626
"dependencies": {
2727
"@openshift/dynamic-plugin-sdk-webpack": "^4.0.1",
28+
"ajv": "^8.17.1",
2829
"chalk": "^4.1.2",
30+
"js-yaml": "^4.1.0",
2931
"node-fetch": "2.6.7"
3032
},
3133
"devDependencies": {

‎packages/config-utils/src/feo/crd-check.ts

+8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
import { readFileSync } from 'fs';
22
import { load } from 'js-yaml';
33
import { FrontendCRD } from './feo-types';
4+
import validateFrontendCrd from './validate-frontend-crd';
5+
import fecLogger, { LogType } from '../fec-logger';
46

57
export function readFrontendCRD(crdPath: string): FrontendCRD {
68
try {
79
const file = readFileSync(crdPath, 'utf8');
810
const crd = load(file) as FrontendCRD;
11+
try {
12+
validateFrontendCrd(crd);
13+
} catch (error) {
14+
// log only warning for dev server
15+
fecLogger(LogType.warn, error);
16+
}
917
return crd;
1018
} catch (error) {
1119
throw new Error(`Error reading frontend CRD at ${crdPath}: ${error}`);

0 commit comments

Comments
 (0)