UNPKG

package-versioner

Version:

A lightweight yet powerful CLI tool for automated semantic versioning based on Git history and conventional commits.

103 lines (102 loc) 2.81 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "$schema": { "type": "string", "description": "JSON schema reference" }, "versionPrefix": { "type": "string", "minLength": 1, "description": "The prefix used for Git tags", "default": "v" }, "tagTemplate": { "type": "string", "minLength": 1, "default": "${prefix}${version}", "description": "Template for formatting Git tags" }, "packageTagTemplate": { "type": "string", "minLength": 1, "default": "${packageName}@${prefix}${version}", "description": "Template for formatting package-specific Git tags" }, "preset": { "type": "string", "enum": ["angular", "conventional"], "default": "angular", "description": "The commit message convention preset" }, "baseBranch": { "type": "string", "minLength": 1, "description": "The main branch for versioning", "default": "main" }, "synced": { "type": "boolean", "default": false, "description": "Whether packages should be versioned together" }, "packages": { "type": "array", "items": { "type": "string", "minLength": 1 }, "default": [], "description": "List of packages to include in versioning" }, "versionStrategy": { "type": "string", "enum": ["branchPattern", "commitMessage"], "default": "commitMessage", "description": "How to determine version changes" }, "branchPattern": { "type": "array", "items": { "type": "string", "minLength": 1 }, "default": ["major:", "minor:", "patch:"], "description": "Patterns to match against branch names" }, "updateInternalDependencies": { "type": "string", "enum": ["major", "minor", "patch", "no-internal-update"], "default": "patch", "description": "How to update dependencies between packages" }, "skip": { "type": "array", "items": { "type": "string", "minLength": 1 }, "default": [], "description": "Packages to exclude from versioning" }, "commitMessage": { "type": "string", "minLength": 1, "default": "chore(release): v${version}", "description": "Template for commit messages" }, "prereleaseIdentifier": { "type": "string", "minLength": 1, "description": "Identifier for prerelease versions" }, "skipHooks": { "type": "boolean", "default": false, "description": "Whether to skip Git hooks" } }, "required": ["versionPrefix", "preset", "updateInternalDependencies"], "additionalProperties": false }