{"id":13432978,"url":"https://github.com/nanojsx/nano","last_synced_at":"2025-05-15T01:04:29.878Z","repository":{"id":37918174,"uuid":"274209897","full_name":"nanojsx/nano","owner":"nanojsx","description":"🎯 SSR first, lightweight 1kB JSX library.","archived":false,"fork":false,"pushed_at":"2024-12-27T13:16:32.000Z","size":1404,"stargazers_count":1528,"open_issues_count":9,"forks_count":40,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-13T21:33:58.644Z","etag":null,"topics":["deno","isomorphic","jsx","nano","node","ssr"],"latest_commit_sha":null,"homepage":"http://nanojsx.io","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/nanojsx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"yandeu"}},"created_at":"2020-06-22T18:10:32.000Z","updated_at":"2025-04-13T12:39:00.000Z","dependencies_parsed_at":"2025-04-13T21:38:49.152Z","dependency_job_id":null,"html_url":"https://github.com/nanojsx/nano","commit_stats":{"total_commits":494,"total_committers":10,"mean_commits":49.4,"dds":0.0587044534412956,"last_synced_commit":"37b2d6932fe25699a486ec097e3ab455203bd3d9"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanojsx%2Fnano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanojsx%2Fnano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanojsx%2Fnano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanojsx%2Fnano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanojsx","download_url":"https://codeload.github.com/nanojsx/nano/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254179894,"owners_count":22027884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["deno","isomorphic","jsx","nano","node","ssr"],"created_at":"2024-07-31T02:01:19.303Z","updated_at":"2025-05-15T01:04:29.859Z","avatar_url":"https://github.com/nanojsx.png","language":"TypeScript","funding_links":["https://github.com/sponsors/yandeu"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://nanojsx.io/\"\u003e\n  \u003c!-- https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#specifying-the-theme-an-image-is-shown-to --\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/nanojsx/nano/master/readme/nano-jsx-logo-dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/nanojsx/nano/master/readme/nano-jsx-logo.svg\"\u003e\n    \u003cimg alt=\"Nano JSX Logo\" src=\"https://raw.githubusercontent.com/nanojsx/nano/master/readme/nano-jsx-logo.svg\"\u003e\n  \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  SSR first, lightweight \u003cb\u003e1kB\u003c/b\u003e JSX library.\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003e\n  Written in TypeScript.\u003cbr /\u003e\n  Works on Node and Deno.\u003cbr /\u003e\n  Designed to build ultra fast MPAs and SPAs.\n\u003c/h3\u003e\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e  \n  \u003ca href=\"https://www.npmjs.com/package/nano-jsx\"\u003e\u003cimg src=\"https://img.shields.io/badge/available%20on-npmjs.com-lightgrey.svg?logo=node.js\u0026logoColor=339933\u0026labelColor=white\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://deno.land/x/nano_jsx\"\u003e\u003cimg src=\"https://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno\u0026labelColor=black\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"https://img.badgesize.io/nanojsx/nano/master/bundles/nano.core.min.js?compression=gzip\u0026style=flat-square\" alt=\"gzip size\"\u003e\n  \u003ca href=\"https://github.com/nanojsx/nano/actions?query=workflow%3ANodeJS\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/nanojsx/nano/nodejs.yml?branch=master\u0026label=NodeJS\u0026logo=github\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/nanojsx/nano/actions?query=workflow%3ADeno\"\u003e\u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/nanojsx/nano/deno.yml?branch=master\u0026label=Deno\u0026logo=github\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/nanojsx/nano/commits/master\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/nanojsx/nano.svg?style=flat-square\" alt=\"GitHub last commit\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/sponsors/yandeu\"\u003e\u003cimg src=\"https://img.shields.io/github/sponsors/yandeu?style=flat-square\" alt=\"Sponsors\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/prettier/prettier\"\u003e\u003cimg src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\" alt=\"code style: prettier\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.typescriptlang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/built%20with-TypeScript-blue?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/nanojsx/nano\"\u003e\u003cimg src=\"https://img.shields.io/codecov/c/github/nanojsx/nano?logo=codecov\u0026style=flat-square\" alt=\"Codecov\"/\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/node/v/nano-jsx.svg?style=flat-square\" alt=\"Node version\"/\u003e\n  \u003ca href=\"https://discord.gg/96PGJeB8xf\"\u003e \u003cimg src=\"https://img.shields.io/discord/912874504877912075?color=%237289da\u0026label=discord\u0026logo=discord\" alt=\"Join our discord server!\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr\u003e\n\n## News\n\nnano-jsx is now at v0.1.x 🎉  \nThis means, no breaking changes till v0.2.x  \n[Tweet about it!](http://twitter.com/share?text=nano-jsx%20has%20reached%20v0.1!\u0026url=https://nanojsx.io/)\n\n## Getting Started\n\n- Visit the [website](http://nanojsx.io/)\n- Download the [template](https://github.com/nanojsx/template)\n- Check out the [sandbox](https://codepen.io/yandeu/pen/MWKMmbq)\n- Try the [deno example](https://github.com/nanojsx/nano-jsx-deno-example)\n\n## Video Tutorial\n\n\u003ca href=\"https://www.youtube.com/playlist?list=PLC2Z8IWl1XDJI4Ah7ABolQ79AugF_eH1g\"\u003e\u003cimg width=\"300\" src=\"https://raw.githubusercontent.com/nanojsx/nano/master/readme/thumbnail.png\" /\u003e\u003c/a\u003e\n\n## Features\n\nThe best about Nano JSX is the **small bundle size**. It builds, although is sound crazy, bundles as small as svelte!\n\n### More Features\n\n- **SSR**  \n  Out of the box, very simple to use\n\n- **Pre-Rendering**  \n  Renders your app to static html if you want.  \n  (This is possible, but requires some knowledge.  \n  I plan to make a tutorial soon.)\n\n- **Partial Hydration**  \n  Hydrate and only the parts you really need\n\n- **Isomorphic Router**  \n  Works on Client- and Server-Side\n\n- **CSS in JS**  \n  Use JavaScript objects for styling\n\n- **No JSX build tools required**  \n  Uses Tagged Templates instead of JSX if you prefer\n\n- **Props, Ref, Context and Events**  \n  Use Props, Ref, Context API and Events as you are used to in react\n\n- **Inline SVG**  \n  No problem\n\n- **Prefetch**  \n  Use the built-in Link Component\n\n- **1KB (gzip)**  \n  All of this in only ~1KB  \n  _(Well, the core module is only about ~1KB)_\n\n- **CustomElements mode**  \n  You can define your component written with Nano JSX as web-components with `defineAsCustomElements`. This enables you to develop very light web components. (thanks @Shinyaigeek)\n\n## Documentation\n\nCheckout the [website](http://nanojsx.io/) to find out more!\n\n---\n\n## Development Section\n\n### Run browser tests (visually)\n\n```bash\n# install dependencies\nnpm install\n\n# build\nnpm run build\n\n# bundle\nnpm run bundle\n\n# create instrumented bundle\nnpx webpack -c webpack/webpack.bundle.instrumented.js\n\n# transpile browserTest library\nnpx tsc -p scripts/browserTest/tsconfig.json\n\n# open browser to run the tests\nnpx five-server . --open=test/browser\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanojsx%2Fnano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanojsx%2Fnano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanojsx%2Fnano/lists"}