conventional-changelog

38bee248082f6071230de65e9d74a944?s=47 kazupon
August 08, 2016

 conventional-changelog

38bee248082f6071230de65e9d74a944?s=128

kazupon

August 08, 2016
Tweet

Transcript

  1. Conventional Changelog ౦ژNodeֶԂ #22 2016-08-08 @kazupon

  2. ࣗݾ঺հ https://github.com/kazupon

  3. ҰԠϝϯόʔͳͷͰ࢓ࣄ͠ʹ͖·ͨ͠ ͜Ε

  4. ࠓ೔࿩͢͜ͱ

  5. Conventional Changelog

  6. ຊ୊ʹೖΔલʹ

  7. None
  8. changelog (มߋཤྺ) ॻ͍ͯ·͔͢ʁ ຊ୊ʹೖΔલʹ

  9. changelog ॻ͔ͳ͍ཧ༝ طʹ Git ͳͲͷόʔδϣϯ؅ཧπʔϧͰมߋ಺༰ͱ͔ ॻ͍ͯ͋Δ͔Βɺgit log ΍ GitHub ͱ͔ͰάϥϑΟΧ

    ϧͳ΋ͷͰݟΕΔ͔Βɺॻ͔ͳ͍͍ͯ͘Ͱ͠ΐ
  10. changelog ॻ͔ͳ͍ཧ༝ MS WordɺGoogle docs ͳͲͷผͳυΩϡϝϯτͰ ͲͬͪΈͪॻ͔͘Βɺಉ͡Α͏ͳ͜ͱͨ͘͠ͳ͍

  11. ͦ΋ͦ΋ॻ͘ͷ͕ΊΜͲ͍ʂ ॻ͔ͳ͍࠷େཧ༝

  12. झຯɺϓϩτλΠϓతͳ΋ ͷͳΒɺ·͍͍͋ͱͯ͠

  13. ଞͷਓʹ࢖ΘΕΔιϑτ΢ΣΞ Λ։ൃͯ͠ఏڙ͍ͯ͠Δͷʹɺ
 ΊΜͲ͍ͬͯݴͬͯΔͷ͸

  14. None
  15. changelog ͸ඞཁͩ มߋ೔࣌ มߋऀ ର৅όʔδϣϯ มߋ಺༰ ιϑτ΢ΣΞͷมߋ಺༰Λ࣌ܥྻͰ ֓ཁΛ೺Ѳ͢Δͷʹ༰қ

  16. changelog ͸͍ΖΜͳਓ͕ಡΉ WebαʔϏεɺΞϓϦɺ ۀ຿γεςϜͳͲͷιϑ τ΢ΣΞ։ൃ͍ͯ͠ΔΤ ϯδχΞ σβΠφʔ͞ΜͷΑ͏ͳ ։ൃʹܞΘ͍ͬͯΔ non- tech

    ͳਓ΋ ҰମԿ͕มߋ͞ΕͨΜͩΖ͏ʁ ͸ͨͯ͠ΞοϓάϨʔυ͢Δඞཁ͕͋Δ ͷͩΖ͏͔ʁ
  17. ͜ΕΛػʹॻ͍͍ͯͳ͔ͬͨਓ ͸ɺchangelog ॻ͖·͠ΐ͏ʂ

  18. ͋͋ɺchangelog ͕େࣄͳͷ ෼͔ͬͨ

  19. Ͱ΋ɺGit Ͱ΋͏طʹมߋ಺༰ ͱ͔ॻ͍ͯ͋Δͷʹɺ ಉ͡Α͏ͳ͜ͱͨ͘͠ͳ͍ͳ͋

  20. ͳΜ͔ɺָʹ changelog ॻ ͚ΔΑ͏ʹɺΑ͠ͳʹ΍ͬ ͯ͘ΕΔ΋ͷͳ͍ͷʁ

  21. ͱࢥ͏ਓ͕͍Δͱࢥ͍·͢

  22. ͦ͜Ͱ͜Ε͕ग़൪Ͱ͢Αʂ

  23. Conventional Changelog ͱ͸ changelog ͷͨΊͷίϛοτϝοηʔδن໿ CLI πʔϧ΍ίϛοτϝοηʔδن໿Λݩʹ changelog Λੜ੒Ͱ͖Δ࢓૊ΈΛఏڙ

  24. Conventional Changelog
 ಈ࡞Πϝʔδ ίϛοτϩά changelog
 ϑΝΠϧ ίϛοτϝοηʔδن໿ ϑΝΠϧ CLI ࣗಈੜ੒

    !!
  25. ੜ੒͞Εͨ changelog ͷத਎ ίϛοτϋογϡ͔Β GitHubͷURLΛඥ෇͚ͯ͘ΕΔ มߋ಺༰ΛάϧʔϓԽͱ͔΋
 ͯ͘͠ΕͨΓ͢Δ ྫ: karma ͷ

    CHANGELOG.md
  26. جຊతͳ։ൃ࡞ۀͷྲྀΕ
 (࢖͍ํ)

  27. 1. ։ൃ࡞ۀ ࣮૷ or मਖ਼ ςετ

  28. 2. Git Ͱίϛοτ ։ൃ࡞ۀͰมߋͨ͠΋ͷΛίϛοτ

  29. 3. package.json 
 ͷόʔδϣϯΛ্͛Δ όʔδϣϯΛมߋ

  30. 4. CLI πʔϧΛ࣮ߦ $ conventional-changelog -i CHANGELOG.md -s -p angular

  31. 5. changelog ϑΝΠϧͱ package.json Λίϛοτ front-endͷΑ͏ͳϏϧυͨ͠΋ͷ΋ඞཁͳΒͦΕ΋ί ϛοτ

  32. 6. Git Ͱλά෇͚ git tag ͰόʔδϣϯΛλά෇͚

  33. 7. ϦϦʔε git push ͰϦϙδτϦʹΞοϓϩʔυ ඞཁʹԠͯ͡ npm publish

  34. ಋೖ͢Δࡍͷ஫ҙ఺ ιʔεͰ͋Δ Git ίϛοτϩά͕μϝͩͱɺੜ੒͞ ΕΔ changelog ΋μϝͳ΋ͷ͕ੜ੒͞ΕΔ ίϛοτϝοηʔδن໿ʹैͬͯɺྑ͍ίϛοτϝο ηʔδΛॻ͘͜ͱ͕ॏཁ

  35. ίϛοτϝοηʔδن໿
 ϓϦηοτ angular
 https://github.com/conventional-changelog/conventional-changelog-angular jquery
 https://github.com/conventional-changelog/conventional-changelog-jquery ember
 https://github.com/conventional-changelog/conventional-changelog-ember express
 https://github.com/conventional-changelog/conventional-changelog-express

  36. ίϛοτϝοηʔδن໿
 ϓϦηοτ jshint
 https://github.com/conventional-changelog/conventional-changelog-jshint eslint
 https://github.com/conventional-changelog/conventional-changelog-eslint code mirror
 https://github.com/conventional-changelog/conventional-changelog-codemirror atom


    https://github.com/conventional-changelog/conventional-changelog-atom
  37. ❤͓קΊϓϦηοτ ❤

  38. ಠࣗίϛοτϝοηʔδ
 ن໿ͷఆٛ ΋ͪΖΜࣗ෼Ͱίϛοτϝοηʔδن໿Λఆٛ͢Δ ͜ͱ͕Ͱ͖Δ ΦϨΦϨ ίϛοτϝοηʔδن໿

  39. Angular ͷίϛοτϝοηʔδن໿Λ֦ு ͯ͠ emoji ʹରԠͨ͠ྫ https://github.com/kazupon/git-commit-message-convention

  40. ಠࣗίϛοτϝοηʔδͷఆٛ(֦ு)

  41. 
 JSͰΧελϜϝοηʔδن໿Λ࣮૷ changelog ʹ
 ॻ͖ࠐΉࡍͷ
 άϧʔϓม׵ઃఆ ίϛοτϝοηʔδ ͔Βநग़͢Δύλʔϯઃఆ

  42. ੜ੒͞Εͨ changelog emoji ίʔυ͕ೖͬͨάϧʔϐϯά ಠࣗʹఆٛͨ͠άϧʔϓ ಠࣗʹఆٛͨ͠ notekeywords

  43. emoji ೖΓͰมߋཤྺ͕දࣔ

  44. ςϯϓϨʔτͷΧελϚΠζ handlebars ه๏
 ͰΧελϚΠζͰ͖Δ ϑΝΠϧ͸ جຊ markdown ܗࣜ

  45. ςϯϓϨʔτͷߏ଄ جຊ template.hbs ʹҎԼͷΑ͏ʹ ߏ଄Խ͞Ε͍ͯΔ
 - header
 - commitGroups
 -

    commits
 - commit
 - footer (͋Ε͹) ڽͬͨςϯϓϨʔτͷΧελϚΠζΛ͍ͨ͠৔߹͸ɺ ఏڙ͞Ε͍ͯΔίϛοτϝοηʔδن໿ͷ֤ϓϦηο τͷ templates σΟϨΫτϦΛࢀߟʹ͢ΔͱΑ͍
  46. Angular ίϛοτϝοηʔδن໿ͷ
 ςϯϓϨʔτ https://github.com/conventional-changelog/conventional-changelog-angular/tree/master/templates

  47. GitHub Release Integration conventional-github-releaser Ͱ GitHub Release ͱ࿈ ܞ͢Δ͜ͱՄೳ
 $

    conventional-github-releaser -p angular -r 0
  48. API Conventional Changelog Ͱఏڙ͍ͯ͠Δ CLI πʔϧ Ͱຬ଍ग़དྷͳ͍৔߹͸ɺఏڙ͍ͯ͠Δ API Λۦ࢖͠ ͯಠࣗπʔϧ΋࡞Δ͜ͱ΋Մೳ

  49. Linter: conventional-changelog-lint https://github.com/marionebl/conventional-changelog-lint

  50. πʔϧͱͷ࿈ܞ Gulp
 changelog ੜ੒ΛλεΫʹΑΔࣗಈԽ
 https://github.com/conventional-changelog/gulp-conventional-changelog Grunt
 GitHub Release ΛλεΫʹΑΔࣗಈԽ
 https://github.com/conventional-changelog/grunt-conventional-github-releaser

    Atom
 https://github.com/conventional-changelog/atom-conventional-changelog
  51. Atom ʹఏڙ͞Ε͍ͯΔπʔϧ͸ Changelog Λੜ੒ɺ·ͨ͸ GitHub Release ͕Ͱ͖Δ

  52. ͦͷଞศརπʔϧ standard-changelog
 Angluar ίϛοτϝοηʔδن໿ʹಛԽͨ͠πʔϧ
 https://github.com/conventional-changelog/standard-changelog standard-version
 Angular ίϛοτϝοηʔδن໿ϕʔεͰɺchangelog ੜ੒ɺࣗ ಈόʔδϣχϯά͠ɺGitHub

    Squash ͞Εͨίϛοτϩάʹ΋ର Ԡ
 https://github.com/conventional-changelog/standard-version conventional-recommended-bump
 Ͳͷόʔδϣϯ(major/minior/patch)Ξοϓͳͷ͔ڭ͑ͯ͘ΕΔ πʔϧ
 https://github.com/conventional-changelog/conventional-recommended-bump
  53. ར༻͍ͯ͠ΔϓϩδΣΫτ Conventional Changelog
 https://github.com/conventional-changelog Angular
 https://github.com/angular/angular Karma
 https://github.com/karma-runner/karma JSHint
 https://github.com/jshint/jshint

    Vue.js (vue-validator)
 https://github.com/vuejs/vue-validator
 
 … ͳͲ
 

  54. ·ͱΊ changelog ͸ॏཁͳ΋ͷ Conventional Changelog ͰΊΜͲ͏ͳ changelog Λࣗಈੜ੒͢Δ͜ ͱ͕Ͱ͖Δ Conventional

    Changelog ͸͍Ζ͍Ζศར CLI πʔϧͱΧελϚΠζΛ ఏڙ ίϛοτϝοηʔδن໿ changelog ग़ྗςϯϓϨʔτ API ͳͲ ಋೖ͢Δ͜ͱͰιϑτ΢ΣΞ։ൃͷཤྺ؅ཧͷΈͳͣɺϦϦʔεɺόʔ δϣχϯάͱ͔΋ָʹͳΕΔ
  55. Happy changelogging!!