Type object
File match .revola.json .revola.config.json revola.json revola.config.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/revola-json/latest.json
Source https://www.schemastore.org/revola.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Configuration file for Revola

Properties

$schema string

Path to the JSON schema for IDE autocompletion.

Default: "https://cdn.jsdelivr.net/npm/[email protected]/schema.json"
format=uri
logLevel string

Controls the verbosity of Revola logging output.

Default: "info"
Values: "trace" "debug" "info" "success" "warn" "error" "fatal" "silent"
preset string | string[]

Preset configuration allowing a single value or a unique array values.

Default: "node"
version object

Configuration for versioning behavior.

Default:
{
  "strategy": "semver",
  "defaultBump": "patch"
}
2 nested properties
strategy string

Determines how the next version is calculated.

Default: "semver"
Values: "semver"
defaultBump string

The default level to bump the version when using the "semver" strategy.

Default: "patch"
git object

Configuration for Git-related settings in Revola.

Default:
{
  "cleanWorkingDirectory": true,
  "upstream": true,
  "author": {
    "name": "github-actions[bot]",
    "email": "41898282+github-actions[bot]@users.noreply.github.com"
  },
  "targetBranch": "main",
  "add": true,
  "commit": true,
  "commitMessage": "Release {{REVOLA_VERSION}}",
  "push": true,
  "tag": true,
  "tagFormat": "v{{REVOLA_VERSION}}",
  "tagAnnotation": "Release {{REVOLA_VERSION}}",
  "tagMajor": false,
  "tagMinor": false
}
13 nested properties
cleanWorkingDirectory boolean

If true, Revola will check for a clean working directory before performing versioning operations.

Default: true
upstream boolean

If true, Revola will check for an upstream branch and push to it by default when pushing new versions.

Default: true
author object

Overrides Git author identity ONLY for release commits (does not modify global Git config).

Default:
{
  "name": "github-actions[bot]",
  "email": "41898282+github-actions[bot]@users.noreply.github.com"
}
2 nested properties
name string

Name to use for release commits.

Default: "github-actions[bot]"
email string

Email to use for release commits.

Default: "41898282+github-actions[bot]@users.noreply.github.com"
format=emailpattern=^[^\s@"]{1,64}@[^\s@]{1,255}$
targetBranch string

The branch on which to perform versioning operations.

Default: "main"
add boolean

If true, Revola will stage all changes before committing the new version.

Default: true
commit boolean

If true, Revola will commit the new version.

Default: true
commitMessage string
Default: "Release {{REVOLA_VERSION}}"
push boolean

If true, Revola will push the new version to the remote repository.

Default: true
tag boolean

If true, Revola will create a Git tag for the new version (e.g: v1.2.3).

Default: true
tagFormat string

Template for Git tag names.

Default: "v{{REVOLA_VERSION}}"
tagAnnotation string

The annotation to use for Git tags created by Revola.

Default: "Release {{REVOLA_VERSION}}"
tagMajor boolean

If true, Revola will create a Git tag for major version releases (e.g: v1.2.3 -> v1).

Default: false
tagMinor boolean

If true, Revola will create a Git tag for minor version releases (e.g: v1.2.3 -> v1.2).

Default: false
npm object

npm publish configuration

Default:
{
  "publish": true,
  "registry": "https://registry.npmjs.org/",
  "tokenRef": "NPM_TOKEN",
  "packageManager": "npm",
  "tag": "latest",
  "access": "public",
  "provenance": false
}
7 nested properties
publish boolean

Whether to publish to npm.

Default: true
registry string

The npm registry URL to publish to.

Default: "https://registry.npmjs.org/"
format=uri
tokenRef string

Environment variable name that holds the registry auth token.

Default: "NPM_TOKEN"
packageManager string

The package manager used to invoke the npm publish command.

Default: "npm"
Values: "npm" "pnpm" "yarn" "bun"
tag string

The dist-tag to publish under (e.g. latest, next, beta).

Default: "latest"
access string

Package access level on npm.

Default: "public"
Values: "public" "restricted"
provenance boolean

Whether to publish with npm provenance (requires CI environment).

Default: false
jsr object

jsr publish configuration

Default:
{
  "publish": false,
  "tokenRef": "JSR_TOKEN",
  "packageManager": "npx"
}
4 nested properties
publish boolean

Whether to publish to JSR.

Default: false
publishArgs string[]

Additional arguments to pass to the JSR publish command.

uniqueItems=true
tokenRef string

Environment variable name that holds the registry auth token (e.g. "JSR_TOKEN").

Default: "JSR_TOKEN"
packageManager string

The package manager used to invoke the JSR publish command.

Default: "npx"
Values: "deno" "npx"
changelog object

Changelog configuration

Default:
{
  "enabled": true,
  "file": "CHANGELOG.md",
  "title": "{{REVOLA_VERSION}} ({{REVOLA_DATE}})",
  "includeTypes": [
    "BREAKING CHANGE",
    "feat",
    "fix",
    "perf",
    "refactor",
    "docs",
    "deps",
    "ci",
    "chore"
  ]
}
4 nested properties
enabled boolean

Whether to generate/update the changelog.

Default: true
file string

Path to the changelog file.

Default: "CHANGELOG.md"
title string

Template for release title.

Default: "{{REVOLA_VERSION}} ({{REVOLA_DATE}})"
includeTypes string[]

List of commit types to include in the changelog. If empty or not provided, all commit types are included. The order matters and determines how sections are organized in the final changelog.

Default:
[
  "BREAKING CHANGE",
  "feat",
  "fix",
  "perf",
  "refactor",
  "docs",
  "deps",
  "ci",
  "chore"
]
uniqueItems=true
hooks Record<string, string | string[]>

Shell commands to run at various lifecycle stages. Each key is a lifecycle hook name and the value is the command(s) to run.

plugins Record<string, object>

Defines plugins where each key is a plugin name and the value is its configuration object.