Actions Status

Read Introduction Here

A small (~2kb or ~5kb with lit-html) library to help with the creation of web components and web component based applications. Support for lit-html is baked in but can work with whatever view library you like. See it in action.

Getting Started

The easiest way get started with Joist is to go to use the Joist starter on There you can play around with Joist (and other frameworks) with 0 setup required. (You can even test and publish!)


If you want to build an application or just run everything yourself you can use the snowpack starter app.

npx create-snowpack-app my-app --template @joist/starter-snowpack

Joist also publishes a canary version. If you use canary expect bugs.

npm i @joist/{component,di,router}@canary


Package Description
@joist/component Create Web Components
@joist/di IOC container
@joist/router simple router


Project Description
hello-world Hello World no view lib
hello-world-lit-html Hello World lit-html
todo-app Todo app. Link
hacker-news Hacker news PWA. Link

Browser Support

Joist targets evergreen browsers.

IE 11 Support

IE 11 CAN be supported but will require some work on the users end and is not a priority for Joist.


Install Dependencies

npm i

Run Tests

This repo uses @open-wc/testing as the testing library and @web/test-runner as the, well, test runner.

npm run test-libs
npm run test-integration
npm run test-all
npx lerna run test --scope @joist/{package-name}