@bangstack/manifest
v1.0.0
Published
Event and journey definitions with validation and coverage analysis
Maintainers
Readme
@bangstack/manifest
Event and journey definitions with validation and coverage analysis.
Installation
npm install @bangstack/manifest @bangstack/coreQuick Start
import { createManifest, validateEvent, validateJourney } from '@bangstack/manifest';
const manifest = createManifest({
name: 'my-app',
events: {
'user:session:started': {
description: 'User logged in',
data: {
userId: { type: 'string', required: true }
}
}
},
journeys: {
'login': {
description: 'User logs into the app',
steps: [
{ event: 'dom:element:clicked', action: { click: '#login-btn' } },
{ event: 'user:session:started' }
]
}
}
});
// Validate events against manifest
const result = validateEvent(manifest, event);
// Validate journey completion
const journeyResult = validateJourney(manifest, 'login', capturedEvents);CLI Tools
# Analyze event coverage
npx mesh-coverage src/manifest.js
# Lint manifest for issues
npx mesh-lint src/manifest.jsFeatures
- Event schemas: Define expected event data with types and requirements
- Journey definitions: Map user flows as sequences of events
- Validation: Validate events and journeys at runtime
- Coverage analysis: Find gaps in your event coverage
- Fragments: Reusable step sequences for DRY journeys
License
MIT
