{"_id":"@backbrace/git-changelog","_rev":"1-d2048578abb8d620ebc7ef2fe822a926","name":"@backbrace/git-changelog","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@backbrace/git-changelog","private":false,"version":"0.1.0","description":"Generates a git changelog, inspired & based on Angular JS changelog generator.","author":{"name":"Paul Fisher","email":"paulfisher53@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/backbrace/git-changelog.git"},"main":"Gruntfile.js","engines":{"node":">= 0.12.0"},"scripts":{"pre-test":"grunt","post-test":"grunt","test":"mocha -R spec test/**/*.spec.js","preversion":"npm test","coverage":"istanbul cover node_modules/.bin/_mocha -- -R dot"},"dependencies":{"colors":"^1.1.0","commander":"^2.8.0","create-output-stream":"0.0.1","debug":"^2.1.3","lodash":"^4.17.15","q":"^1.2.0"},"bin":{"git-changelog":"tasks/command.js"},"devDependencies":{"chai":"^2.2.0","chai-as-promised":"^5.0.0","doctoc":"^1.4.0","grunt":"^1.0.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-jshint":"^2.1.0","grunt-mocha-test":"^0.12.1","istanbul":"^0.3.13","mocha":"^6.2.2","sinon":"^1.14.1","sinon-chai":"^2.7.0"},"keywords":["gruntplugin, git, git-changelog, angularjs, angular, commit, log"],"gitHead":"3384d61b26f47352c525921d8964f3aace2db968","bugs":{"url":"https://github.com/backbrace/git-changelog/issues"},"homepage":"https://github.com/backbrace/git-changelog#readme","_id":"@backbrace/git-changelog@0.1.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-6h6e7zzMQO6I+Qc1IhluiyBIkICXU8c6wVI33UBxQRbBj4edhh1cl/gNvE82uL8AzsYdXxuhTg8NFXTB0dlW+w==","shasum":"51ef41e9b3f0f416169ba2e4bfa7afeeb06f99f1","tarball":"https://registry.npmjs.org/@backbrace/git-changelog/-/git-changelog-0.1.0.tgz","fileCount":49,"unpackedSize":179715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5abnCRA9TVsSAnZWagAARloP/0LhelqxJ9R8HDT/bc5N\nC9bbK8AL7CntFFc7JELgSrRFKh/+4FiqQ41qrnL1NZGubHP3gx+p9eseHnp4\nyxIINaV6h604QL2HyNWYmh+1MI3eKXYc8BjtZ7C13MH7oPUW1p7pP6m28b41\nPHfG44iHPouxrjA/BtJsC7v3zVcR6XbwUD5B+Hm9gAB1Hw4O2YVqnRt9YByr\n1Fve6YuR5l+SkLyqz6ZnefXLUfJ7rQGig83ncMTw7STlf0xt4BZOA94RW0sS\nZTYV7rzCBUCD1UTewYGwxGu0v3w0QJIhS9o6swAOX6tnZvwSZs3C3WD6K5gu\nhB2ndU2KDweb1xABu9F3IFetgHIynFqFNsLr+lXoy8X3XwcxtMyOZqhzyKLP\n2/nDwzKMlNej0KmEgjlHaqZ9Hz41AZnBWiculEgM7q2ss+hW5EcbY1bRStZQ\n5gJDSnD+6ZbgzfBMQ1TeZV9zEqyEAR/dp6faN4ITZq50jg8Pa82hGQINaZ5N\nbYEgphOqYu5lz4iEYRC4DwuEPY+tRv/SHKee3vSCCFTAFRwmQdGh/GR24s3S\nfBmTyBwcKi8rLNd+X3I+t7SHedDCXqijBuruK+ecYVxp21VDy0Qxs5JaVuQd\neMMO1OA1lWaqxTIplCzliz9GhWIke/91aHThvwK5PAEpdFf0pl3mTljPmr+b\nNziJ\r\n=QVZU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFIwkNKk+UPsBCSz3HKVhjuuRD4dxF6J3odqEzOjpgExAiBUAOsyG+ucNvQRgPWJ0mM3qK989vIYCjAr+fadoLGf7w=="}]},"maintainers":[{"name":"paulfisher53","email":"paulfisher53@gmail.com"}],"_npmUser":{"name":"paulfisher53","email":"paulfisher53@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-changelog_0.1.0_1575331559524_0.9607445083480357"},"_hasShrinkwrap":false}},"time":{"created":"2019-12-03T00:05:59.357Z","0.1.0":"2019-12-03T00:05:59.628Z","modified":"2022-04-04T17:26:44.870Z"},"maintainers":[{"name":"paulfisher53","email":"paulfisher53@gmail.com"}],"description":"Generates a git changelog, inspired & based on Angular JS changelog generator.","homepage":"https://github.com/backbrace/git-changelog#readme","keywords":["gruntplugin, git, git-changelog, angularjs, angular, commit, log"],"repository":{"type":"git","url":"git+https://github.com/backbrace/git-changelog.git"},"author":{"name":"Paul Fisher","email":"paulfisher53@gmail.com"},"bugs":{"url":"https://github.com/backbrace/git-changelog/issues"},"license":"MIT","readme":"# @backbrace/git-changelog\n\n> Generates a git changelog, inspired & based on Angular JS changelog generator (based on [git-changelog](https://github.com/rafinskipg/git-changelog))\n\n## Install\n\nUsing npm:\n\n```sh\nnpm install --save-dev @backbrace/git-changelog\n```\n\n## Usage\n\n**Works as a `CLI` option or `grunt` plugin**\n\n[Example output](https://github.com/backbrace/git-changelog/blob/master/EXTENDEDCHANGELOG.md)\n\n----\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [`.changelogrc` specification](#changelogrc-specification)\n  - [Options | Defaults](#options--defaults)\n- [The \"git_changelog\" task](#the-git_changelog-task)\n  - [Grunt Task](#grunt-task)\n    - [Getting Started](#getting-started)\n  - [Command Line](#command-line)\n- [Git Commit Guidelines - Source : \"Angular JS\"](#git-commit-guidelines---source--angular-js)\n  - [Commit Message Format](#commit-message-format)\n  - [Example types](#example-types)\n  - [Scope](#scope)\n  - [Subject](#subject)\n  - [Body](#body)\n  - [Footer](#footer)\n- [Tagging your project](#tagging-your-project)\n- [Contributors](#contributors)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## `.changelogrc` specification\n\nThe `.changelogrc` file contains the \"standard commit guideliness\" that you and your team are following.\n\nThis specification is used to grep the commits on your log, it contains a valid JSON that will tell git-changelog which sections to include on the changelog. \n\n```javascript\n{\n    \"app_name\": \"Git Changelog\",\n    \"logo\": \"https://github.com/backbrace/git-changelog/raw/master/images/git-changelog-logo.png\",\n    \"intro\": \"Git changelog is a utility tool for generating changelogs. It is free and opensource. :)\",\n    \"branch\" : \"\",\n    \"repo_url\": \"\",\n    \"version_name\" : \"v1.0.0\",\n    \"file\": \"CHANGELOG.md\",\n    \"template\": \"myCustomTemplate.md\",\n    \"sections\": [\n        {\n            \"title\": \"Bug Fixes\",\n            \"grep\": \"^fix\"\n        },\n        {\n            \"title\": \"Features\",\n            \"grep\": \"^feat\"\n        },\n        {\n            \"title\": \"Documentation\",\n            \"grep\": \"^docs\"\n        },\n        {\n            \"title\": \"Breaking changes\",\n            \"grep\": \"BREAKING\"\n        },\n        {\n            \"title\": \"Refactor\",\n            \"grep\": \"^refactor\"\n        },\n        {\n            \"title\": \"Style\",\n            \"grep\": \"^style\"\n        },\n        {\n            \"title\": \"Test\",\n            \"grep\": \"^test\"\n        },\n        {\n            \"title\": \"Chore\",\n            \"grep\": \"^chore\"\n        },\n        {\n            \"title\": \"Branchs merged\",\n            \"grep\": \"^Merge branch\"\n        },\n        {\n            \"title\" : \"Pull requests merged\",\n            \"grep\": \"^Merge pull request\"\n        }\n    ]\n}\n```\n\n### Options | Defaults\n\n* **branch** : The name of the branch. Defaults to ` `\n* **repo_url** : The url of the project. For issues and commits links. Defaults to `git config --get remote.origin.url`\n* **provider** : Optional field, the provider is calculated from the repo_url, but can also be passed as config parameter. Values available: gitlab, github, bitbucket.\n* **version_name**: The version name of the project.\n* **file**: The name of the file that will be generated. Defaults to `CHANGELOG.md`,\n* **template**: The template for generating the changelog. It defaults to the one inside this project (/templates/template.md)\n* **app_name** : The name of the project. Defaults to `My App - Changelog`\n* **intro** : The introduction text on the header of the changelog. Defaults to `null`\n* **logo** : A logo URL to be included in the header of the changelog. Defaults to `null`\n* **changelogrc** : Relative path indicating the location of the .changelogrc file, defaults to current dir.\n* **tag**: You can select from which tag to generate the log, it defaults to the last one. Set it to false for log since the beginning of the project\n* **debug**: Debug mode, false by default\n* **sections**: Group the commit by sections. The sections included by default are the ones that are on the previous example of .changelogrc file.\n\n\n## The \"git_changelog\" task\n\n### Grunt Task\n\n#### Getting Started\nThis plugin requires Grunt `1.0.0`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install git-changelog --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('git-changelog');\n```\n\n\nIn your project's Gruntfile, add a section named `git_changelog` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  git_changelog: {\n    minimal: {\n      options: {\n        file: 'MyChangelog.md',\n        app_name : 'Git changelog',\n        changelogrc : '/files/.changelogrc',\n        logo : 'https://github.com/backbrace/git-changelog/raw/master/images/git-changelog-logo.png',\n        intro : 'Git changelog is a utility tool for generating changelogs. It is free and opensource. :)'\n      }\n    },\n    extended: {\n      options: {\n        app_name : 'Git changelog extended',\n        file : 'EXTENDEDCHANGELOG.md',\n        version_name : 'squeezy potatoe',\n        sections : [\n          {\n            \"title\": \"Test commits\",\n            \"grep\": \"^test\"\n          },\n          {\n            \"title\": \"New Awesome Features!\",\n            \"grep\": \"^feat\"\n          }\n        ],\n        debug: true,\n        tag : false //False for commits since the beggining\n      }\n    },\n    fromCertainTag: {\n      options: {\n        repo_url: 'https://github.com/backbrace/git-changelog',\n        app_name : 'My project name',\n        file : 'tags/certainTag.md',\n        tag : 'v0.0.1'\n      }\n    },\n    customTemplate: {\n      options: {\n        app_name : 'Custom Template',\n        intro: 'This changelog is generated with a custom template',\n        file: 'output/customTemplate.md',\n        template: 'templates/template_two.md',\n        logo : 'https://github.com/backbrace/git-changelog/raw/master/images/git-changelog-logo.png',\n        version_name : 'squeezy potatoe',\n        tag: 'v0.0.1',\n        debug: true\n      }\n    }\n  }\n})\n```\n\n\n### Command Line\nInstall it globally\n\n```\nnpm install -g git-changelog\n```\nSee commands\n```\ngit-changelog -h\n```\n\nUse it directly with the common options\n```\n Usage: git-changelog [options]\n\n  Options:\n\n    -h, --help                         output usage information\n    -V, --version                      output the version number\n    -e, --extended                     Extended log\n    -n, --version_name [version_name]  Name of the version\n    -a, --app_name [app_name]          Name [app_name]\n    -b, --branch [branch]              Branch name [branch]\n    -f, --file [file]                  File [file]\n    -tpl, --template [template]        Template [template]\n    -r, --repo_url [repo_url]          Repo url [repo_url]\n    -l, --logo [logo]                  Logo path [logo]\n    -i, --intro [intro]                intro text [intro]\n    -t, --tag [tag]                    Since tag [tag]\n    -rc, --changelogrc [changelogrc]   .changelogrc relative path [changelogrc]\n    -g, --grep [grep]                  Grep commits for [grep]\n    -d, --debug                        Debugger\n    -p, --provider [provider]          Provider: gitlab, github, bitbucket (Optional)\n\n```\n\nFor example:\n\n```\ngit-changelog -t false -a \"My nice application\"\n```\n\n\n## Git Commit Guidelines - Source : \"Angular JS\"\n\nWe have very precise rules over how our git commit messages can be formatted.  This leads to **more\nreadable messages** that are easy to follow when looking through the **project history**.  But also,\nwe use the git commit messages to **generate the AngularJS change log**.\n\n### Commit Message Format\nEach commit message consists of a **header**, a **body** and a **footer**.  The header has a special\nformat that includes a **type**, a **scope** and a **subject**:\n\n```\n<type>(<scope>): <subject>\n<BLANK LINE>\n<body>\n<BLANK LINE>\n<footer>\n```\n\nAny line of the commit message cannot be longer 100 characters! This allows the message to be easier\nto read on github as well as in various git tools.\n\nExample commit messages\n\n```\ngit commit -m \"docs(readme): Add documentation for explaining the commit message\"\ngit commit -m \"refactor: Change other things\"\n```\n\nClosing issues : \n\n```\ngit commit -m \"fix(git_changelog_generate): pass tag if it exists to gitReadLog\nPreviously if a tag was found the script would try to find commits\nbetween undefined..HEAD. By passing the tag, it now finds tags between\ntag..HEAD.\n\nCloses #5.\"\n```\n\n### Example types\n\n**You may define your own types refering to the `.changelogrc` specification**\n\nMust be one of the following:\n\n* **feat**: A new feature\n* **fix**: A bug fix\n* **docs**: Documentation only changes\n* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)\n* **refactor**: A code change that neither fixes a bug or adds a feature\n* **test**: Adding missing tests\n* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation\n\n\n### Scope\nThe scope could be anything specifying place of the commit change. For example `$location`,\n`$browser`, `$compile`, `$rootScope`, `ngHref`, `ngClick`, `ngView`, etc...\n\n### Subject\nThe subject contains succinct description of the change:\n\n* use the imperative, present tense: \"change\" not \"changed\" nor \"changes\"\n* don't capitalize first letter\n* no dot (.) at the end\n\n### Body\nJust as in the **subject**, use the imperative, present tense: \"change\" not \"changed\" nor \"changes\"\nThe body should include the motivation for the change and contrast this with previous behavior.\n\n### Footer\nThe footer should contain any information about **Breaking Changes** and is also the place to\nreference GitHub issues that this commit **Closes**.\n\n\nA detailed explanation can be found in this [document][commit-message-format].\n[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#\n\n## Tagging your project\n\nIn order to have you project versions correctly displayed on your changelog, try to use this commit message format:\n\n```\nchore(release): v1.4.0 codename(jaracimrman-existence)\n```\n\nIn order to do that, you can use git annotated tags:\n\n```\ngit tag -a v1.4.0 -m 'chore(release): v1.4.0 codename(jaracimrman-existence)'\n```\n\nIf you are publishing NPM modules you can let NPM [do that for you][npm-versioning]:\n\n```\nnpm version patch -m \"chore(release): %s codename(furious-stallman)\"\n```\n\n## Contributors\n\n_Add your name here by contributing to this project_\n\n- [rafinskipg][Rafinskipg]\n- [JohnnyEstilles][JohnnyEstilles]\n- [colegleason][colegleason]\n- [jodybrewster][jodybrewster]\n","readmeFilename":"README.md"}