π― SSR first, lightweight 1kB JSX library.
MIT License
nano-jsx is now at v0.1.x π This means, no breaking changes till v0.2.x Tweet about it!
The best about Nano JSX is the small bundle size. It builds, although is sound crazy, bundles as small as svelte!
SSR Out of the box, very simple to use
Pre-Rendering Renders your app to static html if you want. (This is possible, but requires some knowledge. I plan to make a tutorial soon.)
Partial Hydration Hydrate and only the parts you really need
Isomorphic Router Works on Client- and Server-Side
CSS in JS Use JavaScript objects for styling
No JSX build tools required Uses Tagged Templates instead of JSX if you prefer
Props, Ref, Context and Events Use Props, Ref, Context API and Events as you are used to in react
Inline SVG No problem
Prefetch Use the built-in Link Component
1KB (gzip) All of this in only ~1KB (Well, the core module is only about ~1KB)
CustomElements mode
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)
Checkout the website to find out more!
# install dependencies
npm install
# build
npm run build
# bundle
npm run bundle
# create instrumented bundle
npx webpack -c webpack/webpack.bundle.instrumented.js
# transpile browserTest library
npx tsc -p scripts/browserTest/tsconfig.json
# open browser to run the tests
npx five-server . --open=test/browser