9 Commits

Author SHA1 Message Date
4c396d9f60 Add repository field to package.json (#9)
Required for npm provenance verification — npm checks that the
repository URL matches the GitHub repo publishing the package.

Co-authored-by: Ona <no-reply@ona.com>
2026-03-14 01:32:17 +00:00
2d75600913 Bump version to 0.2.0 (#5)
Breaking: JrxNode is now a union type (JrxElement | null | undefined),
isJrxNode renamed to isJrxElement.

Co-authored-by: Ona <no-reply@ona.com>
2026-03-14 01:11:45 +00:00
c8496ff5e9 Replace tsup with bun build + tsc, drop CJS
Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 01:51:01 +00:00
4c22ad4d87 Set publishConfig access to public
Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 01:43:52 +00:00
e641c33f56 Rename package to @nym.sh/jrx
Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 01:42:09 +00:00
99fe5e1db9 Rename package from jfx to jsonsx
Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 01:37:10 +00:00
2f9e0a9936 Rename package from jrx to jfx
Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 01:27:37 +00:00
af85ad3b07 Add example: Bun HTTP server showcasing jrx JSX-to-JSON rendering
Bun React app with HMR that demonstrates jrx's render() pipeline.
Shows JSX source, live UI via @json-render/react, and JSON output
side by side.

- example/specs/simple.tsx: flat Stack > Text + Button
- example/specs/full.tsx: nested layout with state, events,
  visibility conditions, and watchers
- Uses defineCatalog + defineRegistry from @json-render/react
- Fix package.json exports to match actual tsup output (.js/.cjs
  instead of .mjs/.js)

Co-authored-by: Ona <no-reply@ona.com>
2026-02-28 00:48:37 +00:00
Kenneth Nym
f36256dda9 Initial implementation of jrx - JSX factory for json-render
JSX factory that compiles JSX trees into json-render Spec JSON.
Framework-agnostic custom jsx-runtime, no React dependency at runtime.

- jsx/jsxs/Fragment via jsxImportSource: "jrx"
- render() flattens JrxNode tree into { root, elements, state? } Spec
- Auto key generation (type-N) with explicit key override
- Full feature parity: visible, on, repeat, watch as reserved props
- Function components via component() or plain functions
- @json-render/core as peer dependency

Co-authored-by: Ona <no-reply@ona.com>
2026-02-27 00:31:52 +00:00