npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ydom-core

v3.0.0

Published

Core reactive UI engine, AST parser, and Vite compiler plugin for YDOM

Readme

ydom-core

ydom-core es el motor reactivo interno, parser AST y plugin de compilación de plantillas para el ecosistema YDOM. Es un paquete agnóstico y superligero diseñado para transformar plantillas .ydom (YAML-based DOM) en sintaxis AST y renderizar nodos HTML nativos con reactividad basada en Deep Signals y reconciliación delimitada por anchors.

Este paquete sirve como el motor fundamental sobre el cual se construye ydomjs.


⚡ Características Principales

  • Lexer & Parser AST Integrado: Convierte sintaxis .ydom en un Árbol de Sintaxis Abstracta (AST) optimizado.
  • Motor de Reconciliación por Anchors (Comentarios de Anclaje): Manipulación de nodos en el DOM físico mediante comentarios delimitadores (<!--ydom:if-start-->, <!--ydom:for-start-->) aislados y eficientes.
  • Sistema de Reactividad por Deep Signals: Reactividad automática transparente para arrays, objetos y atributos mediante proxys profundos y loteo de actualizaciones (batch updates).
  • Soporte de Web Components (YDOMElement): Facilita la creación de Custom Elements nativos en el navegador.
  • Plugin de Compilación Oficial para Vite (ydom-core/vite-plugin): Permite importar archivos .ydom directamente en proyectos TypeScript/JavaScript.

📦 Instalación

En tu proyecto NPM:

npm install ydom-core

🚀 Uso del Motor y Plugin de Vite

1. Configuración del Plugin de Vite

En tu vite.config.ts:

import { defineConfig } from 'vite';
import { ydom } from 'ydom-core/vite-plugin';

export default defineConfig({
  plugins: [ydom()]
});

2. Definición de Tipos para Plantillas .ydom

Agrega en tu archivo env.d.ts:

declare module '*.ydom' {
  const src: string;
  export default src;
}

3. Componente con YDOMElement

import { YDOMElement } from 'ydom-core';
import template from './mi-componente.ydom';

export class MiComponente extends YDOMElement {
  static template = template;

  nombre = 'Mundo';

  saludar() {
    this.nombre = 'YDOM Core';
  }
}

customElements.define('mi-componente', MiComponente);

📚 Documentación Técnica de Arquitectura

Para un desglose técnico detallado sobre cómo funciona el algoritmo de reconciliación mediante comentarios de anclaje (Anchors) y sincronización de bucles condicionales (@if, @for con :key), consulta la especificación oficial incluida en este paquete:

👉 Especificación Técnica de Reconciliación (ydom-reconciliation-anchors-v3.md)


📄 Licencia

MIT License. © joguel