UNPKG

@coat/cli

Version:

TODO: See #3

1 lines 36.9 kB
"use strict";exports.validateCoatLocalLockfile = validate11;const schema12 = {"type":"object","properties":{"version":{"type":"integer","description":"The lockfile version","minimum":1},"files":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"The relative path from the coat project root directory"},"once":{"type":"boolean","const":true,"description":"Whether the file was generated only once or is continously managed"}},"required":["once","path"],"additionalProperties":{"$ref":"#/definitions/JsonValue"}},{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"The relative path from the coat project root directory"},"once":{"type":"boolean","const":false,"description":"Whether the file was generated only once or is continously managed"},"hash":{"type":"string","minLength":1,"description":"The SHA3-512 hash of the file that will be used when removing the file to verify that the content has not been modified outside of coat to prevent accidental loss of data.\n\nOnly exists for files where once = false, since files that are generated once are not updated or deleted by coat"}},"required":["hash","path"],"additionalProperties":{"$ref":"#/definitions/JsonValue"}}]}},"setup":{"type":"object","additionalProperties":{"$ref":"#/definitions/JsonObject"},"propertyNames":{"minLength":1},"description":"Local setup task results, stored as taskId: { taskResultProperty: A }"}},"required":["version"],"additionalProperties":{"$ref":"#/definitions/JsonValue"}};const schema13 = {"anyOf":[{"$ref":"#/definitions/JsonPrimitive"},{"$ref":"#/definitions/JsonObject"},{"$ref":"#/definitions/JsonArray"}],"description":"Matches any valid JSON value."};const schema14 = {"type":["string","number","boolean","null"],"description":"Matches any valid JSON primitive value."};const schema15 = {"type":"object","additionalProperties":{"$ref":"#/definitions/JsonValue"},"description":"Matches a JSON object.\n\nThis type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. Don't use this as a direct return type as the user would have to double-cast it: `jsonObject as unknown as CustomResponse`. Instead, you could extend your CustomResponse type from it to ensure your type only uses JSON-compatible types: `interface CustomResponse extends JsonObject { … }`."};const wrapper0 = {validate: validate12};function validate13(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){for(const key0 in data){const _errs2 = errors;if(!(wrapper0.validate(data[key0], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data,parentDataProperty:key0,rootData}))){vErrors = vErrors === null ? wrapper0.validate.errors : vErrors.concat(wrapper0.validate.errors);errors = vErrors.length;}var valid0 = _errs2 === errors;if(!valid0){break;}}}else {validate13.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate13.errors = vErrors;return errors === 0;}const schema16 = {"type":"array","items":{"$ref":"#/definitions/JsonValue"},"description":"Matches a JSON array."};function validate15(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){const _errs1 = errors;if(!(wrapper0.validate(data[i0], {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData}))){vErrors = vErrors === null ? wrapper0.validate.errors : vErrors.concat(wrapper0.validate.errors);errors = vErrors.length;}var valid0 = _errs1 === errors;if(!valid0){break;}}}else {validate15.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate15.errors = vErrors;return errors === 0;}function validate12(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;const _errs0 = errors;let valid0 = false;const _errs1 = errors;if((((typeof data !== "string") && (!((typeof data == "number") && (isFinite(data))))) && (typeof data !== "boolean")) && (data !== null)){const err0 = {instancePath,schemaPath:"#/definitions/JsonPrimitive/type",keyword:"type",params:{type: schema14.type},message:"must be string,number,boolean,null"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;valid0 = valid0 || _valid0;if(!valid0){const _errs4 = errors;if(!(validate13(data, {instancePath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);errors = vErrors.length;}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(!valid0){const _errs5 = errors;if(!(validate15(data, {instancePath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate15.errors : vErrors.concat(validate15.errors);errors = vErrors.length;}var _valid0 = _errs5 === errors;valid0 = valid0 || _valid0;}}if(!valid0){const err1 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;validate12.errors = vErrors;return false;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate12.errors = vErrors;return errors === 0;}const func2 = require("ajv/dist/runtime/ucs2length").default;function validate11(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.version === undefined) && (missing0 = "version")){validate11.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((key0 === "version") || (key0 === "files")) || (key0 === "setup"))){const _errs2 = errors;if(!(validate12(data[key0], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data,parentDataProperty:key0,rootData}))){vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);errors = vErrors.length;}var valid0 = _errs2 === errors;if(!valid0){break;}}}if(_errs1 === errors){if(data.version !== undefined){let data1 = data.version;const _errs3 = errors;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){validate11.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}if(errors === _errs3){if((typeof data1 == "number") && (isFinite(data1))){if(data1 < 1 || isNaN(data1)){validate11.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data.files !== undefined){let data2 = data.files;const _errs5 = errors;if(errors === _errs5){if(Array.isArray(data2)){var valid2 = true;const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];const _errs7 = errors;const _errs8 = errors;let valid3 = false;const _errs9 = errors;if(errors === _errs9){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if(((data3.once === undefined) && (missing1 = "once")) || ((data3.path === undefined) && (missing1 = "path"))){const err0 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/0/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {const _errs11 = errors;for(const key1 in data3){if(!((key1 === "path") || (key1 === "once"))){const _errs12 = errors;if(!(validate12(data3[key1], {instancePath:instancePath+"/files/" + i0+"/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data3,parentDataProperty:key1,rootData}))){vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);errors = vErrors.length;}var valid4 = _errs12 === errors;if(!valid4){break;}}}if(_errs11 === errors){if(data3.path !== undefined){let data5 = data3.path;const _errs13 = errors;if(errors === _errs13){if(typeof data5 === "string"){if(func2(data5) < 1){const err1 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/0/properties/path/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}else {const err2 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/0/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var valid5 = _errs13 === errors;}else {var valid5 = true;}if(valid5){if(data3.once !== undefined){let data6 = data3.once;const _errs15 = errors;if(typeof data6 !== "boolean"){const err3 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/0/properties/once/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(true !== data6){const err4 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/0/properties/once/const",keyword:"const",params:{allowedValue: true},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var valid5 = _errs15 === errors;}else {var valid5 = true;}}}}}else {const err5 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid0 = _errs9 === errors;valid3 = valid3 || _valid0;if(!valid3){const _errs17 = errors;if(errors === _errs17){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing2;if(((data3.hash === undefined) && (missing2 = "hash")) || ((data3.path === undefined) && (missing2 = "path"))){const err6 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/1/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}else {const _errs19 = errors;for(const key2 in data3){if(!(((key2 === "path") || (key2 === "once")) || (key2 === "hash"))){const _errs20 = errors;if(!(validate12(data3[key2], {instancePath:instancePath+"/files/" + i0+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data3,parentDataProperty:key2,rootData}))){vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);errors = vErrors.length;}var valid6 = _errs20 === errors;if(!valid6){break;}}}if(_errs19 === errors){if(data3.path !== undefined){let data8 = data3.path;const _errs21 = errors;if(errors === _errs21){if(typeof data8 === "string"){if(func2(data8) < 1){const err7 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/1/properties/path/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/1/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}var valid7 = _errs21 === errors;}else {var valid7 = true;}if(valid7){if(data3.once !== undefined){let data9 = data3.once;const _errs23 = errors;if(typeof data9 !== "boolean"){const err9 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/1/properties/once/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(false !== data9){const err10 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/1/properties/once/const",keyword:"const",params:{allowedValue: false},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var valid7 = _errs23 === errors;}else {var valid7 = true;}if(valid7){if(data3.hash !== undefined){let data10 = data3.hash;const _errs25 = errors;if(errors === _errs25){if(typeof data10 === "string"){if(func2(data10) < 1){const err11 = {instancePath:instancePath+"/files/" + i0+"/hash",schemaPath:"#/properties/files/items/anyOf/1/properties/hash/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/files/" + i0+"/hash",schemaPath:"#/properties/files/items/anyOf/1/properties/hash/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}var valid7 = _errs25 === errors;}else {var valid7 = true;}}}}}}else {const err13 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}var _valid0 = _errs17 === errors;valid3 = valid3 || _valid0;}if(!valid3){const err14 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;validate11.errors = vErrors;return false;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}var valid2 = _errs7 === errors;if(!valid2){break;}}}else {validate11.errors = [{instancePath:instancePath+"/files",schemaPath:"#/properties/files/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs5 === errors;}else {var valid1 = true;}if(valid1){if(data.setup !== undefined){let data11 = data.setup;const _errs27 = errors;if(errors === _errs27){if(data11 && typeof data11 == "object" && !Array.isArray(data11)){for(const key3 in data11){const _errs29 = errors;if(typeof key3 === "string"){if(func2(key3) < 1){const err15 = {instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/propertyNames/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",propertyName:key3};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}var valid8 = _errs29 === errors;if(!valid8){const err16 = {instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/propertyNames",keyword:"propertyNames",params:{propertyName: key3},message:"property name must be valid"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;validate11.errors = vErrors;return false;break;}}if(valid8){for(const key4 in data11){const _errs31 = errors;if(!(validate13(data11[key4], {instancePath:instancePath+"/setup/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data11,parentDataProperty:key4,rootData}))){vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);errors = vErrors.length;}var valid9 = _errs31 === errors;if(!valid9){break;}}}}else {validate11.errors = [{instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs27 === errors;}else {var valid1 = true;}}}}}}else {validate11.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate11.errors = vErrors;return errors === 0;}exports.validateCoatGlobalLockfile = validate21;const schema17 = {"type":"object","properties":{"version":{"type":"integer","description":"The lockfile version","minimum":1},"files":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"The relative path from the coat project root directory"},"once":{"type":"boolean","const":true,"description":"Whether the file was generated only once or is continously managed"}},"required":["once","path"],"additionalProperties":{"$ref":"#/definitions/JsonValue"}},{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"The relative path from the coat project root directory"},"once":{"type":"boolean","const":false,"description":"Whether the file was generated only once or is continously managed"},"hash":{"type":"string","minLength":1,"description":"The SHA3-512 hash of the file that will be used when removing the file to verify that the content has not been modified outside of coat to prevent accidental loss of data.\n\nOnly exists for files where once = false, since files that are generated once are not updated or deleted by coat"}},"required":["hash","path"],"additionalProperties":{"$ref":"#/definitions/JsonValue"}}]}},"setup":{"type":"object","additionalProperties":{"$ref":"#/definitions/JsonObject"},"propertyNames":{"minLength":1},"description":"Global setup task results, stored as taskId: { taskResultProperty: A }"},"scripts":{"type":"array","items":{"type":"string","minLength":1},"description":"package.json script names that are managed by coat"},"dependencies":{"type":"object","properties":{"dependencies":{"type":"array","items":{"type":"string","minLength":1},"description":"names of managed package.json dependencies"},"devDependencies":{"type":"array","items":{"type":"string","minLength":1},"description":"names of managed package.json devDependencies"},"peerDependencies":{"type":"array","items":{"type":"string","minLength":1},"description":"names of managed package.json peerDependencies"},"optionalDependencies":{"type":"array","items":{"type":"string","minLength":1},"description":"names of managed package.json optionalDependencies"}},"additionalProperties":false}},"required":["version"],"additionalProperties":{"$ref":"#/definitions/JsonValue"}};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.version === undefined) && (missing0 = "version")){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((((key0 === "version") || (key0 === "files")) || (key0 === "setup")) || (key0 === "scripts")) || (key0 === "dependencies"))){const _errs2 = errors;if(!(validate12(data[key0], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data,parentDataProperty:key0,rootData}))){vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);errors = vErrors.length;}var valid0 = _errs2 === errors;if(!valid0){break;}}}if(_errs1 === errors){if(data.version !== undefined){let data1 = data.version;const _errs3 = errors;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){validate21.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}if(errors === _errs3){if((typeof data1 == "number") && (isFinite(data1))){if(data1 < 1 || isNaN(data1)){validate21.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data.files !== undefined){let data2 = data.files;const _errs5 = errors;if(errors === _errs5){if(Array.isArray(data2)){var valid2 = true;const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];const _errs7 = errors;const _errs8 = errors;let valid3 = false;const _errs9 = errors;if(errors === _errs9){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if(((data3.once === undefined) && (missing1 = "once")) || ((data3.path === undefined) && (missing1 = "path"))){const err0 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/0/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {const _errs11 = errors;for(const key1 in data3){if(!((key1 === "path") || (key1 === "once"))){const _errs12 = errors;if(!(validate12(data3[key1], {instancePath:instancePath+"/files/" + i0+"/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data3,parentDataProperty:key1,rootData}))){vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);errors = vErrors.length;}var valid4 = _errs12 === errors;if(!valid4){break;}}}if(_errs11 === errors){if(data3.path !== undefined){let data5 = data3.path;const _errs13 = errors;if(errors === _errs13){if(typeof data5 === "string"){if(func2(data5) < 1){const err1 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/0/properties/path/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}else {const err2 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/0/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var valid5 = _errs13 === errors;}else {var valid5 = true;}if(valid5){if(data3.once !== undefined){let data6 = data3.once;const _errs15 = errors;if(typeof data6 !== "boolean"){const err3 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/0/properties/once/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(true !== data6){const err4 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/0/properties/once/const",keyword:"const",params:{allowedValue: true},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var valid5 = _errs15 === errors;}else {var valid5 = true;}}}}}else {const err5 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid0 = _errs9 === errors;valid3 = valid3 || _valid0;if(!valid3){const _errs17 = errors;if(errors === _errs17){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing2;if(((data3.hash === undefined) && (missing2 = "hash")) || ((data3.path === undefined) && (missing2 = "path"))){const err6 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/1/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}else {const _errs19 = errors;for(const key2 in data3){if(!(((key2 === "path") || (key2 === "once")) || (key2 === "hash"))){const _errs20 = errors;if(!(validate12(data3[key2], {instancePath:instancePath+"/files/" + i0+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data3,parentDataProperty:key2,rootData}))){vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);errors = vErrors.length;}var valid6 = _errs20 === errors;if(!valid6){break;}}}if(_errs19 === errors){if(data3.path !== undefined){let data8 = data3.path;const _errs21 = errors;if(errors === _errs21){if(typeof data8 === "string"){if(func2(data8) < 1){const err7 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/1/properties/path/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/files/" + i0+"/path",schemaPath:"#/properties/files/items/anyOf/1/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}var valid7 = _errs21 === errors;}else {var valid7 = true;}if(valid7){if(data3.once !== undefined){let data9 = data3.once;const _errs23 = errors;if(typeof data9 !== "boolean"){const err9 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/1/properties/once/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(false !== data9){const err10 = {instancePath:instancePath+"/files/" + i0+"/once",schemaPath:"#/properties/files/items/anyOf/1/properties/once/const",keyword:"const",params:{allowedValue: false},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var valid7 = _errs23 === errors;}else {var valid7 = true;}if(valid7){if(data3.hash !== undefined){let data10 = data3.hash;const _errs25 = errors;if(errors === _errs25){if(typeof data10 === "string"){if(func2(data10) < 1){const err11 = {instancePath:instancePath+"/files/" + i0+"/hash",schemaPath:"#/properties/files/items/anyOf/1/properties/hash/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/files/" + i0+"/hash",schemaPath:"#/properties/files/items/anyOf/1/properties/hash/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}var valid7 = _errs25 === errors;}else {var valid7 = true;}}}}}}else {const err13 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}var _valid0 = _errs17 === errors;valid3 = valid3 || _valid0;}if(!valid3){const err14 = {instancePath:instancePath+"/files/" + i0,schemaPath:"#/properties/files/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;validate21.errors = vErrors;return false;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}var valid2 = _errs7 === errors;if(!valid2){break;}}}else {validate21.errors = [{instancePath:instancePath+"/files",schemaPath:"#/properties/files/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs5 === errors;}else {var valid1 = true;}if(valid1){if(data.setup !== undefined){let data11 = data.setup;const _errs27 = errors;if(errors === _errs27){if(data11 && typeof data11 == "object" && !Array.isArray(data11)){for(const key3 in data11){const _errs29 = errors;if(typeof key3 === "string"){if(func2(key3) < 1){const err15 = {instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/propertyNames/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",propertyName:key3};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}var valid8 = _errs29 === errors;if(!valid8){const err16 = {instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/propertyNames",keyword:"propertyNames",params:{propertyName: key3},message:"property name must be valid"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;validate21.errors = vErrors;return false;break;}}if(valid8){for(const key4 in data11){const _errs31 = errors;if(!(validate13(data11[key4], {instancePath:instancePath+"/setup/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data11,parentDataProperty:key4,rootData}))){vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);errors = vErrors.length;}var valid9 = _errs31 === errors;if(!valid9){break;}}}}else {validate21.errors = [{instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs27 === errors;}else {var valid1 = true;}if(valid1){if(data.scripts !== undefined){let data13 = data.scripts;const _errs32 = errors;if(errors === _errs32){if(Array.isArray(data13)){var valid10 = true;const len1 = data13.length;for(let i1=0; i1<len1; i1++){let data14 = data13[i1];const _errs34 = errors;if(errors === _errs34){if(typeof data14 === "string"){if(func2(data14) < 1){validate21.errors = [{instancePath:instancePath+"/scripts/" + i1,schemaPath:"#/properties/scripts/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/scripts/" + i1,schemaPath:"#/properties/scripts/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid10 = _errs34 === errors;if(!valid10){break;}}}else {validate21.errors = [{instancePath:instancePath+"/scripts",schemaPath:"#/properties/scripts/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs32 === errors;}else {var valid1 = true;}if(valid1){if(data.dependencies !== undefined){let data15 = data.dependencies;const _errs36 = errors;if(errors === _errs36){if(data15 && typeof data15 == "object" && !Array.isArray(data15)){const _errs38 = errors;for(const key5 in data15){if(!((((key5 === "dependencies") || (key5 === "devDependencies")) || (key5 === "peerDependencies")) || (key5 === "optionalDependencies"))){validate21.errors = [{instancePath:instancePath+"/dependencies",schemaPath:"#/properties/dependencies/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];return false;break;}}if(_errs38 === errors){if(data15.dependencies !== undefined){let data16 = data15.dependencies;const _errs39 = errors;if(errors === _errs39){if(Array.isArray(data16)){var valid12 = true;const len2 = data16.length;for(let i2=0; i2<len2; i2++){let data17 = data16[i2];const _errs41 = errors;if(errors === _errs41){if(typeof data17 === "string"){if(func2(data17) < 1){validate21.errors = [{instancePath:instancePath+"/dependencies/dependencies/" + i2,schemaPath:"#/properties/dependencies/properties/dependencies/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/dependencies/" + i2,schemaPath:"#/properties/dependencies/properties/dependencies/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid12 = _errs41 === errors;if(!valid12){break;}}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/dependencies",schemaPath:"#/properties/dependencies/properties/dependencies/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid11 = _errs39 === errors;}else {var valid11 = true;}if(valid11){if(data15.devDependencies !== undefined){let data18 = data15.devDependencies;const _errs43 = errors;if(errors === _errs43){if(Array.isArray(data18)){var valid13 = true;const len3 = data18.length;for(let i3=0; i3<len3; i3++){let data19 = data18[i3];const _errs45 = errors;if(errors === _errs45){if(typeof data19 === "string"){if(func2(data19) < 1){validate21.errors = [{instancePath:instancePath+"/dependencies/devDependencies/" + i3,schemaPath:"#/properties/dependencies/properties/devDependencies/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/devDependencies/" + i3,schemaPath:"#/properties/dependencies/properties/devDependencies/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid13 = _errs45 === errors;if(!valid13){break;}}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/devDependencies",schemaPath:"#/properties/dependencies/properties/devDependencies/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid11 = _errs43 === errors;}else {var valid11 = true;}if(valid11){if(data15.peerDependencies !== undefined){let data20 = data15.peerDependencies;const _errs47 = errors;if(errors === _errs47){if(Array.isArray(data20)){var valid14 = true;const len4 = data20.length;for(let i4=0; i4<len4; i4++){let data21 = data20[i4];const _errs49 = errors;if(errors === _errs49){if(typeof data21 === "string"){if(func2(data21) < 1){validate21.errors = [{instancePath:instancePath+"/dependencies/peerDependencies/" + i4,schemaPath:"#/properties/dependencies/properties/peerDependencies/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/peerDependencies/" + i4,schemaPath:"#/properties/dependencies/properties/peerDependencies/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid14 = _errs49 === errors;if(!valid14){break;}}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/peerDependencies",schemaPath:"#/properties/dependencies/properties/peerDependencies/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid11 = _errs47 === errors;}else {var valid11 = true;}if(valid11){if(data15.optionalDependencies !== undefined){let data22 = data15.optionalDependencies;const _errs51 = errors;if(errors === _errs51){if(Array.isArray(data22)){var valid15 = true;const len5 = data22.length;for(let i5=0; i5<len5; i5++){let data23 = data22[i5];const _errs53 = errors;if(errors === _errs53){if(typeof data23 === "string"){if(func2(data23) < 1){validate21.errors = [{instancePath:instancePath+"/dependencies/optionalDependencies/" + i5,schemaPath:"#/properties/dependencies/properties/optionalDependencies/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/optionalDependencies/" + i5,schemaPath:"#/properties/dependencies/properties/optionalDependencies/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid15 = _errs53 === errors;if(!valid15){break;}}}else {validate21.errors = [{instancePath:instancePath+"/dependencies/optionalDependencies",schemaPath:"#/properties/dependencies/properties/optionalDependencies/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid11 = _errs51 === errors;}else {var valid11 = true;}}}}}}else {validate21.errors = [{instancePath:instancePath+"/dependencies",schemaPath:"#/properties/dependencies/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs36 === errors;}else {var valid1 = true;}}}}}}}}else {validate21.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate21.errors = vErrors;return errors === 0;}