UNPKG

@favware/cliff-jumper

Version:

A small CLI tool to create a semantic release and git-cliff powered Changelog

132 lines (131 loc) 8.7 kB
{ "$schema": "https://json-schema.org/draft-04/schema#", "type": "object", "properties": { "name": { "description": "The package name to release", "type": "string" }, "packagePath": { "description": "The path to the current package. For non-monorepos this is just \".\"", "type": "string" }, "dryRun": { "description": "Whether the package should be bumped or not. When this is set no actions will be taken and only the release strategy will be logged", "type": "boolean", "default": false }, "skipAutomaticBump": { "description": "Whether to skip bumping the version (useful if this is the first version, or if you have manually set the version)", "type": "boolean", "default": false }, "monoRepo": { "description": "Whether the package to be bumped resides in a mono repo,\nwhich enables Lerna-like scanning for what kind of version bump should be applied\nDefaults to \"true\" when \"org\" is set, false otherwise", "type": "boolean", "default": false }, "org": { "description": "The NPM org scope that should be used WITHOUT \"@\" sign or trailing \"/\"", "type": "string" }, "preid": { "description": "The \"prerelease identifier\" to use as a prefix for the \"prerelease\" part of a semver", "type": "string" }, "identifierBase": { "description": "The base number (0 or 1) to be used for the \"prerelease identifier\". Supply `false` to not use one.", "type": ["boolean", "string"] }, "commitMessageTemplate": { "description": "A custom commit message template to use.\nDefaults to \"chore({{name}}): release {{full-name}}@{{new-version}}\"\n\nYou can use \"{{new-version}}\" in your template which will be dynamically replaced with whatever the new version is that will be published.\n\nYou can use \"{{name}}\" in your template, this will be replaced with the name provided through \"-n\", \"--name\" or the same value set in your config file.\n\nYou can use \"{{full-name}}\" in your template, this will be replaced \"{{name}}\" (when \"org\" is not provided), or \"@{{org}}/{{name}}\" (when \"org\" is provided).", "type": "string" }, "tagTemplate": { "description": "A custom tag template to use.\n\nWhen \"org\" is provided this will default to \"@{{org}}/{{name}}@{{new-version}}\", for example \"@favware/cliff-jumper@1.0.0\"\nWhen \"org\" is not provided this will default to \"v{{new-version}}\", for example \"v1.0.0\"\n\nYou can use \"{{new-version}}\" in your template which will be dynamically replaced with whatever the new version is that will be published.\n\nYou can use \"{{org}}\" in your template, this will be replaced with the org provided through \"-o\", \"--org\" or the same value set in your config \nfile.\n\nYou can use \"{{name}}\" in your template, this will be replaced with the name provided through \"-n\", \"--name\" or the same value set in your config \nfile.\n\nYou can use \"{{full-name}}\" in your template, this will be replaced \"{{name}}\" (when \"org\" is not provided), or \"@{{org}}/{{name}}\" (when \"org\" is provided).", "type": "string" }, "changelogPrependFile": { "description": "The file that git-cliff should use for the --prepend flag, defaults to ./CHANGELOG.md. This should be relative to the current working directory.", "type": "string", "default": "./CHANGELOG.md" }, "skipCommit": { "description": "Repeatable, each will be treated as a new entry. A list of SHA1 commit hashes that will be skipped in the changelog.", "type": "array", "items": { "type": "string" }, "default": [] }, "gitHostVariant": { "description": "The git host variant. Git-cliff supports 4 hosting websites, GitHub, GitLab, Gitea, and BitBucket. By setting this option you control which api is used by git-cliff. Defaults to \"github\" for backwards compatibility.", "type": "string", "enum": ["github", "gitlab", "gitea", "bitbucket"], "default": "github" }, "gitRepo": { "description": "The git repository to use for linking to issues and PRs in the changelog.\nYou can pass the unique string \"auto\" to automatically set this value as {{org}}/{{name}} as provided from --org and --name\nThis should be in the format \"owner/repo\"\nYou can use the \"GIT_REPO\" environment variable to automatically set this value", "type": "string" }, "gitToken": { "description": "A token to authenticate requests to the Git host API. This can be a GitHub, GitLab, Gitea, or BitBucket token. Which is used is determined by \"--git-host-variant\". This is required when using the \"--git-repo\" option.\nYou can also set the one of the following environment variables.\n- GITHUB_TOKEN\n- GITLAB_TOKEN\n- GITEA_TOKEN\n- BITBUCKET_TOKEN\n- GH_TOKEN", "type": "string" }, "install": { "description": "Whether to run npm install after bumping the version but before committing and creating a git tag. This is useful when you have a mono repo where bumping one package would then cause the lockfile to be out of date.", "type": "boolean", "default": false }, "skipChangelog": { "description": "Whether to skip updating your CHANGELOG.md (default `true` when CI=true, `false` otherwise)", "type": "boolean", "default": false }, "skipTag": { "description": "Whether to skip creating a git tag (default `true` when CI=true, `false` otherwise)", "type": "boolean", "default": false }, "pushTag": { "description": "Whether to push the tag to the remote repository.\nThis will simply execute \"git push && git push --tags\" so make sure you have configured git for pushing properly beforehand.", "type": "boolean", "default": false }, "githubRelease": { "description": "Note that this is only supported if \"--git-host-variant\" is set to \"github\"\nWhether to create a release on GitHub, requires \"pushTag\" to be enabled, otherwise there will be no tag to create a release from\nFor the repository the release is created on the value from \"githubRepo\" will be used\nIf the changelog section from git-cliff is empty, the release notes will be auto-generated by GitHub.", "type": "boolean", "default": false }, "githubReleaseDraft": { "description": "Note that this is only supported if \"--git-host-variant\" is set to \"github\"\nWhether the release should be a draft", "type": "boolean", "default": false }, "githubReleasePrerelease": { "description": "Note that this is only supported if \"--git-host-variant\" is set to \"github\"\nWhether the release should be a pre-release", "type": "boolean", "default": false }, "githubReleaseLatest": { "description": "Note that this is only supported if \"--git-host-variant\" is set to \"github\"\nWhether the release should be marked as the latest release, will try to read this value, then the value of --github-release, and then default to false. Please note that when setting --github-release-pre-release to `true` GitHub will prevent the release to be marked as latest an this option will essentially be ignored..", "type": "boolean", "default": false }, "githubReleaseNameTemplate": { "description": "Note that this is only supported if \"--git-host-variant\" is set to \"github\"\nA custom release name template to use.\n\nYou can use \"{{new-version}}\" in your template which will be dynamically replaced with whatever the new version is that will be published.\n\nYou can use \"{{name}}\" in your template, this will be replaced with the name provided through \"-n\", \"--name\" or the same value set in your config file.\n\nYou can use \"{{full-name}}\" in your template, this will be replaced \"{{name}}\" (when \"org\" is not provided), or \"@{{org}}/{{name}}\" (when \"org\" is provided).", "type": "string" }, "githubBaseUrl": { "description": "Note that this is only supported if \"--git-host-variant\" is set to \"github\"\nA custom GitHub base URL to use. This can be used for GHEC or GHES instances. This should be the full API URL, for example \"https://api.github.com\" for github.com, or \"https://octokit.ghe.com/api/v3\" for a GHEC instance.", "type": "string", "default": "https://api.github.com" }, "verbose": { "description": "Whether to print verbose information", "type": "boolean", "default": false } }, "required": ["name", "packagePath"] }