Creating React Libraries from Scratch
In this course we'll cover what it takes to maintain, write, and publish a React library from scratch.
What You Will Learn
Creating a React library from `yarn init` to deployed on npm
The different types of JavaScript dependency types and versioning
Setting up documentation for contributers and consumers
Keeping up with code quality while multiple people work on a project
Different JavaScript module systems
In this course, we'll cover what it takes to write, maintain, and publish a React library from scratch. In the 2020 State of JS survey, an annual survey conducted of the frontend JavaScript community, React came in as the most used framework for frontend development. Because React is so popular, building libraries in it can open you up to a wide range of users, contributors, and possibilities!
Why this course
Building a library is so much more than just the code. We need to know the ins and outs of versioning, deploying, building, documenting, dependency management, module types, tooling, and more. This is a daunting task for just one tutorial to cover. Creating React Libraries from Scratch will teach you everything you need to know to succeed in creating a library.
Don't worry if you're not a React wizard. This course is designed for beginner/intermediate developers who have never deployed a library before and have minimal React experience. However, you should be familiar with JavaScript.
Course Topics
Throughout Creating React Libraries from Scratch we'll develop a React Hook called Scroller that will provide a utility for scrolling around web pages—taking advantage of window.scrollTo. We'll start in module 1 with an empty directory; adding documentation files, installing dependencies, and setting up GitHub. Right away, you'll have a project that could be deployable as a fully functional library! In module 2 we'll implement scroller while taking advantage of Storybook to visually test our code. By module 3 Scroller will be deployed to npm in multiple JavaScript module formats. Finally, in module 4, we'll look at different tools and techniques in software development to maintain a library. This includes linting, unit tests, TypeScript, and Lint-Staged! By the end of this course, you'll be able to run npm install scroller, and take advantage of React code you wrote in future projects.
Creating React Libraries from Scratch will dive into:
- initializing a new npm package
- maintaining code quality
- publishing to npm
- keeping contributors on track
- exposing modules that work in NodeJS and the Web
- unit-testing
- Storybook for demoing components
- exposing typing using TypeScript
- and more!
Course Content
Introduction
Setting up our development environment
Get the required tooling installed for developing our library.
INTRODUCTION
2:25 minutes
Initialize
Setting Up Our Project
Setting up the files and directories needed to write a React library.
LESSON
5:25 minutes
What are Dependencies?
Introduction to project dependencies, devDependencies, and peerDependencies.
LESSON
4:36 minutes
Installing Scroller's Dependencies
Installing dependencies for the Scroller library.
LESSON
3:07 minutes
Initializing Git and GitHub
Setup Scroller using Git, create a new GitHub project, and how push code to GitHub.
LESSON
5:11 minutes
Implement
Implementing Scroller
Writing code for the Scroller library and exporting it for users.
LESSON
2:52 minutes
Deploy
Building Multiple JS Modules
Updating ESBuild to export multiple JS module formats.
LESSON
2:54 minutes
Maintain
Summary
Your Instructors
Frequently Asked Questions
Who is this course for?
The entry-level or intermediate developer with some knowledge of React or Web Dev, who has never published an npm package.
What if I need help?
You can ask us questions anytime through the community Discord channel or by sending us a message.