Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

egghead.io

How to Write an Open Source JavaScript Library

via egghead.io

Overview

Publishing a JavaScript library for public use requires some extra steps. You need to think about how people will use the library. From end users, to contributors your library now has a variety of people outside of yourself potentially making use of the code that you've released into the wild.
From Github and npm, to releasing beta versions, semantic versioning, code coverage, continuous integration, and providing your library with a solid set of unit tests, there are a ton of things to learn.
This series will guide you through a set of steps to publish a JavaScript open source library.
You might also enjoy this article about contributing to open source.

Syllabus

  • Introduction to How to Write an Open Source JavaScript Library
  • Setting up GitHub
  • Configuring npm and creating a package.json
  • Creating the library and adding dependencies
  • Pushing to GitHub
  • Publishing to npm
  • Releasing a version to GitHub
  • Releasing a new version to npm
  • Publishing a beta version
  • Setting up Unit Testing with Mocha and Chai
  • Unit Testing with Mocha and Chai
  • Automating Releases with semantic-release
  • Writing conventional commits with commitizen
  • Committing a new feature with commitizen
  • Automatically Releasing with TravisCI
  • Automatically running tests before commits with ghooks
  • Adding code coverage recording with Istanbul
  • Adding code coverage checking
  • Add code coverage reporting
  • Adding badges to your README
  • Adding ES6 Support
  • Adding ES6 Support to Tests using Mocha and Babel
  • Limit Built Branches on Travis
  • Add a browser build to an npm module

Taught by

Kent C. Dodds

Reviews

4.8 rating at egghead.io based on 95 ratings

Start your review of How to Write an Open Source JavaScript Library

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.