interface TemplateData

Comprehensive data object passed to Vento templates during processing. Contains version information, build metadata, release notes, and custom data. Enhanced with computed properties for easier template access.

Examples

Template usage:

export const VERSION = "{{ version }}";
export const BUILD_INFO = {
  buildDate: "{{ buildDate }}",
  gitCommit: "{{ gitCommit }}",
  versionComponents: {{ versionComponents | jsonStringify }}
} as const;

{{- if metadata.endpoints }}
export const ENDPOINTS = {{ metadata.endpoints | jsonStringify }};
{{- /if }}

Properties

version: string

Version information (e.g., "1.2.3")

buildDate: string

Build date in ISO format

gitCommit: string

Git commit hash (full or short)

Build environment (e.g., "production", "development")

Release notes following Keep a Changelog format

metadata: Record<string, unknown>

Merged metadata from releaseNotes.metadata and template dataProviders. Available as individual properties in templates for easier access.

Project information from configuration

optional
versionComponents: { major: number; minor: number; patch: number; prerelease: string | null; }

Automatically parsed from version string during template processing. Includes major, minor, patch numbers and prerelease identifier.

optional
currentYear: number

Helper properties automatically computed during template processing. Provides convenient access to formatted dates, short hashes, etc.

optional
buildDateFormatted: string
optional
shortCommit: string