Companion repository for the book "Fullstack Web Components" written by Stephen Belovarich. "Fullstack Web Components" is published by Newline.
This book requires node ^16.3.0 and yarn ^1.22.11 installed prior to installation.
- Fork this repository
- Clone the fork of this repository
git clone https://github.com/{username}/fullstack-web-components.git
- Install dependencies
yarn
- Checkout Chapter 1 Branch
git checkout chapter/1
- Start development server
yarn start
To start any chapter, checkout the branch that has the solution from the previous chapter. For example, to start Chapter 3, git checkout chapter-2-solution
.
After you've forked and cloned the repo, the master branch of this repository may periodically be updated with changes. To configure your local repository to receive updates, set this repository as the upstream.
git remote add upstream https://github.com/readymade-ui/fullstack-web-components.git
Verify the upstream is set.
git remote -v
Every time you need to sync with the changes in this repository.
Checkout the master branch.
git checkout master
Fetch the latest.
git fetch upstream
Merge the latest from upstream into master.
git merge upstream/master
To avoid conflicts, keep all your work on chapter branches as directed in the book.
Checkout your current branch. For example, if you're on chapter 2.
git checkout chapter-2
Merge the latest changes from master into your branch.
git merge master
Ensure dependencies are up to date. Usually the reason for updating from master is to sync with dependency upgrades.
yarn install
Commit the changes to the yarn.lock file.
git add yarn.lock
git commit -a -m "feat: updated dependencies"
Resume with the content of the book.
This repository is a monorepo. lerna
orchestrates the build for several packages in the monorepo.
Package | Directory | Purpose |
---|---|---|
@in/ui | packages/component | Web Component user interface library |
@in/common | packages/common | Common utilities for coding user interfaces |
@in/client | packages/client | Client application |
@in/server | packages/server | Server application |
@in/style | packages/style | Common CSS styling and assets exported from the design system |