@mainframe/app-manifest v0.3.0
Application manifest utilities
Types
ManifestData
Shape of the expected manifest data object.
ManifestValidationResult
Either true if the validation succeeds or Array<Object> of validation errors returned by fastest-validator.
Constants
INVALID_ID_ERROR
Error message for invalid Mainframe ID value using fastest-validator.
INVALID_SEMVER_ERROR
Error message for invalid SemVer value using fastest-validator.
INVALID_URN_ERROR
Error message for invalid URN value using fastest-validator.
MANIFEST_SCHEMA_MESSAGES
Object of the previous error messages for fastest-validator configuration.
ID_SCHEMA
fastest-validator schema for a manifest identifier (Mainframe ID).
SEMVER_SCHEMA
fastest-validator schema for a SemVer value.
URN_SCHEMA
fastest-validator schema for an URN value.
NAME_SCHEMA
fastest-validator schema for an application name as validated by the manifest (3 to 50 characters).
MANIFEST_SCHEMA
fastest-validator schema for a full manifest.
API
isValidSemver()
Arguments
value: string
Returns boolean
isValidURN()
Arguments
value: string
Returns boolean
new ManifestError()
Arguments
message: string: error messageerrors?: Array<Object>: validation errors
validateManifest()
Arguments
manifest: ManifestData
Returns ManifestValidationResult
parseManifestData()
Parses and validates the provided buffer as manifest data. Throws a ManifestError if parsing or validation fails.
Arguments
buffer: ?Buffer
Returns ManifestData
verifyManifest()
Verifies the provided SignedContents match a signed manifest and returns its data. Throws a ManifestError if signature verification, parsing or validation fails.
Arguments
contents: SignedContentskeys?: Array<Buffer>: optional list of public keys to use to verify the signatures rather than the ones provided in thecontents.
Returns ManifestData
readManifestFile()
Verifies the provided file path matches a signed manifest and returns its data. Throws a ManifestError if signature verification, parsing or validation fails.
Arguments
path: stringkeys?: Array<Buffer>: optional list of public keys to use to verify the signatures rather than the ones provided in the file.
Returns Promise<{ data: ManifestData, keys: Array<Buffer> }>, keys being the public keys the manifest is signed with.
writeManifestFile()
Verifies the provided data is a valid manifest and writes the SecureFile<SignedContents> contents to the provided path. Throws a ManifestError if validation fails.
Arguments
path: stringdata: ManifestDatakeys: Array<KeyPair>: list ofKeyPairobjects to sign the manifest with.
Returns Promise<void>