awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
stenciljs avatar

stenciljs/core

0
View on GitHub↗
13,101 stars·845 forks·TypeScript·15 viewsstenciljs.com↗

Core

This project is a web component tooling system used to compile TypeScript and JSX into standard-compliant custom elements. It enables the development of framework-agnostic components that function across different browsers and frontend environments.

The toolset focuses on cross-framework UI distribution, allowing a single library of components to be used in React, Angular, Vue, or plain HTML. It includes capabilities for enterprise design system engineering and generates specific wrapper code to ensure components behave as native elements within various frameworks.

The system covers server-side rendering with client-side hydration, virtual DOM reconciliation, and scoped CSS encapsulation via Shadow DOM. It also provides a development environment with a local server, hot module reloading, and automated testing utilities including headless unit testing and shadow DOM verification.

The project includes a command-line interface for orchestrating build, test, and serve operations.

Features

  • Component Compilers - Compiles TypeScript and JSX into standard-compliant web components for cross-framework distribution.
  • Cross-Framework Component Distribution - Provides a unified set of UI components that can be used across React, Angular, Vue, and plain HTML.
  • State Synchronization Decorators - Uses TypeScript decorators to track property changes and automatically synchronize the UI when data is updated.
  • Component Property Systems - Defines input attributes using decorators to pass external data into web components.
  • Component Slot Systems - Assigns content to specific slots and monitors changes to assigned nodes within components.
  • Component State Managers - Manages component properties and internal state with automated synchronization using decorators.
  • Framework-Agnostic UI Development - Facilitates the creation of a single library of Web Components that operate independently of any specific JavaScript framework.
  • Component Lifecycle Management - Triggers specific logic at defined stages of a component's existence, from creation to removal.
  • Style Encapsulations - Isolates component styling using the browser's native shadow root to prevent CSS leaks.
  • Custom Element Registries - Defines how compiled components register with the browser's custom element registry.
  • Framework Integration Wrappers - Generates glue code that allows standard Web Components to be used as native components in React, Angular, or Vue.
  • Web Components - Provides a full toolset for compiling TypeScript and JSX into standard-compliant, optimized custom elements.
  • Client-Side Hydration - Restores interactive behavior to server-rendered static content by transferring state and styles to the client.
  • Server-Side Rendering - Generates static HTML on the server to improve SEO and initial page load speeds for web components.
  • Enterprise Component Systems - Enables the engineering of scalable, maintainable component libraries using TypeScript for large-scale corporate design systems.
  • Virtual DOM Reconciliation - Implements virtual DOM reconciliation to update the browser interface efficiently by minimizing direct DOM manipulations.
  • Lifecycle Mappings - Maps internal class methods to native browser lifecycle events like connection and disconnection from the DOM.
  • Build Task Runners - Provides a command-line interface to orchestrate build, test, and serve operations.
  • Web Component Testing Suites - Includes a test suite specifically designed to validate custom element behavior, lifecycle hooks, and rendering.
  • Hot-Reloading Servers - Pushes real-time code updates from a development server to the browser via WebSockets.
  • Hot-Reloading Systems - Provides real-time browser updates via WebSockets to reflect code changes without requiring a full page refresh.
  • Browser Compatibility Targets - Supports targeting older browsers by generating builds for ES5 and SystemJS to ensure maximum compatibility.
  • Shadow DOM Assertions - Provides utilities to serialize shadow-root content into mock elements for precise assertions against internal DOM structures.
  • Frontend Unit Testing - Provides the ability to render and verify component HTML output in a Node environment without a browser.
  • Virtual DOM Reconciliation - Updates the browser interface by comparing state changes against a virtual DOM representation to minimize manipulations.
  • Development Servers - Ships a local development server with hot reloading and configurable ports for rapid prototyping.
  • Web Component Distribution - Packages components into a distributable format with automated dependency loading and export behaviors.

Star history

Star history chart for stenciljs/coreStar history chart for stenciljs/core

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Core

Similar open-source projects, ranked by how many features they share with Core.
  • lit/litlit avatar

    lit/lit

    21,679View on GitHub↗

    Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages native browser APIs to encapsulate state, logic, and styles, allowing developers to create custom elements that function consistently across any modern web project. The framework distinguishes itself through a reactive property system that automatically triggers efficient, batched DOM updates. By utilizing tagged template literals, it defines declarative UI structures that are compiled into optimized update instructions. Its architecture emphasizes modularity through a reactive con

    TypeScripthtml-templateslitlit-element
    View on GitHub↗21,679
  • ionic-team/stencilionic-team avatar

    ionic-team/stencil

    13,100View on GitHub↗

    Stencil is a compiler used for authoring web component libraries and developing framework-agnostic user interface elements. It transforms TypeScript and JSX source code into standard custom elements that operate natively in the browser. The project enables the implementation of design systems and enterprise component systems by sharing a single codebase across different JavaScript frameworks. It generates specific adapter layers that allow these custom elements to be used as native components in React, Angular, and Vue. The toolset incorporates ahead-of-time compilation to minimize bundle si

    TypeScript
    View on GitHub↗13,100
  • didi/mpxdidi avatar

    didi/mpx

    3,905View on GitHub↗

    MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p

    JavaScript
    View on GitHub↗3,905
  • facebook/reactfacebook avatar

    facebook/react

    245,669View on GitHub↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    View on GitHub↗245,669
See all 30 alternatives to Core→

Frequently asked questions

What does stenciljs/core do?

This project is a web component tooling system used to compile TypeScript and JSX into standard-compliant custom elements. It enables the development of framework-agnostic components that function across different browsers and frontend environments.

What are the main features of stenciljs/core?

The main features of stenciljs/core are: Component Compilers, Cross-Framework Component Distribution, State Synchronization Decorators, Component Property Systems, Component Slot Systems, Component State Managers, Framework-Agnostic UI Development, Component Lifecycle Management.

What are some open-source alternatives to stenciljs/core?

Open-source alternatives to stenciljs/core include: lit/lit — Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages… ionic-team/stencil — Stencil is a compiler used for authoring web component libraries and developing framework-agnostic user interface… didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… infernojs/inferno — Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user… ripple-ts/ripple — Ripple is a full-stack TypeScript web framework and reactive UI library used for building interfaces with server-side…