{"library":"snabbdom-jsx","title":"snabbdom-jsx","type":"library","description":"Snabbdom-jsx is a lightweight library (v0.4.2, latest stable) that enables writing Snabbdom virtual DOM nodes using JSX syntax with Babel. It transforms JSX attributes into Snabbdom's data format, supporting namespaces like on- for events, class- for classes, and style- for styles. Unlike full frameworks, it stays focused on the virtual DOM layer, allowing flexible architecture choices. Released irregularly with minor updates since 2016, it ships TypeScript types and avoids React's component class overhead by using simple functions. Key differentiator: direct mapping of JSX to Snabbdom's modular system without additional abstractions.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install snabbdom-jsx"],"cli":null},"imports":["import { html } from 'snabbdom-jsx'","import { svg } from 'snabbdom-jsx'","import { defineComponent } from 'snabbdom-jsx'"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":null,"github":"https://github.com/snabbdom-jsx/snabbdom-jsx","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/snabbdom-jsx","openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"/** @jsx html */\nimport { html } from 'snabbdom-jsx';\nimport snabbdom from 'snabbdom';\nimport propsModule from 'snabbdom/modules/props';\nimport eventlistenersModule from 'snabbdom/modules/eventlisteners';\n\nconst patch = snabbdom.init([propsModule, eventlistenersModule]);\n\nconst app = <div on-click={() => alert('Hello!')}>\n  <h1>Hello JSX</h1>\n  <p>This is snabbdom-jsx.</p>\n</div>;\n\nconst container = document.getElementById('app');\npatch(container, app);","lang":"javascript","description":"Shows how to set up the JSX pragma, import html, initialize snabbdom with modules, create a virtual node with event listener, and patch the DOM.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}