Compare commits
1 Commits
d48c2e9a16
..
0.1.13
| Author | SHA1 | Date | |
|---|---|---|---|
| 30070f7f9c |
@@ -9,7 +9,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||||
- name: Validate JSON
|
- name: Validate Renovate Config
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
json-file: renovate.json
|
json-file: renovate.json
|
||||||
|
|||||||
Vendored
+1
-1
@@ -22228,7 +22228,7 @@ const validateJson = async (jsonFileContent) => {
|
|||||||
const schemaUrl = new URL(schema);
|
const schemaUrl = new URL(schema);
|
||||||
const schemaText = await (await fetch(schemaUrl.toString())).text();
|
const schemaText = await (await fetch(schemaUrl.toString())).text();
|
||||||
const schemaObject = JSON.parse(schemaText);
|
const schemaObject = JSON.parse(schemaText);
|
||||||
const validator = new import_ajv.default();
|
const validator = new import_ajv.default({ strict: false });
|
||||||
if (!validator.compile(schemaObject)(jsonObject)) throw new Error(`JSON file is not valid: ${validator.errorsText()}`);
|
if (!validator.compile(schemaObject)(jsonObject)) throw new Error(`JSON file is not valid: ${validator.errorsText()}`);
|
||||||
};
|
};
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|||||||
@@ -58,10 +58,10 @@ describe("validateJson()", () => {
|
|||||||
{
|
{
|
||||||
ok: true,
|
ok: true,
|
||||||
text: async () =>
|
text: async () =>
|
||||||
JSON.stringify({
|
({
|
||||||
despiteThisBeingValidJson:
|
despiteThisBeingValidJson:
|
||||||
"toString() breaks it, making it invalid",
|
"toString() breaks it, making it invalid",
|
||||||
}),
|
}).toString(),
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ describe("validateJson()", () => {
|
|||||||
$schema: "https://json-schema.org/draft-07/schema",
|
$schema: "https://json-schema.org/draft-07/schema",
|
||||||
});
|
});
|
||||||
await expect(validateJson(jsonFile)).rejects.toThrow(
|
await expect(validateJson(jsonFile)).rejects.toThrow(
|
||||||
'strict mode: unknown keyword: "despiteThisBeingValidJson"',
|
'"[object Object]" is not valid JSON',
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -14,7 +14,9 @@ export const validateJson = async (jsonFileContent: string): Promise<void> => {
|
|||||||
const schemaText = await schemaContent.text();
|
const schemaText = await schemaContent.text();
|
||||||
const schemaObject = JSON.parse(schemaText);
|
const schemaObject = JSON.parse(schemaText);
|
||||||
|
|
||||||
const validator = new Ajv();
|
const validator = new Ajv({
|
||||||
|
strict: false,
|
||||||
|
});
|
||||||
const validate = validator.compile(schemaObject);
|
const validate = validator.compile(schemaObject);
|
||||||
const isValid = validate(jsonObject);
|
const isValid = validate(jsonObject);
|
||||||
if (!isValid) {
|
if (!isValid) {
|
||||||
|
|||||||
Reference in New Issue
Block a user