{"id":18077470,"url":"https://github.com/superlucky84/lithent","last_synced_at":"2026-02-18T13:01:00.997Z","repository":{"id":50065575,"uuid":"510991574","full_name":"superlucky84/lithent","owner":"superlucky84","description":"➿ Lightweight virtual DOM library for predictable UIs. 4KB core with closure-based state.","archived":false,"fork":false,"pushed_at":"2026-01-30T09:09:26.000Z","size":13250,"stargazers_count":47,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-31T01:55:22.078Z","etag":null,"topics":["components","dom","framework","generators","htm","javascript","jsx","lithent","lithentjs","vdom","virtual-dom"],"latest_commit_sha":null,"homepage":"https://superlucky84.github.io/lithent/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/superlucky84.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-06T04:47:51.000Z","updated_at":"2026-01-30T08:52:32.000Z","dependencies_parsed_at":"2026-01-20T09:01:31.047Z","dependency_job_id":null,"html_url":"https://github.com/superlucky84/lithent","commit_stats":null,"previous_names":["superlucky84/wwact"],"tags_count":114,"template":false,"template_full_name":null,"purl":"pkg:github/superlucky84/lithent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superlucky84%2Flithent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superlucky84%2Flithent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superlucky84%2Flithent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superlucky84%2Flithent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/superlucky84","download_url":"https://codeload.github.com/superlucky84/lithent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superlucky84%2Flithent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29580622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T08:38:15.585Z","status":"ssl_error","status_checked_at":"2026-02-18T08:38:14.917Z","response_time":162,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["components","dom","framework","generators","htm","javascript","jsx","lithent","lithentjs","vdom","virtual-dom"],"created_at":"2024-10-31T11:44:12.131Z","updated_at":"2026-02-18T13:01:00.975Z","avatar_url":"https://github.com/superlucky84.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./lithentDocs/public/lithent.png\" alt=\"Lithent\" height=\"60\" align=\"left\" style=\"margin-right: 10px;\" /\u003e\n\n# Lithent \u0026nbsp; [![npm version](https://img.shields.io/npm/v/lithent.svg)](https://www.npmjs.com/package/lithent) [![Bundle Size](https://img.shields.io/bundlephobia/minzip/lithent)](https://bundlephobia.com/package/lithent) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n\n\u003cbr clear=\"left\"/\u003e\n\n**Lithent is a JavaScript library for building lightweight, predictable UIs with familiar closure-based patterns.**\n\nIt trims away unnecessary magic and complex APIs so your UI code stays simple, explicit, and easy to reason about.\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"left\"\u003e\n\n### 🚀 [Get Started](https://superlucky84.github.io/lithent/#/guide/quick-start) · 📖 [Documentation](https://superlucky84.github.io/lithent/#/) · 💡 [Examples](https://superlucky84.github.io/lithent/#/examples/1)\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n## Why Lithent?\n\n**Lightweight DOM manipulation without the framework weight.** The 4KB core drives complete UIs. Need state management? Opt into helpers like expansion packs instead of adopting a full stack.\n\nBring in only what you need — let the stack scale with your project.\n\n**Design philosophy:**\n- **Small Bundle** — 4KB core with optional extensions\n- **Closure-based State** — No magic, just JavaScript\n- **Manual or Reactive** — Choose your update strategy\n- **Progressive Enhancement** — From static HTML to full SPA\n\n\u003cbr /\u003e\n\n## Quick start\n\n### Create a new project\n\n```bash\nnpx create-lithent@latest\n```\n\nPick a project name and template (SSR/SPA) and you’re ready to go.\n\n### Install via npm\n\n```bash\nnpm install lithent\n```\n\n### Use directly from a CDN\n\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/lithent/dist/lithent.umd.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/lithent/ftags/dist/lithentFTags.umd.js\"\u003e\u003c/script\u003e\n```\n\n\u003e **[📦 View all available CDN URLs](https://superlucky84.github.io/lithent/#/guide/quick-start)**\n\n\u003cbr /\u003e\n\n## Two ways to build components\n\nLithent offers two complementary styles you can freely mix in the same project.\n\n**Manual Mode** — Explicit control with `renew()`\n```tsx\nimport { mount } from 'lithent';\n\nconst Counter = mount(renew =\u003e {\n  let count = 0;\n  return () =\u003e \u003cbutton onClick={() =\u003e { count++; renew(); }}\u003e{count}\u003c/button\u003e;\n});\n```\n\n**Light API Mode** — Automatic reactivity\n```tsx\nimport { lmount } from 'lithent';\nimport { lstate } from 'lithent/helper';\n\nconst Counter = lmount(() =\u003e {\n  const count = lstate(0);\n  return () =\u003e \u003cbutton onClick={() =\u003e count.value++}\u003e{count.value}\u003c/button\u003e;\n});\n```\n\n\u003e **[📚 Explore component patterns in detail](https://superlucky84.github.io/lithent/#/guide/mounter)**\n\n\u003cbr /\u003e\n\n## Key features\n\n### Core\n- **mount / lmount** — Component initialization\n- **Portal** — Render outside parent DOM\n- **Hooks** — Lifecycle callbacks (`mountCallback`, `updateCallback`, `mountReadyCallback`)\n- **Ref** — Direct DOM access\n\n### Helpers (optional)\n- **state / lstate** — Reactive state management\n- **computed** — Derived values\n- **effect** — Side effects\n- **store / lstore** — Global state\n- **context / lcontext** — Cross-component data sharing\n\n### Template options\n- **JSX** — Via Vite plugin\n- **FTags** — Function-style tags (no build step)\n- **HTM** — Tagged template literals\n- **Template Strings** — Custom templates\n\n\u003e **[📖 View full API reference](https://superlucky84.github.io/lithent/#/)**\n\n\u003cbr /\u003e\n\n## Ecosystem\n\n| Package | Description |\n|--------|-------------|\n| [lithent](https://www.npmjs.com/package/lithent) | Core library (~4KB) |\n| [lithent/helper](https://www.npmjs.com/package/lithent) | Reactive state helpers |\n| [lithent/ssr](https://www.npmjs.com/package/lithent) | Server‑side rendering |\n| [lithent/ftags](https://www.npmjs.com/package/lithent) | Function‑style tag API |\n| [lithent/tag](https://www.npmjs.com/package/lithent) | HTM template support |\n| [create-lithent](https://www.npmjs.com/package/create-lithent) | Project scaffolding tool |\n\n\u003cbr /\u003e\n\n## License\n\n[MIT](LICENSE) © [superlucky84](https://github.com/superlucky84)\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eBuilt with ❤️ by the Lithent community\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperlucky84%2Flithent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperlucky84%2Flithent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperlucky84%2Flithent/lists"}