JavaScript Release Management for Open Source Projects and Companies

JavaScript Release Management for Open Source Projects and Companies

Releasing npm packages is simple, but how do you answer these questions once a new version is due?

what version number to pick?
did I break any downstream packages?
are my own package’s dependencies up to date and working?

In this talk we’ll discuss the challenges of responsibly publishing solid and dependable packages and how to follow a deterministic and tool-backed process to automate the dull work involved.

---

I gave this talk together with @christophwitzko

9d233485cddb304f759085e593548838?s=128

Stephan Bönnemann

November 19, 2015
Tweet

Transcript

  1. JAVASCRIPT RELEASE MANAGEMENT Berlin.JS November 2015 – @boennemann & @christophwitzko

  2. MODULES Berlin.JS November 2015 – @boennemann & @christophwitzko

  3. MODULES THE ATOMS OF PROGRAMMING Berlin.JS November 2015 – @boennemann

    & @christophwitzko
  4. BUT MODULES CAN CHANGE Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  5. 118 ELEMENTS Berlin.JS November 2015 – @boennemann & @christophwitzko

  6. 200.000 MODULES Berlin.JS November 2015 – @boennemann & @christophwitzko

  7. WATER 2.0 Berlin.JS November 2015 – @boennemann & @christophwitzko

  8. WATER 2.0 Berlin.JS November 2015 – @boennemann & @christophwitzko

  9. HUMANS ARE IMPERFECT Berlin.JS November 2015 – @boennemann & @christophwitzko

  10. MODULES ARE IMPERFECT Berlin.JS November 2015 – @boennemann & @christophwitzko

  11. WE CAN'T DESIGN PERFECT ABSTRACTIONS Berlin.JS November 2015 – @boennemann

    & @christophwitzko
  12. WE CAN COMMUNICATE Berlin.JS November 2015 – @boennemann & @christophwitzko

  13. WE CAN SET EXPECTATIONS Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  14. WRITING CODE FOR OTHERS Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  15. X.Y.Z Berlin.JS November 2015 – @boennemann & @christophwitzko

  16. 1.0.0 Berlin.JS November 2015 – @boennemann & @christophwitzko

  17. 1.0.1 Berlin.JS November 2015 – @boennemann & @christophwitzko

  18. 1.1.0 Berlin.JS November 2015 – @boennemann & @christophwitzko

  19. 2.0.0 Berlin.JS November 2015 – @boennemann & @christophwitzko

  20. ~2.0.0 Berlin.JS November 2015 – @boennemann & @christophwitzko

  21. RELEASE CHANNELS Berlin.JS November 2015 – @boennemann & @christophwitzko

  22. CHANGELOGS Berlin.JS November 2015 – @boennemann & @christophwitzko

  23. GIT.IO/SEMANTIC-RELEASE FULLY AUTOMATED PACKAGE PUBLISHING Berlin.JS November 2015 – @boennemann

    & @christophwitzko
  24. ONE MORE THING… Berlin.JS November 2015 – @boennemann & @christophwitzko

  25. BREAKING CHANGE DETECTION Berlin.JS November 2015 – @boennemann & @christophwitzko

  26. USING CODE FROM OTHERS Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  27. REGULAR UPDATES Berlin.JS November 2015 – @boennemann & @christophwitzko

  28. WRITE TESTS Berlin.JS November 2015 – @boennemann & @christophwitzko

  29. CHOSE WISELY Berlin.JS November 2015 – @boennemann & @christophwitzko

  30. GREENKEEPER http://greenkeeper.io/ Berlin.JS November 2015 – @boennemann & @christophwitzko

  31. ALWAYS UP-TO-DATE NPM DEPENDENCIES, ZERO HASSLE Berlin.JS November 2015 –

    @boennemann & @christophwitzko
  32. REAL TIME PULL REQUESTS Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  33. REAL TIME BREAK DETECTION Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  34. GETTING STARTED WITH GREENKEEPER Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  35. $ npm i -g greenkeeper Berlin.JS November 2015 – @boennemann

    & @christophwitzko
  36. $ greenkeeper login Berlin.JS November 2015 – @boennemann & @christophwitzko

  37. $ greenkeeper enable Berlin.JS November 2015 – @boennemann & @christophwitzko

  38. PULL REQUESTS ARE NOT INITIATED BY THE USERS Berlin.JS November

    2015 – @boennemann & @christophwitzko
  39. PULL REQUESTS ARE NOT TIME CRITICAL Berlin.JS November 2015 –

    @boennemann & @christophwitzko
  40. Berlin.JS November 2015 – @boennemann & @christophwitzko

  41. FREE FOR OPEN SOURCE? Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  42. FREE FOR OPEN SOURCE Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  43. ONE FREE PRIVATE REPO Berlin.JS November 2015 – @boennemann &

    @christophwitzko
  44. GREENKEEPER http://greenkeeper.io/ Berlin.JS November 2015 – @boennemann & @christophwitzko