{"id":18755336,"url":"https://github.com/stbaer/gf-release","last_synced_at":"2025-11-29T12:30:13.167Z","repository":{"id":73669850,"uuid":"78186008","full_name":"stbaer/gf-release","owner":"stbaer","description":"gitflow release node script","archived":false,"fork":false,"pushed_at":"2017-07-08T03:13:43.000Z","size":90,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-01-30T04:18:14.581Z","etag":null,"topics":["git-flow","gitflow-release","history-management","release-automation"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stbaer.png","metadata":{"files":{"readme":"README.md","changelog":"History.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-06T07:48:10.000Z","updated_at":"2022-12-04T23:54:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"4685fa45-9e10-4cec-a637-18455134c356","html_url":"https://github.com/stbaer/gf-release","commit_stats":{"total_commits":67,"total_committers":1,"mean_commits":67.0,"dds":0.0,"last_synced_commit":"c4a8be7575150b6e2b583f92022fdfc672de3fad"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stbaer%2Fgf-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stbaer%2Fgf-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stbaer%2Fgf-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stbaer%2Fgf-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stbaer","download_url":"https://codeload.github.com/stbaer/gf-release/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239644125,"owners_count":19673580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git-flow","gitflow-release","history-management","release-automation"],"created_at":"2024-11-07T17:32:29.847Z","updated_at":"2025-11-29T12:30:13.090Z","avatar_url":"https://github.com/stbaer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e gitflow command line release helper - less typing when doing a gitflow release\n\n[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n\n## Requirements\n\n- gitflow has to be initialized (please use [gitflow-avh](https://github.com/petervanderdoes/gitflow-avh) because [nvie/gitflow](https://github.com/nvie/gitflow) hasn't been updated in years)\n- there needs to be **at least one previous release** with a valid semver version\n- npm \u003e 3, node \u003e 6\n\n## Usage\n\nInstall from [npm](https://npmjs.com/release)\n\n```bash\n$ npm i -g gf-release\n```\n\nTo start the release, call\n```bash\n$ gf-release [options] [command]\n```\nfrom the root of a gitflow enabled repo\n\n## What it does\n\n- check if the production and dev branches are up to date with the upstream branches\n- prompt for selecting the release type (major, minor, patch)\n- detect the last release version and the new release version based on the selection\n- start the gitflow release\n    - bump the version number(s) of all files set in the config (see Config section below)\n    - update the history file if it is specified in the config\n    - execute the build script if it is specified in the config\n    - commit the changes (use the -m cli flag for a custom commit message, otherwise it's `Release ${releaseVersion}`)\n- finish the release\n- prompt if all branches and tags should be pushed\n- if everything was pushed, prompt if 'npm publish' should be executed (unless disabled via cli option)\n\n## Command line options\n\n```bash\n$ gf-release -h\n```\n\nCommands:\n\n    help  Display help\n\n   Options:\n\n    -d, --dry-run     only log commands without executing them (disabled by default)\n    -m, --message     enter a custom tag message, if not set it will be \"Release [newVersion]\"\n    -n, --no-publish  don't prompt for npm publish (disabled by default)\n    -s, --skip-build  skip build before finishing release\n\n    -h, --help        Output usage information\n    -v, --version     Output the version number\n\n### Config\n\nThis is the default configuration:\n\n```js\n{\n    versionFiles: [\"package.json\"],\n    productionBranchName: \"master\",\n    developBranchName: \"develop\",\n    upstream: \"origin\",\n    commitMessagesExclude: ['Merge tag'],\n    commitMessagesInclude: [],\n    buildCommand: null,\n    historyFile: null,\n    commitBaseUrl: null\n}\n```\n- `versionFiles`: json files that contain a version field which should be bumped when releasing\n- `productionBranchName`  / `developBranchName`: self explanatory\n- `upstream` can be changed in case there's an alias set for `origin`\n-  `commitMessagesExclude`: Array of strings, commit messages containing one of the strings won't be included in the History\n-  `commitMessagesInclude`: Array of strings, only include commit messages in the History that contain one of the strings\n    - if `commitMessagesInclude` contains one or more strings, the exclude array will be ignored\n- `buildCommand`: this command will be run before finishing the release, e.g `npm run build`\n- `historyFile`: if set it will prepend the history between the last release and this one to the file, e.g 'History.md'\n- `commitBaseUrl`: e.g. `https://github.com/stbaer/gf-release/commit` if set, links will be added to commits\n\n\nIt can be overwritten by adding a `releaseConfig` field to the `package.json`.\n\n```json\n...\n\"releaseConfig\": {\n    \"versionFiles\": [\"package.json\", \"config/version.json\"],\n    \"buildCommand\": \"npm run myBuildScript\",\n    \"productionBranchName\": \"prod\",\n    \"developBranchName\": \"dev\",\n    \"upstream\": \"myOriginAlias\"\n}\n```\n\n## Contribute or Report Issue\n\nPull requests should target the develop branch.\n\nFor bugs and feature requests, [please create an issue][10].\n\n[10]: https://github.com/stbaer/gf-release/issues\n\n## Licence\n\nMIT, see [LICENSE.md](https://github.com/stbaer/gf-release/blob/master/LICENSE.md) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstbaer%2Fgf-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstbaer%2Fgf-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstbaer%2Fgf-release/lists"}