Web Components & Design System With Stenciljs

Posted By: ELK1nG

Web Components & Design System With Stenciljs
Published 8/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.74 GB | Duration: 7h 56m

Build, Test, Document and Publish to NPM a Complete Design System/UI Lib for React, Angular, Vue & Vanilla JavaScript

What you'll learn

Build Web Components using StencilJS

Implement best practices for reusable UI libraries

Implement accessibility best practices in web components

Write unit and E2E tests for StencilJS components with Jest and Playwright

Document StencilJS components effectively using Storybook

Set up and manage a multi-package monorepo with Turborepo

Publish a StencilJS component library to NPM and integrate it into third-party applications

Integrate web components with frameworks like React, Angular and Vue

Requirements

Solid understanding of HTML, CSS, and JavaScript

Basic knowledge of TypeScript

Familiarity with Node.js and NPM

Some experience with React, Angular & Vue (definitely not mandatory)

Comfortable using the terminal and basic Git commands

Description

Master StencilJS & Build a Professional Design SystemGo beyond tutorials—build, test (unit, E2E, snapshot testing), document (Storybook), and publish (NPM) a complete Design System UI component library trusted by real-world apps. Using StencilJS, you’ll create high-performance, framework-agnostic Web Components that integrate seamlessly with React, Angular, Vue & Vanilla JavaScript/HTML.Inside, you’ll discover how to:Architect reusable, scalable UI components like a pro.Bake in accessibility from the start.Deliver polished documentation with Storybook.Ensure reliability with Jest & Playwright tests.Streamline development with Turborepo.Publish to NPM and ship production-ready code.This is not a surface-level introduction—you’ll follow a practical, project-based approach, building real components that follow modern best practices and industry standards. Along the way, you’ll gain insights into design systems, UI consistency, maintainability, and developer experience that will set you apart as a front-end developer.Whether you want to create a library for your company, contribute to open source, or sell your own premium component kit, you’ll leave this course with the tools, workflows, and confidence to make it happen—no matter your current skill level.By the end, you won’t just “know” StencilJS—you’ll have mastered it, with a fully functional design system ready for immediate use in professional projects or commercial products.

Overview

Section 1: Intro to the Course

Lecture 1 What you will learn with this course

Lecture 2 Important considerations before you start

Lecture 3 Useful Links

Section 2: Quick [very quick] Intro to Web Components and StencilJS

Lecture 4 Before we start

Lecture 5 What is StencilJS?

Lecture 6 StencilJS Component VS Custom Elements API Comparison

Section 3: Setup StencilJS environment, Libraries & Sandboxes

Lecture 7 An important note before the next video

Lecture 8 Getting Started With StencilJS

Lecture 9 Why are we going to use Turborepo instead of Lerna?

Lecture 10 Setting up a Mororepo with Turborepo

Lecture 11 Framework Integration using Output Targets

Lecture 12 npm link in a nutshell

Lecture 13 Creating the React Library with the React Output Target

Lecture 14 Creating the React Sandbox App

Lecture 15 Turbo Build Order

Lecture 16 Creating the Vue Library with the Vue Output Target

Lecture 17 Creating the Vue Sandbox App

Lecture 18 Why I’m Not Covering the Angular Output Target in This Course

Lecture 19 Creating the Angular Sandbox

Lecture 20 Creating the JavaScript Sandbox

Section 4: Stencil Components 101

Lecture 21 Intro to the Components API

Lecture 22 Component - Typography

Lecture 23 What is the Shadow DOM?

Lecture 24 Global Styles

Lecture 25 Component - Icon

Lecture 26 Component - Logo

Lecture 27 An HTML page for each component

Lecture 28 Component - Button

Lecture 29 Button Icons - Why the Icon component won’t work?

Lecture 30 Component - Stacks

Lecture 31 Component - Tooltip

Lecture 32 Component - Menu / Context Menu [PART 1]

Lecture 33 Component - Menu / Context Menu [PART 2]

Lecture 34 Component - Menu / Context Menu [PART 3]

Lecture 35 Component - Sidebar

Lecture 36 Component - Modal [PART 1]

Lecture 37 Component - Modal [PART 2]

Lecture 38 Form Associated API

Lecture 39 Component - Form - Label & Input [PART 1]

Lecture 40 Component - Form - Label & Input [PART 2]

Lecture 41 Component - Form - Textarea

Lecture 42 Component - Form - Select

Lecture 43 Component - Form - Fieldset, Checkbox & Radio

Lecture 44 Component - Tabs [PART 1]

Lecture 45 Component - Tabs [PART 2]

Lecture 46 Component - Tabs [PART 3]

Lecture 47 How Frameworks Consume Web Components

Lecture 48 Component - Table [PART 1]

Lecture 49 Component - Table [PART 2]

Section 5: Accessibility in StencilJS

Lecture 50 What is Accessibility and why it matters

Lecture 51 How do we test Accessibility

Lecture 52 Semantic HTML Is Already Accessible

Section 6: StoryBook & Documentation Generation

Lecture 53 Setting up Auto Documentation Generation - JSON & README files

Lecture 54 Setting up Storybook with StencilJS

Lecture 55 Adding our first Story

Lecture 56 Custom Storybook Documentation & Blocks

Lecture 57 Storybook Accessibility Addon

Lecture 58 Global Styles Setup

Lecture 59 Writing Stories for Composite Components (e.g. Tabs, Fieldset)

Section 7: Testing with Jest and Playwright

Lecture 60 Unit testing with Jest - Stencil Test Runner

Lecture 61 E2E testing with Playwright

Lecture 62 Accessibility testing with Playwright

Lecture 63 Visual Regression testing with Playwright

Section 8: Approaches To Server-Side Rendering In StencilJS

Lecture 64 Introduction to SSR with StencilJS

Lecture 65 When to use SSR? Decision Framework

Lecture 66 How to use SSR with StencilJS?

Lecture 67 Pitfalls and Best Practices (*If you proceed with SSR)

Lecture 68 Verdict & Final Conclusion

Section 9: Deploy to NPM packages and testing on all Frameworks

Lecture 69 The Same Dashboard in React, Vue, Angular & TypeScript

Lecture 70 Deploying to NPM the core-library, react-library & vue-library

Frontend developers who want to build reusable, framework-agnostic web components,Developers interested in creating and publishing UI component libraries,Engineers working on design systems or shared component libraries across multiple projects,Multiple Teams using React, Angular, Vue, or Vanilla JS looking to standardize and unify the UI of all apps,Anyone who wants to learn StencilJS as fast as possible without BS stuff and not waste their time on non important things