Build Your First Open-Source Javascript Library
Published 3/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.50 GB | Duration: 2h 54m
Published 3/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.50 GB | Duration: 2h 54m
Learn how to build, package, and publish your own open-source JavaScript library—step by step!
What you'll learn
Publish your library with confidence to NPM.
Design, implement, and publish an easy-to-maintain library with clear objectives.
Follow community-standard guidelines, such as contributing best practices.
Gain a deep understanding of open-source intricacies, including linting and formatting.
Evaluate and manage 3rd-party dependencies carefully, considering vulnerabilities and maintenance.
Enhance developer experience by ensuring your library is intuitive and easy to use.
Plan a roadmap that outlines your intent and long-term vision, including your library’s end of life.
Strike a balance between under-engineering, over-engineering, and what’s "good enough" for your audience.
Requirements
Code Editor – VS Code is recommended for its great JavaScript/TypeScript support, but any editor works.
Node.js (v18.18+) – Required for running scripts, managing dependencies, and bundling your package.
Git – Basic knowledge of committing, pushing, and pulling is enough for version control.
NPM Account – Needed to publish your package on NPM
GitHub Account (optional) – Useful for repository management, documentation, and best practices.
Description
Hey there, fellow developer!At some point in your journey, you've probably built something cool using tools crafted by other devs. Whether those tools were open-source or not, their creators made the decision to share them with the world—pretty awesome, right? Well, now it might be your turn to do the same! Whether you're looking to contribute to open source, level up your skills, or just satisfy your curiosity about how JavaScript libraries are built and shared, you're in the right place.This course is designed for Junior to Mid-level developers who are ready to put their work out there (which, by the way, takes real courage—so kudos to you!). My goal is to help you do it the right way, while avoiding common pitfalls that frustrate even experienced developers (yep, been there myself!).Since the JavaScript ecosystem is packed with tools, I’ve carefully selected the essentials to keep this course focused and practical. You’ll learn how to:build a Node.js library and publish it on npm;use Rollup for bundling your library;work with TypeScript to write maintainable code;set up key tools like Jest (for testing), Prettier (for formatting), and ESLint (for linting).Now, just a heads-up—this isn't a JavaScript fundamentals course. Instead, think of it as your roadmap to launching an open-source project and getting your work into the hands of other developers.This course was designed with care and built with love, so I hope it makes your journey into open source an exciting and rewarding experience. Thanks for considering this course, and I can't wait to see what you create!
Overview
Section 1: Getting started
Lecture 1 Welcome
Lecture 2 Prerequisites
Lecture 3 Course structure
Section 2: Publish your first package
Lecture 4 Validate your idea
Lecture 5 Prepare codebase
Lecture 6 Test codebase (Part 1)
Lecture 7 Test codebase (Part 2)
Lecture 8 Publish codebase
Section 3: Enforce code quality
Lecture 9 Format your code
Lecture 10 Lint your code
Lecture 11 Test your code
Lecture 12 Bundle your code
Lecture 13 Set up Git hooks (Part 1)
Lecture 14 Set up Git hooks (Part 2)
Section 4: From JS to TS
Lecture 15 Introduction to TypeScript
Lecture 16 Refactor codebase
Lecture 17 Test refactoring
Lecture 18 Adjust tools to support TS (Part 1)
Lecture 19 Adjust tools to support TS (Part 2)
Lecture 20 Include declaration files
Lecture 21 Publish TS code
Section 5: Dependency management
Lecture 22 Dependency management
Lecture 23 Work with dependencies
Lecture 24 Update codebase to support CLI
Lecture 25 Publish latest updates
Lecture 26 Review package
Section 6: Extras
Lecture 27 Add other module formats
Lecture 28 Test package in Browser
Lecture 29 Test package in Bun and Deno
Lecture 30 Wrapping up
Section 7: What's next
Lecture 31 Prepare for a new chapter
Lecture 32 What about AI?
You are a developer with basic knowledge of JavaScript or TypeScript.,You’ve built a project that you believe could be a valuable contribution to the community.,You have experience working with a large codebase and want to extract part of it as a reusable module.,You’re curious and just want to better understand how open-source libraries work.