@metamask/snaps-utils
Version:
A collection of utilities for MetaMask Snaps
1 lines • 1.6 kB
Source Map (JSON)
{"version":3,"file":"is-package-json.cjs","sourceRoot":"","sources":["../../../src/manifest/validators/is-package-json.ts"],"names":[],"mappings":";;;AAAA,uDAAiD;AAEjD,+CAAwD;AACxD,2CAAyE;AAGzE;;GAEG;AACU,QAAA,aAAa,GAAkB;IAC1C,QAAQ,EAAE,OAAO;IACjB,cAAc,CAAC,KAAK,EAAE,OAAO;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,sBAAQ,EACtB,KAAK,CAAC,WAAW,CAAC,MAAM,EACxB,gCAAwB,CACzB,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACvC,OAAO,CAAC,MAAM,CACZ,IACE,wBAAgB,CAAC,WACnB,iBAAiB,IAAA,iCAAuB,EACtC,gCAAwB,EACxB,OAAO,EACP,KAAK,CACN,EAAE,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC","sourcesContent":["import { validate } from '@metamask/superstruct';\n\nimport { getStructFailureMessage } from '../../structs';\nimport { NpmSnapFileNames, NpmSnapPackageJsonStruct } from '../../types';\nimport type { ValidatorMeta } from '../validator-types';\n\n/**\n * Verify the structure of package.json.\n */\nexport const isPackageJson: ValidatorMeta = {\n severity: 'error',\n structureCheck(files, context) {\n if (!files.packageJson) {\n return;\n }\n const [error] = validate(\n files.packageJson.result,\n NpmSnapPackageJsonStruct,\n );\n if (error) {\n for (const failure of error.failures()) {\n context.report(\n `\"${\n NpmSnapFileNames.PackageJson\n }\" is invalid: ${getStructFailureMessage(\n NpmSnapPackageJsonStruct,\n failure,\n false,\n )}`,\n );\n }\n }\n },\n};\n"]}