git-changelog
Advanced tools
Comparing version 0.1.9 to 1.0.0
@@ -1,7 +0,3 @@ | ||
<img width="300px" src="https://github.com/rafinskipg/git-changelog/raw/master/images/git-changelog-logo.png" /> | ||
__my name__ | ||
__Git changelog__ | ||
_Git changelog is a utility tool for generating changelogs. It is free and opensource. :)_ | ||
# (2016-05-08) | ||
@@ -15,10 +11,6 @@ | ||
- correctly get branch name from the command line | ||
([4baa075b](https://github.com/rafinskipg/git-changelog/commit/4baa075bd93f878ee708817f911fe89c102dec02)) | ||
- Fix generation of logs | ||
([cddb2408](https://github.com/rafinskipg/git-changelog/commit/cddb2408fa3017be704acac51dabbba9f477a547)) | ||
- correctly detect when running under grunt on Windows | ||
([4205ea49](https://github.com/rafinskipg/git-changelog/commit/4205ea49a893e4d1807a39268739c13754d40cf2)) | ||
- **Options:** use repo_url instead of url | ||
([346b3949](https://github.com/rafinskipg/git-changelog/commit/346b39491923a49a3421f174a566b204d5fc7db9)) | ||
- **params:** Restores versionName in CLI | ||
([1d97f952](https://github.com/rafinskipg/git-changelog/commit/1d97f952bd5d37f67c1febdf161f4ce9b310eebf)) | ||
@@ -28,4 +20,4 @@ | ||
- improve `git log` synthax command to use the branch name | ||
([4ce61281](https://github.com/rafinskipg/git-changelog/commit/4ce6128103ece64b44695ac196b457e63649229b)) | ||
- Show pull requests merged | ||
([65f5504c](https://github.com/rafinskipg/git-changelog/commit/65f5504ce8e92fa39ced7da308e471cc85f750b5)) | ||
@@ -35,9 +27,50 @@ | ||
- Updated readme with the correct specification | ||
([ec2de4bf](https://github.com/rafinskipg/git-changelog/commit/ec2de4bf599dfc77c24c9b86ee9c0d86fe37e5b8)) | ||
- **README:** | ||
- Follow proper style in example commits | ||
([6fef01ba](https://github.com/rafinskipg/git-changelog/commit/6fef01ba8a71bb5cd779ddb84f52b8f75296618d)) | ||
- Reorder contents | ||
([14e8a772](https://github.com/rafinskipg/git-changelog/commit/14e8a772c3a05c32bc9fba6f75565132025d4942)) | ||
- TOC | ||
([d6338ab4](https://github.com/rafinskipg/git-changelog/commit/d6338ab45f6e45e5562e5e6f4f1db86f39ca458d)) | ||
- Added more information on the new specification | ||
([f984eedd](https://github.com/rafinskipg/git-changelog/commit/f984eedde6be5db804d0b6bf2e238ab2e7ca15fb)) | ||
- added more commit examples and npm versioning usage | ||
([51341b7a](https://github.com/rafinskipg/git-changelog/commit/51341b7aae082c6c1a1caaa77dfdbfdc2622a56f)) | ||
## Refactor | ||
- Refactor branch name | ||
([8774b963](https://github.com/rafinskipg/git-changelog/commit/8774b963fd5e15de1cc1066c91034f9b1d34c4bc)) | ||
- **generate:** replace `#getStream` with `fse#createOutputStream` | ||
([2d252d89](https://github.com/rafinskipg/git-changelog/commit/2d252d89017a70008896497e36f03e9d2add2c97)) | ||
## Test | ||
- Tests fixed | ||
([b9edae3b](https://github.com/rafinskipg/git-changelog/commit/b9edae3bfc64f2a8c2320f6f27326225bd586cc7)) | ||
## Chore | ||
- Remove grunt from peer dependencies | ||
([f6111d31](https://github.com/rafinskipg/git-changelog/commit/f6111d31f0c70f8368d2a57ea708bf58990f6bfd)) | ||
- Updated jshint | ||
([1d5f6b1d](https://github.com/rafinskipg/git-changelog/commit/1d5f6b1d471e9d48ac2b4c7c8b78e3e5a8021ff4)) | ||
- typos and grammar | ||
([5ae2ee52](https://github.com/rafinskipg/git-changelog/commit/5ae2ee52d1f096d375d077299047684eae2cd5e2)) | ||
- **cleanup:** | ||
- remove unnecessary code [skip ci] | ||
([80dbe3ec](https://github.com/rafinskipg/git-changelog/commit/80dbe3ec7a28e7c20d99e89009856c70138350b0)) | ||
- remove `#getStream` and `#checkPath` | ||
([cd75ebc4](https://github.com/rafinskipg/git-changelog/commit/cd75ebc44e39242b7e9c8ef2363c86d3f1cabc0e)) | ||
- **deps:** install fs-extra@0.18.4 | ||
([7c8e257b](https://github.com/rafinskipg/git-changelog/commit/7c8e257b81f0daeba7e347d175583af1a7a9bfa0)) | ||
--- | ||
<sub><sup>*Generated with [git-changelog](https://github.com/rafinskipg/git-changelog). If you have any problems or suggestions, create an issue.* :) **Thanks** </sub></sup> |
@@ -15,6 +15,8 @@ <img width="300px" src="https://github.com/rafinskipg/git-changelog/raw/master/images/git-changelog-logo.png" /> | ||
- correctly get branch name from the command line | ||
([4baa075b](https://github.com/rafinskipg/git-changelog/commit/4baa075bd93f878ee708817f911fe89c102dec02)) | ||
- Fix generation of logs | ||
([cddb2408](https://github.com/rafinskipg/git-changelog/commit/cddb2408fa3017be704acac51dabbba9f477a547)) | ||
- correctly detect when running under grunt on Windows | ||
([4205ea49](https://github.com/rafinskipg/git-changelog/commit/4205ea49a893e4d1807a39268739c13754d40cf2)) | ||
- fixed tests | ||
([2e60172a](https://github.com/rafinskipg/git-changelog/commit/2e60172a4666c70d27e66d15dad297b89fff9583)) | ||
- Stream didn't close properly | ||
@@ -24,4 +26,2 @@ ([99f228cf](https://github.com/rafinskipg/git-changelog/commit/99f228cfa5cb26c46ef9e3b00171a5e3d38fd844)) | ||
([c186f2d8](https://github.com/rafinskipg/git-changelog/commit/c186f2d877e7907305953610bcaaef331406178a)) | ||
- **Options:** use repo_url instead of url | ||
([346b3949](https://github.com/rafinskipg/git-changelog/commit/346b39491923a49a3421f174a566b204d5fc7db9)) | ||
- **checkPath:** add missing require('path') | ||
@@ -39,4 +39,2 @@ ([e5dab826](https://github.com/rafinskipg/git-changelog/commit/e5dab826062bd22dd37c8c3d3c24a4d9b4701f6d)) | ||
([257119cf](https://github.com/rafinskipg/git-changelog/commit/257119cf2bb6d8f341a5d65a2f47bcf803dff205)) | ||
- **params:** Restores versionName in CLI | ||
([1d97f952](https://github.com/rafinskipg/git-changelog/commit/1d97f952bd5d37f67c1febdf161f4ce9b310eebf)) | ||
@@ -46,4 +44,4 @@ | ||
- improve `git log` synthax command to use the branch name | ||
([4ce61281](https://github.com/rafinskipg/git-changelog/commit/4ce6128103ece64b44695ac196b457e63649229b)) | ||
- Show pull requests merged | ||
([65f5504c](https://github.com/rafinskipg/git-changelog/commit/65f5504ce8e92fa39ced7da308e471cc85f750b5)) | ||
- CLI option with git-changelog | ||
@@ -68,81 +66,222 @@ ([50af9f0a](https://github.com/rafinskipg/git-changelog/commit/50af9f0aeba14e88254aaf1bfd6433c4c6bc9fbe)) | ||
## Documentation | ||
- Updated readme with the correct specification | ||
([ec2de4bf](https://github.com/rafinskipg/git-changelog/commit/ec2de4bf599dfc77c24c9b86ee9c0d86fe37e5b8)) | ||
- Updated options and tagging info | ||
([1ad3b6be](https://github.com/rafinskipg/git-changelog/commit/1ad3b6bedc6431b70e3a2e93e5967bad9a7830ee)) | ||
- added documentation for explaining the commit message | ||
([d516c2fb](https://github.com/rafinskipg/git-changelog/commit/d516c2fb464072fc1f4c86ec71a910eeab3e830c)) | ||
- Added docs | ||
([e0ba50c0](https://github.com/rafinskipg/git-changelog/commit/e0ba50c0bb0b13e9b39a59b8f4dda96e86d55644)) | ||
- **README:** | ||
- Follow proper style in example commits | ||
([6fef01ba](https://github.com/rafinskipg/git-changelog/commit/6fef01ba8a71bb5cd779ddb84f52b8f75296618d)) | ||
- Reorder contents | ||
([14e8a772](https://github.com/rafinskipg/git-changelog/commit/14e8a772c3a05c32bc9fba6f75565132025d4942)) | ||
- TOC | ||
([d6338ab4](https://github.com/rafinskipg/git-changelog/commit/d6338ab45f6e45e5562e5e6f4f1db86f39ca458d)) | ||
- Added more information on the new specification | ||
([f984eedd](https://github.com/rafinskipg/git-changelog/commit/f984eedde6be5db804d0b6bf2e238ab2e7ca15fb)) | ||
- added more commit examples and npm versioning usage | ||
([51341b7a](https://github.com/rafinskipg/git-changelog/commit/51341b7aae082c6c1a1caaa77dfdbfdc2622a56f)) | ||
- add logo | ||
([1af36c9b](https://github.com/rafinskipg/git-changelog/commit/1af36c9b0dad5cc0c2a321e3f280a89d76a8fb2b)) | ||
- **readme:** Final readme Fixes #1 Closes #1 | ||
([e725d8f4](https://github.com/rafinskipg/git-changelog/commit/e725d8f4bf477b517ca6185a75fdfa0aa660b3be), | ||
[#1](https://github.com/rafinskipg/git-changelog/issues/1)) | ||
## Refactor | ||
- Refactor branch name | ||
([8774b963](https://github.com/rafinskipg/git-changelog/commit/8774b963fd5e15de1cc1066c91034f9b1d34c4bc)) | ||
- added debug messages and refactored some additional code | ||
([70e48caf](https://github.com/rafinskipg/git-changelog/commit/70e48caf330b7f76fdea474ce58bcf96cb11ccbc)) | ||
- modified the task using a factory pattern to improve testability | ||
([1a0f25d3](https://github.com/rafinskipg/git-changelog/commit/1a0f25d3d9bbedd029c810c4dd2d35419cbb9276)) | ||
- Removed ignore tags and updated documentation | ||
([cb17b55d](https://github.com/rafinskipg/git-changelog/commit/cb17b55de2ba0b597147fe4ce15e6883feb82a88)) | ||
- removed deprecated options | ||
([7d05b632](https://github.com/rafinskipg/git-changelog/commit/7d05b632af6be3db2c00925b7cf28cd990c19a71)) | ||
- **delete:** deleted some files | ||
([b9c72f57](https://github.com/rafinskipg/git-changelog/commit/b9c72f57c4920420fef8c486bfccf5798870e06b)) | ||
- **docs:** | ||
- Angular document commits | ||
([01e8c1ba](https://github.com/rafinskipg/git-changelog/commit/01e8c1ba4c29fcddcfc237f4e6185682b9ced67d)) | ||
- Added docs | ||
([0a155845](https://github.com/rafinskipg/git-changelog/commit/0a1558458c46574c5b0e6ec3749668fad1c8647a)) | ||
- **generate:** replace `#getStream` with `fse#createOutputStream` | ||
([2d252d89](https://github.com/rafinskipg/git-changelog/commit/2d252d89017a70008896497e36f03e9d2add2c97)) | ||
- **lib:** simplify methods and refactor into separate files | ||
([7a3600bf](https://github.com/rafinskipg/git-changelog/commit/7a3600bf9a5487cb26e3eb4b65ac774a68b6b91e)) | ||
- **writeChangelog:** method now returns a promise | ||
([69fa1b0b](https://github.com/rafinskipg/git-changelog/commit/69fa1b0b11a603683342a9e0626cb69550b92002)) | ||
## Style | ||
- **message:** Added a message on the changelog for referencing the github | ||
([d20031a9](https://github.com/rafinskipg/git-changelog/commit/d20031a9dc6fd92cba205903b2fd9d25feae6ea7)) | ||
## Test | ||
- Tests fixed | ||
([b9edae3b](https://github.com/rafinskipg/git-changelog/commit/b9edae3bfc64f2a8c2320f6f27326225bd586cc7)) | ||
- added test for .init(), .getPreviousTag(), getRepoUrl(), .log() and .warn() | ||
([fd099a85](https://github.com/rafinskipg/git-changelog/commit/fd099a858b44e67e28f4e18f07c520803f3ac55e)) | ||
- removed unnecessary debug setting (was using for "debugging") | ||
([83cd52b1](https://github.com/rafinskipg/git-changelog/commit/83cd52b1e8b79dd6bff13dc0d2003e802f8e45e6)) | ||
- updated test to cover promise return from .generate() | ||
([c182ee47](https://github.com/rafinskipg/git-changelog/commit/c182ee47a4ec36a453420f8cc04358ec6e98e381)) | ||
- ensure changelog has default setting at the beginning of spec | ||
([31f81e26](https://github.com/rafinskipg/git-changelog/commit/31f81e262440aa10efafd90c74d98569df418795)) | ||
- changed spy on changelog.generate() to stub, to avoid polluting following tests | ||
([0aa35588](https://github.com/rafinskipg/git-changelog/commit/0aa35588cf944b2f84b842d66220d50e8f5d96a8)) | ||
- added test for .writeChageLog() and .organizeCommits() | ||
([b07f28e1](https://github.com/rafinskipg/git-changelog/commit/b07f28e1e92bdf20be669596651b344d2f70855e)) | ||
- added default mocha options | ||
([595c8347](https://github.com/rafinskipg/git-changelog/commit/595c8347fd4e2b697ceac247babe7ece7c90c4fa)) | ||
- added missing done() callback on .catch() | ||
([0da53e9c](https://github.com/rafinskipg/git-changelog/commit/0da53e9c8ad8a967753ac06dc1c23302c7956017)) | ||
- added tests for tag option equals to false | ||
([1fc1e809](https://github.com/rafinskipg/git-changelog/commit/1fc1e809dcca7d499f870c314d2860121fcb6bab)) | ||
- Added unit tests for commit parsing | ||
([504a61a7](https://github.com/rafinskipg/git-changelog/commit/504a61a715ed541feee4570810c2153ba8984420)) | ||
- **writeChangelog:** updated test to reflect changes to method | ||
([b999948f](https://github.com/rafinskipg/git-changelog/commit/b999948f2c38f5d002fa0dc535429a80acdf2d75)) | ||
## Chore | ||
- Remove grunt from peer dependencies | ||
([f6111d31](https://github.com/rafinskipg/git-changelog/commit/f6111d31f0c70f8368d2a57ea708bf58990f6bfd)) | ||
- Updated jshint | ||
([1d5f6b1d](https://github.com/rafinskipg/git-changelog/commit/1d5f6b1d471e9d48ac2b4c7c8b78e3e5a8021ff4)) | ||
- typos and grammar | ||
([5ae2ee52](https://github.com/rafinskipg/git-changelog/commit/5ae2ee52d1f096d375d077299047684eae2cd5e2)) | ||
- a couple of spelling corrections [ci skip] | ||
([1486a845](https://github.com/rafinskipg/git-changelog/commit/1486a84537c5fd2d7997721820981c7949487af2)) | ||
- minor edits to README | ||
([481c6c80](https://github.com/rafinskipg/git-changelog/commit/481c6c80d49e5e11c72d8378976d5d3ee1d581d2)) | ||
- fixing lint errors | ||
([3a8e8d48](https://github.com/rafinskipg/git-changelog/commit/3a8e8d486a2b89b9f04d01200fe4f9f7851d0123)) | ||
- added chai-as-promise to handle methods that return promises | ||
([1d384257](https://github.com/rafinskipg/git-changelog/commit/1d3842576839b763b28a777e96b061dbd4d01a80)) | ||
- updated travis config | ||
([d6a7ef94](https://github.com/rafinskipg/git-changelog/commit/d6a7ef945f600ec787b515486bd3abfa2f86a25b)) | ||
- stopped tracking test output files | ||
([1d12bccb](https://github.com/rafinskipg/git-changelog/commit/1d12bccb9f7dce07ff45318304dc5ab82620b6f1)) | ||
- added istanbul configuration file | ||
([88c945e6](https://github.com/rafinskipg/git-changelog/commit/88c945e6d8ddddfe6ee3bdf808ae2c749b4eabf3)) | ||
- updated travis configuration for code climate | ||
([fbd651dd](https://github.com/rafinskipg/git-changelog/commit/fbd651dd765a1ee26293dd03543e578181462e3f)) | ||
- fixed lint issues in tests | ||
([2edb0199](https://github.com/rafinskipg/git-changelog/commit/2edb019910a421cd94868397a0f5881e90af4ed5)) | ||
- add tests to lint task | ||
([1d789792](https://github.com/rafinskipg/git-changelog/commit/1d789792143d2f68820c16426e772857e45ba181)) | ||
- add lint rules for mocha test | ||
([bbea9341](https://github.com/rafinskipg/git-changelog/commit/bbea9341acb37f729e7f83d59d784cb4ff7969e1)) | ||
- ignore files generated by tests | ||
([3ccbff47](https://github.com/rafinskipg/git-changelog/commit/3ccbff47ee2dd655da95ea3a9b95cb156f8f6956)) | ||
- update dependencies | ||
([3036d803](https://github.com/rafinskipg/git-changelog/commit/3036d8037f4af6aa34fb137037a9eb9d0ce34297)) | ||
- removed unused dependency | ||
([cdd9f0d5](https://github.com/rafinskipg/git-changelog/commit/cdd9f0d5623f839eaaf646d4de0cf72816cf00af)) | ||
- fixed typo | ||
([081a8f96](https://github.com/rafinskipg/git-changelog/commit/081a8f963104711b5f15bb8468489ee13927e226)) | ||
- added commits fixture for tests | ||
([b7d16b68](https://github.com/rafinskipg/git-changelog/commit/b7d16b682a8167cd4a90e59c4f511774f6572ce1)) | ||
- added missing development dependencies | ||
([e52e3ec6](https://github.com/rafinskipg/git-changelog/commit/e52e3ec6234db4cc9055c6e0abd5f32b587f67d6)) | ||
- adding missing newline at the end of file | ||
([da4b5492](https://github.com/rafinskipg/git-changelog/commit/da4b54920e1be490fb47a25906eece63229b0094)) | ||
- removed testing from grunt file (causing recursion issues during some tests) | ||
([8e94e8ac](https://github.com/rafinskipg/git-changelog/commit/8e94e8ac23e73709495cf0c6851fbaf1a84c0c9b)) | ||
- install mocha before travis scripts | ||
([9be62aae](https://github.com/rafinskipg/git-changelog/commit/9be62aaeb7d50959cff870e0cabb08277d1c512b)) | ||
- updated npm scripts and added debug | ||
([aa4f2a2d](https://github.com/rafinskipg/git-changelog/commit/aa4f2a2d7b834484f65239ceccdf4f973dbe0cee)) | ||
- moved fixtures to the test folder | ||
([e59d429b](https://github.com/rafinskipg/git-changelog/commit/e59d429b032451f75ef986e2d1b3c63fb8672a1c)) | ||
- removed unused test/hacky.js | ||
([500fdf3c](https://github.com/rafinskipg/git-changelog/commit/500fdf3c37e72c98f4809806e85926035eb46792)) | ||
- rename changelog.spec.js to match file being tested | ||
([41757850](https://github.com/rafinskipg/git-changelog/commit/417578507b39aeffe826922ad3eccfcc13ad6ed0)) | ||
- fixed lint errors | ||
([71a5eae2](https://github.com/rafinskipg/git-changelog/commit/71a5eae2212e7abf87c97a569f8251a56b5474a6)) | ||
- added grunt coverage task | ||
([ef6cf2cf](https://github.com/rafinskipg/git-changelog/commit/ef6cf2cf14b69fe4200eb0eeb9319fb4bcdffcc2)) | ||
- added node.js `0.12` to travis-ci config | ||
([24d9c58a](https://github.com/rafinskipg/git-changelog/commit/24d9c58a0a4ea349709719c431ca9878a2f01bc4)) | ||
- Updated readme | ||
([fca6ecba](https://github.com/rafinskipg/git-changelog/commit/fca6ecbac686661ece15acdb41d23e86011457f2)) | ||
- package json version 1.1.3 | ||
([9d600386](https://github.com/rafinskipg/git-changelog/commit/9d6003868e352ae21383913f671bc091afc9d8c7)) | ||
- **cleanup:** | ||
- remove unnecessary code [skip ci] | ||
([80dbe3ec](https://github.com/rafinskipg/git-changelog/commit/80dbe3ec7a28e7c20d99e89009856c70138350b0)) | ||
- remove `#getStream` and `#checkPath` | ||
([cd75ebc4](https://github.com/rafinskipg/git-changelog/commit/cd75ebc44e39242b7e9c8ef2363c86d3f1cabc0e)) | ||
- **deps:** install fs-extra@0.18.4 | ||
([7c8e257b](https://github.com/rafinskipg/git-changelog/commit/7c8e257b81f0daeba7e347d175583af1a7a9bfa0)) | ||
- **images:** | ||
- add logo in JPEG format | ||
([50338b9a](https://github.com/rafinskipg/git-changelog/commit/50338b9a8b5540e42273857448e803d8b85c689d)) | ||
- add logo in PNG format | ||
([bb5fbbdb](https://github.com/rafinskipg/git-changelog/commit/bb5fbbdba7ef2b9466c185c12ef426d82fe25bcf)) | ||
- **lint:** | ||
- add missing semicolon | ||
([2888af48](https://github.com/rafinskipg/git-changelog/commit/2888af4803f85da1afbb8c9832314f53cc4ca131)) | ||
- fix indentation | ||
([4cf9b6e6](https://github.com/rafinskipg/git-changelog/commit/4cf9b6e69a1426d48f18da45614f8f01994707b7)) | ||
- have jshint ignore false positives | ||
([ed8e9df4](https://github.com/rafinskipg/git-changelog/commit/ed8e9df48720c42086186fa4219262a351bbc3e4)) | ||
- fixing jshint errors | ||
([987366f0](https://github.com/rafinskipg/git-changelog/commit/987366f02517c9cfdb62264d0f6ea7d0b20d6634)) | ||
- **package:** Package json version | ||
([990b8ea0](https://github.com/rafinskipg/git-changelog/commit/990b8ea04ca04f3c907653b0fa89ae6ddd601092)) | ||
- **package.json:** Added preversion script | ||
([b3f1e44a](https://github.com/rafinskipg/git-changelog/commit/b3f1e44a900b00bda1facaee5354ba1ff58166aa)) | ||
- **release:** 0.1.8 codename(furious-stallman) | ||
([b9432318](https://github.com/rafinskipg/git-changelog/commit/b943231854ffd6cb0c5f32e5482cadd99c96f3e9)) | ||
- **task:** cleanup unused requires | ||
([8a41d4e7](https://github.com/rafinskipg/git-changelog/commit/8a41d4e7b245b2698749279765bcef4748e18ac7)) | ||
## Documentation | ||
## Branchs merged | ||
- Updated options and tagging info | ||
- added documentation for explaining the commit message | ||
- Added docs | ||
- **README:** | ||
- Follow proper style in example commits | ||
- added more commit examples and npm versioning usage | ||
- add logo | ||
- **readme:** Final readme Fixes #1 Closes #1 | ||
- Merge branch 'feature/add-logo' | ||
([e29b2dd8](https://github.com/rafinskipg/git-changelog/commit/e29b2dd8e088386eeec3f0c125973de6c8cdc2c6)) | ||
- Merge branch 'development' into feature/code-refactoring | ||
([34ea0198](https://github.com/rafinskipg/git-changelog/commit/34ea0198b976c72c638fd815be5a5913c67ef80a)) | ||
## Pull requests merged | ||
- Merge pull request #46 from zoner14/master | ||
([0485a1fd](https://github.com/rafinskipg/git-changelog/commit/0485a1fd4bf01662f50b93098c6b535eb7c527eb)) | ||
- Merge pull request #37 from richardthombs/fix-grunt-on-windows | ||
([5f024339](https://github.com/rafinskipg/git-changelog/commit/5f02433963b5b603c5763bd5c1a37cf8ca9e3598)) | ||
- Merge pull request #33 from richardthombs/fix-typos | ||
([2656d150](https://github.com/rafinskipg/git-changelog/commit/2656d150eb95c6ad9326e4265ba64edf8e49a11c)) | ||
- Merge pull request #30 from JohnnyEstilles/refactor/get-stream | ||
([a52b1169](https://github.com/rafinskipg/git-changelog/commit/a52b1169a2510d83d6d4fd5113ce157f30c4d4d0)) | ||
- Merge pull request #25 from JohnnyEstilles/code-climate | ||
([28053b92](https://github.com/rafinskipg/git-changelog/commit/28053b9292d3d61fb33a004f6088c244e653b76b)) | ||
- Merge pull request #23 from JohnnyEstilles/docs/readme-updates | ||
([3079151a](https://github.com/rafinskipg/git-changelog/commit/3079151a8d5f90d0830aab4437a65dff4d837b2a)) | ||
- Merge pull request #20 from JohnnyEstilles/feature/code-refactoring | ||
([be209f04](https://github.com/rafinskipg/git-changelog/commit/be209f04c22f1ce2cb82e6412c4ddf117897a9e7)) | ||
- Merge pull request #12 from jodybrewster/master | ||
([219ea809](https://github.com/rafinskipg/git-changelog/commit/219ea8091ac81a55b0210c9a7fd41a7f0ee5660f)) | ||
- Merge pull request #7 from colegleason/fix-tags | ||
([1d4f6043](https://github.com/rafinskipg/git-changelog/commit/1d4f604363094d4eee3b4d7b1ca01133edaad344)) | ||
- Merge pull request #6 from colegleason/add-q | ||
([2a712b9c](https://github.com/rafinskipg/git-changelog/commit/2a712b9cfd912f36b6f7f70d16b336575881881a)) | ||
--- | ||
<sub><sup>*Generated with [git-changelog](https://github.com/rafinskipg/git-changelog). If you have any problems or suggestions, create an issue.* :) **Thanks** </sub></sup> |
@@ -50,3 +50,13 @@ /* | ||
tag: 'v0.0.1', | ||
debug: true | ||
debug: true, | ||
sections: [ | ||
{ | ||
"title": "Bug Fixes", | ||
"grep": "^fix" | ||
}, | ||
{ | ||
"title": "Pull requests merged", | ||
"grep": "^Merge pull request" | ||
} | ||
] | ||
} | ||
@@ -63,3 +73,44 @@ }, | ||
file : 'EXTENDEDCHANGELOG.md', | ||
grep_commits: '^fix|^feat|^docs|^refactor|^chore|BREAKING' | ||
sections: [ | ||
{ | ||
"title": "Bug Fixes", | ||
"grep": "^fix" | ||
}, | ||
{ | ||
"title": "Features", | ||
"grep": "^feat" | ||
}, | ||
{ | ||
"title": "Documentation", | ||
"grep": "^docs" | ||
}, | ||
{ | ||
"title": "Breaking changes", | ||
"grep": "BREAKING" | ||
}, | ||
{ | ||
"title": "Refactor", | ||
"grep": "^refactor" | ||
}, | ||
{ | ||
"title": "Style", | ||
"grep": "^style" | ||
}, | ||
{ | ||
"title": "Test", | ||
"grep": "^test" | ||
}, | ||
{ | ||
"title": "Chore", | ||
"grep": "^chore" | ||
}, | ||
{ | ||
"title": "Branchs merged", | ||
"grep": "^Merge branch" | ||
}, | ||
{ | ||
"title" : "Pull requests merged", | ||
"grep": "^Merge pull request" | ||
} | ||
] | ||
} | ||
@@ -66,0 +117,0 @@ } |
@@ -13,6 +13,8 @@ <img width="300px" src="https://github.com/rafinskipg/git-changelog/raw/master/images/git-changelog-logo.png" /> | ||
- correctly get branch name from the command line | ||
([4baa075b](https://github.com/rafinskipg/git-changelog/commit/4baa075bd93f878ee708817f911fe89c102dec02)) | ||
- Fix generation of logs | ||
([cddb2408](https://github.com/rafinskipg/git-changelog/commit/cddb2408fa3017be704acac51dabbba9f477a547)) | ||
- correctly detect when running under grunt on Windows | ||
([4205ea49](https://github.com/rafinskipg/git-changelog/commit/4205ea49a893e4d1807a39268739c13754d40cf2)) | ||
- fixed tests | ||
([2e60172a](https://github.com/rafinskipg/git-changelog/commit/2e60172a4666c70d27e66d15dad297b89fff9583)) | ||
- Stream didn't close properly | ||
@@ -22,4 +24,2 @@ ([99f228cf](https://github.com/rafinskipg/git-changelog/commit/99f228cfa5cb26c46ef9e3b00171a5e3d38fd844)) | ||
([c186f2d8](https://github.com/rafinskipg/git-changelog/commit/c186f2d877e7907305953610bcaaef331406178a)) | ||
- **Options:** use repo_url instead of url | ||
([346b3949](https://github.com/rafinskipg/git-changelog/commit/346b39491923a49a3421f174a566b204d5fc7db9)) | ||
- **checkPath:** add missing require('path') | ||
@@ -37,43 +37,30 @@ ([e5dab826](https://github.com/rafinskipg/git-changelog/commit/e5dab826062bd22dd37c8c3d3c24a4d9b4701f6d)) | ||
([257119cf](https://github.com/rafinskipg/git-changelog/commit/257119cf2bb6d8f341a5d65a2f47bcf803dff205)) | ||
- **params:** Restores versionName in CLI | ||
([1d97f952](https://github.com/rafinskipg/git-changelog/commit/1d97f952bd5d37f67c1febdf161f4ce9b310eebf)) | ||
## Features | ||
## Pull requests merged | ||
- improve `git log` synthax command to use the branch name | ||
([4ce61281](https://github.com/rafinskipg/git-changelog/commit/4ce6128103ece64b44695ac196b457e63649229b)) | ||
- CLI option with git-changelog | ||
([50af9f0a](https://github.com/rafinskipg/git-changelog/commit/50af9f0aeba14e88254aaf1bfd6433c4c6bc9fbe)) | ||
- Working on new API | ||
([121b9928](https://github.com/rafinskipg/git-changelog/commit/121b99285d2a04f9159951fa0e3f849d0d618fef)) | ||
- **bootstrap:** creating initial structure | ||
([dea45d68](https://github.com/rafinskipg/git-changelog/commit/dea45d68ce9555e876680bf7c0778add2f367a30)) | ||
- **grunt-plugin:** | ||
- Commit for research purposes | ||
([5afbb7a9](https://github.com/rafinskipg/git-changelog/commit/5afbb7a95c9f0e985f78666e7e231967524a8928)) | ||
- Now it is ready to be a grunt plugin | ||
([6422e055](https://github.com/rafinskipg/git-changelog/commit/6422e0552b30f6e94d11b03310a23c1342aa5965)) | ||
- **options:** Added ignore tags option | ||
([95362e8b](https://github.com/rafinskipg/git-changelog/commit/95362e8b57a673e810ffe54ff3337de1ea5109a8)) | ||
- **output:** added logo in printHeader | ||
([6b489450](https://github.com/rafinskipg/git-changelog/commit/6b489450a90172dc57059d7fd55fb4c6110152b2)) | ||
- **package:** Added global install so you can run via command | ||
([86eae3f0](https://github.com/rafinskipg/git-changelog/commit/86eae3f013ace1c5c23afc32b2e8f878a69629f1)) | ||
- Merge pull request #46 from zoner14/master | ||
([0485a1fd](https://github.com/rafinskipg/git-changelog/commit/0485a1fd4bf01662f50b93098c6b535eb7c527eb)) | ||
- Merge pull request #37 from richardthombs/fix-grunt-on-windows | ||
([5f024339](https://github.com/rafinskipg/git-changelog/commit/5f02433963b5b603c5763bd5c1a37cf8ca9e3598)) | ||
- Merge pull request #33 from richardthombs/fix-typos | ||
([2656d150](https://github.com/rafinskipg/git-changelog/commit/2656d150eb95c6ad9326e4265ba64edf8e49a11c)) | ||
- Merge pull request #30 from JohnnyEstilles/refactor/get-stream | ||
([a52b1169](https://github.com/rafinskipg/git-changelog/commit/a52b1169a2510d83d6d4fd5113ce157f30c4d4d0)) | ||
- Merge pull request #25 from JohnnyEstilles/code-climate | ||
([28053b92](https://github.com/rafinskipg/git-changelog/commit/28053b9292d3d61fb33a004f6088c244e653b76b)) | ||
- Merge pull request #23 from JohnnyEstilles/docs/readme-updates | ||
([3079151a](https://github.com/rafinskipg/git-changelog/commit/3079151a8d5f90d0830aab4437a65dff4d837b2a)) | ||
- Merge pull request #20 from JohnnyEstilles/feature/code-refactoring | ||
([be209f04](https://github.com/rafinskipg/git-changelog/commit/be209f04c22f1ce2cb82e6412c4ddf117897a9e7)) | ||
- Merge pull request #12 from jodybrewster/master | ||
([219ea809](https://github.com/rafinskipg/git-changelog/commit/219ea8091ac81a55b0210c9a7fd41a7f0ee5660f)) | ||
- Merge pull request #7 from colegleason/fix-tags | ||
([1d4f6043](https://github.com/rafinskipg/git-changelog/commit/1d4f604363094d4eee3b4d7b1ca01133edaad344)) | ||
- Merge pull request #6 from colegleason/add-q | ||
([2a712b9c](https://github.com/rafinskipg/git-changelog/commit/2a712b9cfd912f36b6f7f70d16b336575881881a)) | ||
## Documentation | ||
- Updated options and tagging info | ||
- added documentation for explaining the commit message | ||
- Added docs | ||
- **README:** | ||
- Follow proper style in example commits | ||
- added more commit examples and npm versioning usage | ||
- add logo | ||
- **readme:** Final readme Fixes #1 Closes #1 | ||
--- | ||
<sub><sup>*Generated with [git-changelog](https://github.com/rafinskipg/git-changelog). If you have any problems or suggestions, create an issue.* :) **Thanks** </sub></sup> |
{ | ||
"name": "git-changelog", | ||
"description": "A git changelog based on ANGULAR JS commit standards", | ||
"version": "0.1.9", | ||
"description": "A git changelog tool", | ||
"version": "1.0.0", | ||
"homepage": "https://github.com/rafinskipg/git-changelog", | ||
@@ -25,3 +25,3 @@ "author": { | ||
"engines": { | ||
"node": ">= 0.8.0" | ||
"node": ">= 0.12.0" | ||
}, | ||
@@ -36,2 +36,3 @@ "scripts": { | ||
"dependencies": { | ||
"colors": "^1.1.0", | ||
"commander": "^2.8.0", | ||
@@ -50,4 +51,4 @@ "debug": "^2.1.3", | ||
"chai-as-promised": "^5.0.0", | ||
"grunt": "^0.4.5", | ||
"grunt-contrib-clean": "^0.6.0", | ||
"grunt": "^1.0.0", | ||
"grunt-contrib-clean": "^1.0.0", | ||
"grunt-contrib-jshint": "^0.11.2", | ||
@@ -60,5 +61,2 @@ "grunt-mocha-test": "^0.12.1", | ||
}, | ||
"peerDependencies": { | ||
"grunt": "~0.4.1" | ||
}, | ||
"keywords": [ | ||
@@ -65,0 +63,0 @@ "gruntplugin, git, git-changelog, angularjs, angular, commit, log" |
216
README.md
@@ -8,3 +8,3 @@ ![git-changelog logo][logo-image] | ||
> A git changelog based on ANGULAR JS commit standards. [NPM page][npm-url] | ||
> A git changelog based on ANGULAR JS commit standards (but adaptable to your needs). [NPM page][npm-url] | ||
@@ -15,20 +15,121 @@ **Works as a `CLI` option or `grunt` plugin** | ||
## NEWS! | ||
---- | ||
version 0.1.7 is out, special thanks to [JohnnyEstilles][JohnnyEstilles] for his work. | ||
<!-- START doctoc generated TOC please keep comment here to allow auto update --> | ||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> | ||
This release includes a big refactor with a huge improvement on test coverage. | ||
- [Breaking changes](#breaking-changes) | ||
- [`.changelogrc` specification](#changelogrc-specification) | ||
- [The "git_changelog" task](#the-git_changelog-task) | ||
- [Grunt Task](#grunt-task) | ||
- [Getting Started](#getting-started) | ||
- [Options | Defaults](#options-%7C-defaults) | ||
- [Command Line](#command-line) | ||
- [Git Commit Guidelines - Source : "Angular JS"](#git-commit-guidelines---source--angular-js) | ||
- [Commit Message Format](#commit-message-format) | ||
- [Example types](#example-types) | ||
- [Scope](#scope) | ||
- [Subject](#subject) | ||
- [Body](#body) | ||
- [Footer](#footer) | ||
- [Tagging your project](#tagging-your-project) | ||
- [ROADMAP](#roadmap) | ||
- [v0.3.0](#v030) | ||
- [Release History](#release-history) | ||
- [Contributors](#contributors) | ||
**Git changelog is secure enough** | ||
<!-- END doctoc generated TOC please keep comment here to allow auto update --> | ||
Next releases will include: | ||
- Downloadable resources area on the generated changelog, for linking to your zip project folder of certain tag. | ||
- .gitchangelogrc specification. That will allow using any comment standards for your commit messages. | ||
![Good news](http://www.labspaces.net/pictures/blog/4e5466b7dc69f1314154167_blog.jpg) | ||
## Breaking changes | ||
Since version `1.0.0` git-changelog has included the [`.changelogrc` specification](#changelog_specification) and has discontinued the next options: | ||
- `grep_commits` option has been removed in favour of the changelogrc options | ||
- `tag = false`, in addition to pick logs from the begining of the project, now groups the commits by tag [see example]. **TODO** | ||
- `tag = false` && `group=false` will log from the begining of the project, without grouping by tag **TODO** | ||
- `repo_url` fixed as parameter | ||
- `branch_name` changed to `branch` | ||
## Getting Started | ||
This plugin requires Grunt `~0.4.1` | ||
## `.changelogrc` specification | ||
The `.changelogrc` file contains the "standard commit guideliness" that you and your team are following. | ||
This 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. | ||
```javascript | ||
{ | ||
"app_name": "Git Changelog", | ||
"logo": "https://github.com/rafinskipg/git-changelog/raw/master/images/git-changelog-logo.png", | ||
"intro": "Git changelog is a utility tool for generating changelogs. It is free and opensource. :)", | ||
"branch" : "", | ||
"repo_url": "", | ||
"version" : "v1.0.0", | ||
"file": 'CHANGELOG.md', | ||
"sections": [ | ||
{ | ||
"title": "Bug Fixes", | ||
"grep": "^fix" | ||
}, | ||
{ | ||
"title": "Features", | ||
"grep": "^feat" | ||
}, | ||
{ | ||
"title": "Documentation", | ||
"grep": "^docs" | ||
}, | ||
{ | ||
"title": "Breaking changes", | ||
"grep": "BREAKING" | ||
}, | ||
{ | ||
"title": "Refactor", | ||
"grep": "^refactor" | ||
}, | ||
{ | ||
"title": "Style", | ||
"grep": "^style" | ||
}, | ||
{ | ||
"title": "Test", | ||
"grep": "^test" | ||
}, | ||
{ | ||
"title": "Chore", | ||
"grep": "^chore" | ||
}, | ||
{ | ||
"title": "Branchs merged", | ||
"grep": "^Merge branch" | ||
}, | ||
{ | ||
"title" : "Pull requests merged", | ||
"grep": "^Merge pull request" | ||
} | ||
] | ||
} | ||
``` | ||
### Options | Defaults | ||
* **branch** : The name of the branch. Defaults to ` ` | ||
* **repo_url** : The url of the project. For issues and commits links. Defaults to `git config --get remote.origin.url` | ||
* **version**: The version of the project. Defaults to ` `, *DEPRECATED* will default to the tag name | ||
* **file**: The name of the file that will be generated. Defaults to `CHANGELOG.md`, | ||
* **app_name** : The name of the project. Defaults to `My App - Changelog` | ||
* **intro** : The introduction text on the header of the changelog. Defaults to `null` | ||
* **logo** : A logo URL to be included in the header of the changelog. Defaults to `null` | ||
* **changelogrc ** : Relative path indicating the location of the .changelogrc file, defaults to current dir. | ||
* **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 | ||
* **debug**: Debug mode, false by default | ||
* **sections**: Group the commit by sections. The sections included by default are the ones that are on the previous example of .changelogrc file. | ||
## The "git_changelog" task | ||
### Grunt Task | ||
#### Getting Started | ||
This plugin requires Grunt `1.0.0` | ||
If 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: | ||
@@ -46,5 +147,3 @@ | ||
## The "git_changelog" task | ||
### Overview | ||
In your project's Gruntfile, add a section named `git_changelog` to the data object passed into `grunt.initConfig()`. | ||
@@ -59,2 +158,3 @@ | ||
app_name : 'Git changelog', | ||
changelogrc : '/files/.changelogrc', | ||
logo : 'https://github.com/rafinskipg/git-changelog/raw/master/images/git-changelog-logo.png', | ||
@@ -66,6 +166,15 @@ intro : 'Git changelog is a utility tool for generating changelogs. It is free and opensource. :)' | ||
options: { | ||
repo_url: 'https://github.com/rafinskipg/git-changelog', | ||
app_name : 'Git changelog extended', | ||
file : 'EXTENDEDCHANGELOG.md', | ||
grep_commits: '^fix|^feat|^docs|^refactor|^chore|BREAKING', | ||
version : 'squeezy potatoe', | ||
sections : [ | ||
{ | ||
"title": "Test commits", | ||
"grep": "^test" | ||
}, | ||
{ | ||
"title": "New Awesome Features!", | ||
"grep": "^feat" | ||
} | ||
], | ||
debug: true, | ||
@@ -87,15 +196,3 @@ tag : false //False for commits since the beggining | ||
### Options | Defaults | ||
* **branch_name** : The name of the branch. Defaults to ` ` | ||
* **repo_url** : The url of the project. For issues and commits links. Defaults to `git config --get remote.origin.url` | ||
* **version**: The version of the project. Defaults to ` `, *DEPRECATED* will default to the tag name | ||
* **file**: The name of the file that will be generated. Defaults to `CHANGELOG.md`, | ||
* **app_name** : The name of the project. Defaults to `My App - Changelog` | ||
* **intro** : The introduction text on the header of the changelog. Defaults to `null` | ||
* **logo** : A logo URL to be included in the header of the changelog. Defaults to `null` | ||
* **grep_commits**: The commits that will be picked. Defaults to `'^fix|^feat|^docs|^refactor|^chore|BREAKING'` | ||
* **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 | ||
* **debug**: Debug mode, false by default | ||
### Command Line | ||
@@ -118,16 +215,16 @@ Install it globally | ||
-h, --help output usage information | ||
-V, --version output the version number | ||
-e, --extended Extended log | ||
-a, --app_name [app_name] Name [app_name] | ||
-b, --branch [branch_name] Branch name [branch_name] | ||
-f, --file [file] File [file] | ||
-r, --repo_url [url] Repo url [url] | ||
-l, --logo [logo] Logo path [logo] | ||
-i, --intro [intro] intro text [intro] | ||
-t, --tag [tag] Since tag [tag] | ||
-g, --grep [grep] Grep commits for [grep] | ||
-d, --debug Debugger | ||
-h, --help output usage information | ||
-V, --version output the version number | ||
-e, --extended Extended log | ||
-a, --app_name [app_name] Name [app_name] | ||
-b, --branch [branch] Branch name [branch] | ||
-f, --file [file] File [file] | ||
-r, --repo_url [url] Repo url [url] | ||
-l, --logo [logo] Logo path [logo] | ||
-i, --intro [intro] intro text [intro] | ||
-t, --tag [tag] Since tag [tag] | ||
-rc, --changelogrc [changelogrc] .changelogrc relative path [changelogrc] | ||
-g, --grep [grep] Grep commits for [grep] | ||
-d, --debug Debugger | ||
``` | ||
@@ -141,2 +238,3 @@ | ||
## Git Commit Guidelines - Source : "Angular JS" | ||
@@ -181,3 +279,6 @@ | ||
### Type | ||
### Example types | ||
**You may define your own types refering to the `.changelogrc` specification** | ||
Must be one of the following: | ||
@@ -237,8 +338,28 @@ | ||
## Contributing | ||
In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/). | ||
## ROADMAP | ||
### v2.0.0 | ||
- Downloadable resources area on the generated changelog, for linking to your zip project folder of certain tag. | ||
![Evolution](http://1.bp.blogspot.com/-YgUV9XTA9Rk/UVHhe4vJA-I/AAAAAAAAEyg/RPL3sjMQb0k/s1600/scala-naturae-robots.png) | ||
## Release History | ||
_(Nothing yet)_ | ||
### v1.0.0 | ||
- Support for `.changelogrc` | ||
## Contributors | ||
_Add your name here by contributing to this project_ | ||
- [rafinskipg][Rafinskipg] | ||
- [JohnnyEstilles][JohnnyEstilles] | ||
- [colegleason][colegleason] | ||
- [jodybrewster][jodybrewster] | ||
[logo-image]: images/git-changelog-logo.png | ||
@@ -257,3 +378,10 @@ | ||
[Rafinskipg]: https://github.com/rafinskipg | ||
[JohnnyEstilles]: https://github.com/JohnnyEstilles | ||
[jodybrewster]: https://github.com/jodybrewster | ||
[colegleason]: https://github.com/colegleason | ||
[npm-versioning]: https://docs.npmjs.com/cli/version | ||
[changelog_specification]: https://github.com/rafinskipg/git-changelog/#changelog-specification | ||
[npm-versioning]: https://docs.npmjs.com/cli/version |
@@ -19,3 +19,3 @@ #!/usr/bin/env node | ||
.option('-a, --app_name [app_name]', 'Name [app_name]') | ||
.option('-b, --branch [branch_name]', 'Branch name [branch_name]') | ||
.option('-b, --branch [branch]', 'Branch name [branch]') | ||
.option('-f, --file [file]', 'File [file]') | ||
@@ -26,2 +26,3 @@ .option('-r, --repo_url [repo_url]', 'Repo url [repo_url]') | ||
.option('-t, --tag [tag]', 'Since tag [tag]') | ||
.option('-rc, --changelogrc [changelogrc]', '.changelogrc relative path [changelogrc]') | ||
.option('-g, --grep [grep]', 'Grep commits for [grep]') | ||
@@ -32,2 +33,3 @@ .option('-d, --debug', 'Debugger') | ||
console.log('Executing git changelog:'); | ||
if (program.extended){ | ||
@@ -47,3 +49,3 @@ console.log(' - Extended, getting log since the BigBang'); | ||
if (program.branch){ | ||
options.branch_name = program.branch; | ||
options.branch = program.branch; | ||
console.log(' - Branch %s', program.branch); | ||
@@ -60,2 +62,6 @@ } | ||
if (program.changelogrc){ | ||
options.changelogrc = program.changelogrc; | ||
} | ||
if (program.logo){ | ||
@@ -83,13 +89,6 @@ options.logo = program.logo; | ||
if (program.grep){ | ||
options.grep_commits = program.grep; | ||
} | ||
console.log(' - The APP name is %s', options.app_name); | ||
console.log(' - The output file is %s', options.file); | ||
git_changelog.generate(options).then(function(){ | ||
console.log('Finished generating log Yai!'); | ||
git_changelog.generate(options, true).then(function(){ | ||
git_changelog.log('success', 'Finished generating log Yai!'); | ||
}); | ||
} |
//Defaults options | ||
module.exports = { | ||
branch_name : '', | ||
branch : '', | ||
//[G]ithub [B]itbucket supported at the momment | ||
@@ -9,3 +9,2 @@ repo_url: '', | ||
app_name : 'My app - Changelog', | ||
grep_commits: '^fix|^feat|^docs|BREAKING', | ||
tag: null, | ||
@@ -15,2 +14,3 @@ logo : null, | ||
debug: false, | ||
changelogrc : '.changelogrc', | ||
sections: [ | ||
@@ -17,0 +17,0 @@ { |
@@ -21,2 +21,3 @@ /* | ||
Changelog.prototype.getProviderLinks = require('./lib/get-provider-links'); | ||
Changelog.prototype.loadChangelogRc = require('./lib/load-changelog-rc'); | ||
Changelog.prototype.getGitLogCommands = require('./lib/get-gitlog-commands'); | ||
@@ -38,3 +39,2 @@ Changelog.prototype.parseRawCommit = require('./lib/parse-raw-commit'); | ||
Changelog.prototype.log = require('./lib/log'); | ||
Changelog.prototype.warn = require('./lib/warn'); | ||
@@ -41,0 +41,0 @@ var changelog = new Changelog(); |
@@ -18,3 +18,3 @@ /* | ||
grunt.registerMultiTask('git_changelog', 'A git changelog based on ANGULAR JS commit standards', function() { | ||
grunt.registerMultiTask('git_changelog', 'A git changelog tool', function() { | ||
@@ -21,0 +21,0 @@ var done = this.async(); |
@@ -7,8 +7,8 @@ 'use strict'; | ||
function generateFromCommits(deferred, commits) { | ||
function generateFromCommits(deferred, commits, sections) { | ||
var stream; | ||
this.message('parsed commits', commits.length); | ||
this.log('Parsed', commits.length, 'commits'); | ||
this.log('Generating changelog to', this.options.file || 'stdout', '(', this.options.version, ')'); | ||
this.log('debug', 'Parsed', commits.length, 'commits'); | ||
this.log('info','Generating changelog to', this.options.file || 'stdout', '(', this.options.version, ')'); | ||
@@ -21,3 +21,3 @@ if (this.options.file) { | ||
this.writeChangelog(stream, commits) | ||
this.writeChangelog(stream, commits, sections) | ||
.then(deferred.resolve.bind(deferred, this.options)); | ||
@@ -30,7 +30,7 @@ } | ||
if (typeof(tag) !== 'undefined' && tag !== false) { | ||
this.log('Reading git log since', tag); | ||
this.log('info', 'Reading git log since', tag); | ||
this.message('since tag', tag); | ||
readGitLog = this.readGitLog.bind(this, this.cmd.gitLog, tag); | ||
} else { | ||
this.log('Reading git log since the beggining'); | ||
this.log('info', 'Reading git log since the beggining'); | ||
this.message('since beggining'); | ||
@@ -45,3 +45,3 @@ readGitLog = this.readGitLog.bind(this, this.cmd.gitLogNoTag); | ||
function generate(params) { | ||
function generate(params, loadRC) { | ||
debug('generating ...'); | ||
@@ -51,6 +51,9 @@ var self = this; | ||
this.init(params) | ||
this.init(params, loadRC) | ||
.then(this.getPreviousTag.bind(this)) | ||
.then(generateFromTag.bind(this, deferred)) | ||
.catch(deferred.reject.bind(deferred)); | ||
.catch(function(err){ | ||
self.log('error', err); | ||
deferred.reject(err); | ||
}); | ||
@@ -57,0 +60,0 @@ return deferred.promise; |
@@ -7,6 +7,6 @@ 'use strict'; | ||
debug('getting log commands'); | ||
this.cmd.gitLog = 'git log --grep="%s" -E --format=%s %s..' + (this.options.branch_name ? this.options.branch_name : 'HEAD'); | ||
this.cmd.gitLogNoTag = 'git log ' + this.options.branch_name + ' --grep="%s" -E --format=%s'; | ||
this.cmd.gitLog = 'git log --grep="%s" -E --format=%s %s..' + (this.options.branch ? this.options.branch : 'HEAD'); | ||
this.cmd.gitLogNoTag = 'git log ' + this.options.branch + ' --grep="%s" -E --format=%s'; | ||
} | ||
module.exports = getGitLogCommands; |
@@ -17,3 +17,2 @@ 'use strict'; | ||
function getPreviousTag() { | ||
debug('getting previous tag'); | ||
var deferred = q.defer(); | ||
@@ -26,3 +25,4 @@ | ||
} else { | ||
//IF we dont find a previous tag, we get all the commits from the beginning - The bigbang of the code | ||
this.log('debug', 'Getting last tag'); | ||
//IF we dont find a previous tag, we get all the commits from the beggining - The bigbang of the code | ||
debug('calling git tag command'); | ||
@@ -29,0 +29,0 @@ child.exec(this.cmd.gitTag, cmdDone.bind(null, deferred)); |
@@ -13,2 +13,3 @@ 'use strict'; | ||
this.options = _.defaults(params, defaults); | ||
this.options.msg = ''; | ||
@@ -19,8 +20,8 @@ this.message('name', this.options.app_name); | ||
this.message('logo', this.options.logo); | ||
this.message('grep_commits', this.options.grep_commits); | ||
this.message('sections', this.options.sections); | ||
this.message('debug', this.options.debug); | ||
this.message('version', this.options.version); | ||
this.message('changelogrc', this.options.changelogrc); | ||
} | ||
module.exports = initOptions; |
'use strict'; | ||
var debug = require('debug')('changelog:init'); | ||
var q = require('q'); | ||
var _ = require('lodash'); | ||
function getRepoSuccess(deferred, url) { | ||
var provider; | ||
var module = this; | ||
@@ -14,4 +14,3 @@ this.options.repo_url = url; | ||
this.getGitLogCommands(); | ||
deferred.resolve(this.options); | ||
deferred.resolve(); | ||
} | ||
@@ -24,10 +23,27 @@ | ||
function init(params) { | ||
debug('initializing ...'); | ||
var self = this; | ||
function init(params, loadRC) { | ||
this.log('debug', 'Initializing changelog options'); | ||
var module = this; | ||
var deferred = q.defer(); | ||
this.initOptions(params); | ||
var promise = loadRC ? this.loadChangelogRc() : new Promise(function (resolve) { resolve(params); }); | ||
this.getRepoUrl() | ||
promise | ||
.then(function(options) { | ||
module.options = _.defaults(options, module.options); | ||
module.log('info', ' - The APP name is', module.options.app_name); | ||
module.log('info', ' - The output file is', module.options.file); | ||
module.options.grep_commits = module.options.sections.map(function(section) { | ||
return section.grep; | ||
}).join('|'); | ||
module.log('debug', 'Grep commits: ', module.options.grep_commits); | ||
return module.getRepoUrl(); | ||
}) | ||
.then(getRepoSuccess.bind(this, deferred)) | ||
@@ -34,0 +50,0 @@ .catch(getRepoFailure.bind(this, deferred)); |
'use strict'; | ||
var colors = require('colors'); | ||
var debug = require('debug')('changelog:log'); | ||
function getColor(type){ | ||
var colorList = { | ||
'info' : 'blue', | ||
'success' : 'green', | ||
'error' : 'red', | ||
'debug' : 'cyan', | ||
'warn' : 'yellow' | ||
}; | ||
return colorList[type] ; | ||
} | ||
function log() { | ||
if (this.options.debug) { | ||
console.log.apply(null, arguments); | ||
var args = Array.prototype.slice.call(arguments); | ||
var type = args.length >= 2 ? args[0] : 'info'; | ||
if(args.length >= 2){ | ||
args.splice(0, 1); | ||
} | ||
var color = getColor(type); | ||
if( (this.options && this.options.debug) || type === 'info' || type === 'error' || type === 'success'){ | ||
console.log(colors[color].apply(null, args)); | ||
} | ||
} | ||
module.exports = log; | ||
module.exports = log; |
@@ -6,4 +6,19 @@ 'use strict'; | ||
function grepSection(sections, commit){ | ||
//TODO: MONKEY METHOD, please use the regexp greps | ||
var keys = Object.keys(sections); | ||
for (var i = 0; i < keys.length; i++){ | ||
if(commit.subject.indexOf(keys[i]) === 0){ | ||
return sections[keys[i]]; | ||
} | ||
} | ||
return null; | ||
} | ||
function organizeCommit(sections, commit) { | ||
var section = sections[commit.type]; | ||
var section = commit.type ? sections[commit.type] : grepSection(sections, commit) ; | ||
var component = commit.component || this.emptyComponent; | ||
@@ -17,4 +32,4 @@ | ||
if (commit.breaking) { | ||
sections.breaks[component] = sections.breaks[component] || []; | ||
sections.breaks[component].push({ | ||
sections.BREAKING[component] = sections.BREAKING[component] || []; | ||
sections.BREAKING[component].push({ | ||
subject: format("due to %s,\n %s", this.linkToCommit(commit.hash), commit.breaking), | ||
@@ -21,0 +36,0 @@ hash: commit.hash, |
@@ -36,15 +36,16 @@ 'use strict'; | ||
match = msg.subject.match(/^(.*)\((.*)\)\:\s(.*)$/); | ||
//@TODO: match merges and pull request messages | ||
if (!match) { | ||
match = msg.subject.match(/^(.*)\:\s(.*)$/); | ||
if (!match) { | ||
this.warn('Incorrect message: %s %s', msg.hash, msg.subject); | ||
return null; | ||
//console.log(msg.subject, '------------'); | ||
this.log('warn', 'Incorrect message:', msg.hash, msg.subject); | ||
//return null; | ||
} | ||
msg.type = match[1]; | ||
msg.subject = match[2]; | ||
msg.type = match ? match[1] : null; | ||
msg.subject = match ? match[2] : msg.subject; | ||
return msg; | ||
} | ||
msg.type = match[1]; | ||
@@ -51,0 +52,0 @@ msg.component = match[2]; |
@@ -39,3 +39,3 @@ 'use strict'; | ||
git_log_command = gitLogCommand.call(this, git_log_command, from); | ||
this.log('Executing : ', git_log_command); | ||
this.log('debug', 'Executing : ', git_log_command); | ||
debug('executing git log command'); | ||
@@ -42,0 +42,0 @@ child.exec(git_log_command , {timeout: 1000}, cmdDone.bind(this, deferred)); |
@@ -8,16 +8,16 @@ 'use strict'; | ||
function sendToStream(stream, sections, deferred) { | ||
//stream.write(format(this.header, , this.currentDate())); | ||
var module = this; | ||
this.printHeader(stream, this.options, this.currentDate()); | ||
this.printSection(stream, 'Bug Fixes', sections.fix); | ||
this.printSection(stream, 'Features', sections.feat); | ||
this.printSection(stream, 'Refactor', sections.refactor, false); | ||
this.printSection(stream, 'Style', sections.style, false); | ||
this.printSection(stream, 'Test', sections.test, false); | ||
this.printSection(stream, 'Chore', sections.chore, false); | ||
this.printSection(stream, 'Documentation', sections.docs, false); | ||
if (sections.breaks[this.emptyComponent].length > 0 ) { | ||
this.printSection(stream, 'Breaking Changes', sections.breaks, false); | ||
} | ||
this.options.sections.forEach(function(section){ | ||
var sectionType = section.grep.replace('^', ''); | ||
if(sectionType !== 'BREAKING'){ | ||
module.printSection(stream, section.title, sections[sectionType]); | ||
}else if (sections.BREAKING[module.emptyComponent].length > 0 ) { | ||
module.printSection(stream, 'Breaking Changes', sections.BREAKING, false); | ||
} | ||
}); | ||
this.printSalute(stream); | ||
@@ -32,13 +32,11 @@ stream.end(); | ||
var sections = { | ||
fix: {}, | ||
feat: {}, | ||
breaks: {}, | ||
style: {}, | ||
refactor: {}, | ||
test: {}, | ||
chore: {}, | ||
docs: {} | ||
BREAKING : {} | ||
}; | ||
sections.breaks[this.emptyComponent] = []; | ||
this.options.sections.forEach(function(sectionInfo){ | ||
var sectionType = sectionInfo.grep.replace('^', ''); | ||
sections[sectionType] = {}; | ||
}); | ||
sections.BREAKING[this.emptyComponent] = []; | ||
this.organizeCommits(commits, sections); | ||
@@ -45,0 +43,0 @@ stream.on('open', sendToStream.bind(this, stream, sections, deferred)); |
@@ -104,2 +104,8 @@ 'use strict'; | ||
it('should store "changelogrc" if passed as an option', function() { | ||
changelog.initOptions({ changelogrc: 'test' }); | ||
expect(changelog.options.changelogrc).to.equal('test'); | ||
expect(changelog.options.msg).to.contain('changelogrc: test'); | ||
}); | ||
it('should store "logo" if passed as an option', function() { | ||
@@ -117,7 +123,2 @@ changelog.initOptions({ logo: 'test' }); | ||
it('should store "grep_commits" if passed as an option', function() { | ||
changelog.initOptions({ grep_commits: 'test' }); | ||
expect(changelog.options.grep_commits).to.equal('test'); | ||
expect(changelog.options.msg).to.contain('grep_commits: test'); | ||
}); | ||
@@ -186,10 +187,10 @@ it('should store "debug" if passed as an option', function() { | ||
it('should generate "git log" commands for "branch_name"', function() { | ||
var branch_name = 'master'; | ||
changelog.options.branch_name = branch_name; | ||
it('should generate "git log" commands for "branch"', function() { | ||
var branch = 'master'; | ||
changelog.options.branch = branch; | ||
changelog.getGitLogCommands(); | ||
expect(changelog.cmd.gitLog).to.include('git log ') | ||
.and.include('..' + branch); | ||
expect(changelog.cmd.gitLog).to.include('git log ') | ||
.and.include('..' + branch_name); | ||
expect(changelog.cmd.gitLogNoTag).to.include('git log ' + branch_name); | ||
expect(changelog.cmd.gitLogNoTag).to.include('git log ' + branch); | ||
}); | ||
@@ -419,2 +420,36 @@ | ||
describe('without breaking commits', function() { | ||
var sections = [ | ||
{ | ||
title: 'Bug Fixes', | ||
grep: '^fix' | ||
}, | ||
{ | ||
title: 'Features', | ||
grep: '^feat' | ||
}, | ||
{ | ||
title: 'Documentation', | ||
grep: '^docs' | ||
}, | ||
{ | ||
title: 'Refactor', | ||
grep: '^refactor' | ||
}, | ||
{ | ||
title: 'Style', | ||
grep: '^style' | ||
}, | ||
{ | ||
title: 'Test', | ||
grep: '^test' | ||
}, | ||
{ | ||
title: 'Chore', | ||
grep: '^chore' | ||
}, | ||
{ | ||
title: 'Breaking changes', | ||
grep: 'BREAKING' | ||
} | ||
]; | ||
@@ -438,3 +473,3 @@ before(function(done) { | ||
changelog.initOptions({ app_name: 'app', version: 'version' }); | ||
changelog.initOptions({ app_name: 'app', version: 'version', sections: sections }); | ||
changelog.writeChangelog(this.stream, this.commits).then(function() { | ||
@@ -463,16 +498,10 @@ done(); | ||
it('should print 7 sections', function() { | ||
var sections = [ | ||
'Bug Fixes', | ||
'Features', | ||
'Refactor', | ||
'Style', | ||
'Test', | ||
'Chore', | ||
'Documentation' | ||
]; | ||
expect(changelog.printSection.callCount).to.equal(7); | ||
sections.forEach(function(section, index) { | ||
var call = changelog.printSection.getCall(index); | ||
expect(call.args).to.include(section); | ||
if(!call){ | ||
expect(section.title).to.equals('Breaking changes'); | ||
}else{ | ||
expect(call.args).to.include(section.title); | ||
} | ||
}); | ||
@@ -489,2 +518,36 @@ }); | ||
describe('with breaking commits', function() { | ||
var sections = [ | ||
{ | ||
title: 'Bug Fixes', | ||
grep: '^fix' | ||
}, | ||
{ | ||
title: 'Features', | ||
grep: '^feat' | ||
}, | ||
{ | ||
title: 'Documentation', | ||
grep: '^docs' | ||
}, | ||
{ | ||
title: 'Refactor', | ||
grep: '^refactor' | ||
}, | ||
{ | ||
title: 'Style', | ||
grep: '^style' | ||
}, | ||
{ | ||
title: 'Test', | ||
grep: '^test' | ||
}, | ||
{ | ||
title: 'Chore', | ||
grep: '^chore' | ||
}, | ||
{ | ||
title: 'Breaking Changes', | ||
grep: 'BREAKING' | ||
} | ||
]; | ||
@@ -504,3 +567,3 @@ before(function(done) { | ||
sinon.stub(changelog, 'organizeCommits', function(commits, sections) { | ||
sections.breaks[changelog.emptyComponent] = [ 'breaking commit']; | ||
sections.BREAKING[changelog.emptyComponent] = [ 'breaking commit']; | ||
}); | ||
@@ -511,3 +574,3 @@ sinon.stub(changelog, 'printSalute'); | ||
changelog.initOptions({ app_name: 'app', version: 'version' }); | ||
changelog.initOptions({ app_name: 'app', version: 'version', sections: sections }); | ||
changelog.writeChangelog(this.stream, this.commits).then(function() { | ||
@@ -536,17 +599,6 @@ done(); | ||
it('should print 8 sections', function() { | ||
var sections = [ | ||
'Bug Fixes', | ||
'Features', | ||
'Refactor', | ||
'Style', | ||
'Test', | ||
'Chore', | ||
'Documentation', | ||
'Breaking Changes' | ||
]; | ||
expect(changelog.printSection.callCount).to.equal(8); | ||
sections.forEach(function(section, index) { | ||
var call = changelog.printSection.getCall(index); | ||
expect(call.args).to.include(section); | ||
expect(call.args).to.include(section.title); | ||
}); | ||
@@ -573,3 +625,3 @@ }); | ||
feat: {}, | ||
breaks: {}, | ||
BREAKING: {}, | ||
style: {}, | ||
@@ -598,3 +650,3 @@ refactor: {}, | ||
it('should breaks section to be empty', function() { | ||
expect(this.sections.breaks).to.deep.equal({}); | ||
expect(this.sections.BREAKING).to.deep.equal({}); | ||
}); | ||
@@ -631,3 +683,3 @@ | ||
feat: {}, | ||
breaks: {}, | ||
BREAKING: {}, | ||
style: {}, | ||
@@ -660,3 +712,3 @@ refactor: {}, | ||
it('should breaks section to be empty', function() { | ||
expect(this.sections.breaks.$scope.length).to.equal(1); | ||
expect(this.sections.BREAKING.$scope.length).to.equal(1); | ||
}); | ||
@@ -794,7 +846,8 @@ | ||
expect(console.log).to.have.been.calledOnce; | ||
expect(console.log).to.have.been.calledWith('test'); | ||
expect(console.log).to.have.been.calledWithMatch('test'); | ||
console.log.restore(); | ||
}); | ||
it('should call console.log() when debug option is true', function () { | ||
xit('should call console.log() when debug option is true', function () { | ||
changelog.options.debug = false; | ||
@@ -809,30 +862,2 @@ | ||
describe('.warn()', function() { | ||
beforeEach(function() { | ||
sinon.stub(changelog, 'log'); | ||
}); | ||
afterEach(function() { | ||
changelog.log.restore(); | ||
}); | ||
it('should always call .log(), when debug is true', function () { | ||
changelog.options.debug = true; | ||
changelog.warn('test'); | ||
expect(changelog.log).to.have.been.calledOnce; | ||
expect(changelog.log).to.have.been.calledWith('WARNING:','test'); | ||
}); | ||
it('should always call .log(), when debug is false', function () { | ||
changelog.options.debug = false; | ||
changelog.warn('test'); | ||
expect(changelog.log).to.have.been.calledOnce; | ||
expect(changelog.log).to.have.been.calledWith('WARNING:','test'); | ||
}); | ||
}); | ||
}); | ||
@@ -839,0 +864,0 @@ |
@@ -35,3 +35,3 @@ 'use strict'; | ||
expect(grunt.registerMultiTask.getCall(0).args.length).to.equal(3); | ||
expect(grunt.registerMultiTask).to.have.been.calledWith('git_changelog', 'A git changelog based on ANGULAR JS commit standards'); | ||
expect(grunt.registerMultiTask).to.have.been.calledWith('git_changelog', 'A git changelog tool'); | ||
expect(grunt.registerMultiTask.getCall(0).args[2]).to.be.a('function'); | ||
@@ -38,0 +38,0 @@ }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
146650
46
1832
0
377
4
5
+ Addedcolors@^1.1.0
+ Addedcolors@1.4.0(transitive)
- Removedabbrev@1.1.1(transitive)
- Removedargparse@0.1.16(transitive)
- Removedasync@0.1.22(transitive)
- Removedcoffee-script@1.3.3(transitive)
- Removedcolors@0.6.2(transitive)
- Removeddateformat@1.0.2-1.2.3(transitive)
- Removedesprima@1.0.4(transitive)
- Removedeventemitter2@0.4.14(transitive)
- Removedexit@0.1.2(transitive)
- Removedfindup-sync@0.1.3(transitive)
- Removedgetobject@0.1.0(transitive)
- Removedglob@3.1.213.2.11(transitive)
- Removedgraceful-fs@1.2.3(transitive)
- Removedgrunt@0.4.5(transitive)
- Removedgrunt-legacy-log@0.1.3(transitive)
- Removedgrunt-legacy-log-utils@0.1.1(transitive)
- Removedgrunt-legacy-util@0.2.0(transitive)
- Removedhooker@0.2.3(transitive)
- Removediconv-lite@0.2.11(transitive)
- Removedinherits@1.0.2(transitive)
- Removedjs-yaml@2.0.5(transitive)
- Removedlodash@0.9.22.4.2(transitive)
- Removedlru-cache@2.7.3(transitive)
- Removedminimatch@0.2.140.3.0(transitive)
- Removednopt@1.0.10(transitive)
- Removedrimraf@2.2.8(transitive)
- Removedsigmund@1.0.1(transitive)
- Removedunderscore@1.7.0(transitive)
- Removedunderscore.string@2.2.12.3.32.4.0(transitive)
- Removedwhich@1.0.9(transitive)