"Participating in open source has been one of the most rewarding experiences of my career." ~Kent C. Dodds. Setup new projects on GitHub, configure npm to publish the project to the npm registry, transpile the source with babel, add unit tests / code coverage and continuous integration (with Travis CI). Run tests automatically and report coverage stats to codecov.io. Automate releases with semantic-release and distribute a browser build with webpack, plus manage the community all in this course on publishing an open source library!
Overview
Syllabus
- Setup
- License, Code of Conduct, & README
- Exercise: Creating the Code of Conduct and License.
- NPM Configuration and NPM Init
- Exercise: Creating the Library
- Creating the Library Solution
- ESLint
- Exercise: Linting the Library
- Exercise: Setting Up Mocha & Chai
- Exercise: Writing Unit Tests
- Writing Unit Tests Solution
- Code Coverage
- Configuring NYC
- Git Hooks
- Exercise: Creating a Validate Script
- Transpiling
- Installing & Configuring Babel
- Ignoring and Copying Files
- Sending the Distribution to NPM
- Babel Register & Istanbul
- Exercise: Adding Babel Register & Istanbul
- Universal JavaScript with Webpack
- Adding & Configuring Webpack
- Peer Dependencies
- Forking & Renaming
- Moving to the Master Branch
- Exercise: Setting up Travis CI
- Exercise: Tracking Code Coverage with Codecov
- Publishing to npmjs.com
- Semantic Release
- Semantic Versioning with NPM
- Exercise: Automating Releases Part 1
- Exercise: Automating Releases Part 2
- Exercise: Using Commitizen
- Browsing the Updated Library
- The Open Source Community: Getting Started
- The Open Source Community: Documentation & Issues
- The Open Source Community: Getting Contributors
- Resources
Taught by
Kent C. Dodds