JSPM

  • Created
  • Published
  • Downloads 199
  • Score
    100M100P100Q97112F
  • License MIT

A powerful, modern, and lightweight runtime for creating reactive web components with TypeScript

Package Exports

  • @jasonshimmy/custom-elements-runtime

Readme

🧩 Custom Elements Runtime

Patreon

Ultra-powerful, type-safe runtime for fast, reactive, and maintainable web components.

Build modern components with strict TypeScript, zero dependencies, and a clean functional API. Designed for speed, standards compliance, and productivity.

πŸ•ΉοΈ Try it on Codepen.io.

✨ Why You'll Love It

  • ⚑ Blazing Fast: Minimal runtime, instant updates, zero dependencies.
  • 🎨 JIT CSS: On-demand, utility-first styling directly in your HTML at runtime.
  • πŸ’ͺ No Build Necessary: Instant development feedback, no bundling required.
  • πŸ§‘β€πŸ’» TypeScript First: Strict types, intellisense, and safety everywhere.
  • 🧩 Functional API: No classes, no boilerplateβ€”just pure functions.
  • πŸ› οΈ SSR & HMR Ready: Universal rendering and instant hot reloads.
  • πŸ”Œ Extensible: Directives, event bus, store, and more for advanced use cases.
  • πŸ† Developer Friendly: Clean docs, examples, and a welcoming community.

⏱️ Getting Started

  1. Install: npm install @jasonshimmy/custom-elements-runtime
  2. Create a Component:
import { component, html } from '@jasonshimmy/custom-elements-runtime';

component('my-counter', (ctx) => html`
  <button
    class="px-4 py-2 bg-blue-500 text-white rounded"
    @click="${() => ctx.count++}"
  >Count: ${ctx.count}</button>
`, { state: { count: 0 } });
  1. Use in HTML:
<my-counter></my-counter>
  1. Enjoy instant reactivity and type safety!

πŸ“– Documentation Index

Explore the full documentation for every runtime feature:

πŸ—οΈ Core Concepts

🧩 Reactivity & Patterns

🎨 Styling

⚑ Performance & Architecture

πŸ›‘οΈ Error Handling & Lifecycle

🧰 Utilities & Troubleshooting

πŸ”— Framework Integration

For deep dives, see each guide above or browse the source code in src/lib/.

πŸ§‘β€πŸ”¬ Real-World Examples

🌟 Showcase & Community

πŸ’– Support This Project

Custom Elements Runtime is a labor of love built to make modern web development faster and more expressive. If it's helping you build better components, consider supporting me on Patreon to help keep the momentum going.

Your support helps fund continued development, documentation, and community engagement. Every bit helpsβ€”thank you!