Making Good Decisions About Javascript Dependencies

Making Good Decisions About Javascript Dependencies

Lighting talk presented at BeerJS Sofia.

Sites for the shown tools:

* https://www.npmjs.com
* https://github.com
* http://npm.broofa.com
* https://bundlephobia.com

7a0e72a6f55811246bb5d9a946fd2e49?s=128

Radoslav Stankov

August 01, 2019
Tweet

Transcript

  1. Making Good Decisions About Javascript Dependencies Radoslav Stankov 01/08/2019

  2. Radoslav Stankov @rstankov http://rstankov.com http://github.com/rstankov

  3. https://speakerdeck.com/rstankov

  4. None
  5. ...imagine starting a new project !

  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. " JavaScript Fatigue

  14. None
  15. None
  16. None
  17. None
  18. What framework to use? How to manage state? How to

    fetch data? Which router to use? Which calendar component to use? Which chart component to use?
 ... #
  19. Agenda

  20. $ Dependency types % Picking dependencies

  21. Dependency types

  22. Medium easy
 to change Big Medium Small Medium Small Small

    Small Small Small hard to change simple complex * totally unscientific chart &
  23. Medium easy
 to change Big Medium Small Medium Small Small

    Small Small Small hard to change simple complex * totally unscientific chart &
  24. What framework to use? How to manage state? How to

    fetch data? Which router to use? Which calendar component to use? Which chart component to use?
 ... #
  25. What framework to use? How to manage state? How to

    fetch data? Which router to use? Which calendar component to use? Which chart component to use?
 ... #
  26. What ecosystem to choose? How to manage state? How to

    fetch data? Which router to use? Which calendar component use? Which chart component use?
 ... #
  27. What ecosystem to choose? How to manage state? How to

    fetch data? Which router to use? Which calendar component use? Which chart component use?
 ... #
  28. None
  29. History of JS Ecosystem

  30. History of JS Ecosystem 2005

  31. History of JS Ecosystem 2005 2006

  32. History of JS Ecosystem 2005 2010 2006

  33. History of JS Ecosystem 2005 2010 2006

  34. History of JS Ecosystem 2005 2013 2010 2006

  35. History of JS Ecosystem 2005 2019 2013 2010 2006

  36. None
  37. None
  38. None
  39. What ecosystem to choose? How to manage state? How to

    fetch data? Which router to use? Which calendar component use? Which chart component use?
 ... #
  40. What ecosystem to choose? How to manage state? How to

    fetch data? Which router to use? Which calendar component use? Which chart component use?
 ... #
  41. Medium easy
 to change Big Medium Small Medium Small Small

    Small Small Small hard to change simple complex * totally unscientific chart &
  42. None
  43. None
  44. History of React Ecosystem 2013 2019

  45. History of React Ecosystem 2013 2019 2014

  46. History of React Ecosystem 2013 2019 2014 2015

  47. History of React Ecosystem 2013 2019 2014 2015

  48. History of React Ecosystem 2013 2019 2014 2015 2016

  49. History of React Ecosystem 2013 2019 2014 2015 2016 Concepts

  50. History of React Ecosystem 2013 2019 2014 2015 2016 Libraries

  51. History of React Ecosystem 2013 2019 2014 2015 2016

  52. None
  53. None
  54. What ecosystem to choose? How to manage state? How to

    fetch data? Which router to use? Which calendar component use? Which chart component use?
 ... #
  55. Medium easy
 to change Big Medium Small Medium Small Small

    Small Small Small hard to change simple complex * totally unscientific chart &
  56. Picking Dependencies

  57. ⏹ Do we really need it? ⏹ Can something we

    already have do the task we are searching for? ⏹ Can we implement this ourselves? ⏹ Is this properly maintained? ⏹ Is it well documented? ⏹ When was the last version? ⏹ When was the last commit? ⏹ How often does it get a new version? ⏹ Does it have CHANGELOG? ⏹ Were there breaking changes recently? ⏹ Does it have security issues past or present? ⏹ How many dependencies does it come from? ⏹ What the dependency size? ⏹ What is its license? ⏹ Do you use this in any other project? ✅ Questions
  58. https://www.npmjs.com/package/lodash

  59. https://www.npmjs.com/package/lodash

  60. https://www.npmjs.com/package/draft-js

  61. https://github.com/facebook/draft-js

  62. https://github.com/facebook/draft-js/issues

  63. http://npm.broofa.com/?q=draft-js

  64. https://bundlephobia.com/result?p=draft-js@0.11.0

  65. None
  66. None
  67. None
  68. Thanks )

  69. https://speakerdeck.com/rstankov