Compare commits

...
Author SHA1 Message Date
github-actions[bot] 0a404302ef chore: version packages (#126)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 02:17:13 -06:00
Chris Tate 09376db2f6 v0.8.0 changeset (#125) 2026-02-20 02:15:51 -06:00
16 changed files with 166 additions and 7 deletions
+1
View File
@@ -6,6 +6,7 @@
[ [
"@json-render/core", "@json-render/core",
"@json-render/react", "@json-render/react",
"@json-render/react-pdf",
"@json-render/shadcn", "@json-render/shadcn",
"@json-render/react-native", "@json-render/react-native",
"@json-render/remotion", "@json-render/remotion",
@@ -4,6 +4,68 @@ export const metadata = { title: "Changelog" }
Notable changes and updates to json-render. Notable changes and updates to json-render.
## v0.8.0
February 2026
### New: `@json-render/react-pdf`
PDF renderer for json-render, powered by [`@react-pdf/renderer`](https://react-pdf.org/). Define catalogs and registries the same way as `@json-render/react`, but output PDF documents instead of web UI.
```bash
npm install @json-render/core @json-render/react-pdf
```
```typescript
import { renderToBuffer } from "@json-render/react-pdf";
import type { Spec } from "@json-render/core";
const spec: Spec = {
root: "doc",
elements: {
doc: { type: "Document", props: { title: "Invoice" }, children: ["page"] },
page: {
type: "Page",
props: { size: "A4" },
children: ["heading", "table"],
},
heading: {
type: "Heading",
props: { text: "Invoice #1234", level: "h1" },
children: [],
},
table: {
type: "Table",
props: {
columns: [
{ header: "Item", width: "60%" },
{ header: "Price", width: "40%", align: "right" },
],
rows: [
["Widget A", "$10.00"],
["Widget B", "$25.00"],
],
},
children: [],
},
},
};
const buffer = await renderToBuffer(spec);
```
Server-side rendering APIs:
- `renderToBuffer(spec)` -- render to an in-memory PDF buffer
- `renderToStream(spec)` -- render to a readable stream (pipe to HTTP response)
- `renderToFile(spec, path)` -- render directly to a file
15 standard components covering document structure (Document, Page), layout (View, Row, Column), content (Heading, Text, Image, Link), data (Table, List), decorative (Divider, Spacer), and page-level (PageNumber).
Supports custom catalogs with `defineRegistry`, server-safe imports via `@json-render/react-pdf/server`, and full context support (state, visibility, actions, validation, repeat scopes).
---
## v0.7.0 ## v0.7.0
February 2026 February 2026
+7
View File
@@ -1,5 +1,12 @@
# @json-render/codegen # @json-render/codegen
## 0.8.0
### Patch Changes
- Updated dependencies [09376db]
- @json-render/core@0.8.0
## 0.7.0 ## 0.7.0
### Patch Changes ### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/codegen", "name": "@json-render/codegen",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "Utilities for generating code from json-render UI trees", "description": "Utilities for generating code from json-render UI trees",
"keywords": [ "keywords": [
+27
View File
@@ -1,5 +1,32 @@
# @json-render/core # @json-render/core
## 0.8.0
### Minor Changes
- 09376db: New `@json-render/react-pdf` package for generating PDF documents from JSON specs.
### New: `@json-render/react-pdf`
PDF renderer for json-render, powered by `@react-pdf/renderer`. Define catalogs and registries the same way as `@json-render/react`, but output PDF documents instead of web UI.
- `renderToBuffer(spec)` — render a spec to an in-memory PDF buffer
- `renderToStream(spec)` — render to a readable stream (pipe to HTTP response)
- `renderToFile(spec, path)` — render directly to a file on disk
- `defineRegistry` / `createRenderer` — same API as `@json-render/react` for custom components
- `standardComponentDefinitions` — Zod-based catalog definitions (server-safe via `@json-render/react-pdf/catalog`)
- `standardComponents` — React PDF implementations for all standard components
- Server-safe import via `@json-render/react-pdf/server`
Standard components:
- **Document structure**: Document, Page
- **Layout**: View, Row, Column
- **Content**: Heading, Text, Image, Link
- **Data**: Table, List
- **Decorative**: Divider, Spacer
- **Page-level**: PageNumber
Includes full context support: state management, visibility conditions, actions, validation, and repeat scopes — matching the capabilities of `@json-render/react`.
## 0.7.0 ## 0.7.0
### Minor Changes ### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/core", "name": "@json-render/core",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "JSON becomes real things. Define your catalog, register your components, let AI generate.", "description": "JSON becomes real things. Define your catalog, register your components, let AI generate.",
"keywords": [ "keywords": [
+7
View File
@@ -1,5 +1,12 @@
# @json-render/react-native # @json-render/react-native
## 0.8.0
### Patch Changes
- Updated dependencies [09376db]
- @json-render/core@0.8.0
## 0.7.0 ## 0.7.0
### Patch Changes ### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/react-native", "name": "@json-render/react-native",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "React Native renderer for @json-render/core. JSON becomes React Native components.", "description": "React Native renderer for @json-render/core. JSON becomes React Native components.",
"keywords": [ "keywords": [
+33
View File
@@ -0,0 +1,33 @@
# @json-render/react-pdf
## 0.8.0
### Minor Changes
- 09376db: New `@json-render/react-pdf` package for generating PDF documents from JSON specs.
### New: `@json-render/react-pdf`
PDF renderer for json-render, powered by `@react-pdf/renderer`. Define catalogs and registries the same way as `@json-render/react`, but output PDF documents instead of web UI.
- `renderToBuffer(spec)` — render a spec to an in-memory PDF buffer
- `renderToStream(spec)` — render to a readable stream (pipe to HTTP response)
- `renderToFile(spec, path)` — render directly to a file on disk
- `defineRegistry` / `createRenderer` — same API as `@json-render/react` for custom components
- `standardComponentDefinitions` — Zod-based catalog definitions (server-safe via `@json-render/react-pdf/catalog`)
- `standardComponents` — React PDF implementations for all standard components
- Server-safe import via `@json-render/react-pdf/server`
Standard components:
- **Document structure**: Document, Page
- **Layout**: View, Row, Column
- **Content**: Heading, Text, Image, Link
- **Data**: Table, List
- **Decorative**: Divider, Spacer
- **Page-level**: PageNumber
Includes full context support: state management, visibility conditions, actions, validation, and repeat scopes — matching the capabilities of `@json-render/react`.
### Patch Changes
- Updated dependencies [09376db]
- @json-render/core@0.8.0
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/react-pdf", "name": "@json-render/react-pdf",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "React PDF renderer for @json-render/core. JSON becomes PDF documents.", "description": "React PDF renderer for @json-render/core. JSON becomes PDF documents.",
"keywords": [ "keywords": [
+7
View File
@@ -1,5 +1,12 @@
# @json-render/react # @json-render/react
## 0.8.0
### Patch Changes
- Updated dependencies [09376db]
- @json-render/core@0.8.0
## 0.7.0 ## 0.7.0
### Minor Changes ### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/react", "name": "@json-render/react",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "React renderer for @json-render/core. JSON becomes React components.", "description": "React renderer for @json-render/core. JSON becomes React components.",
"keywords": [ "keywords": [
+7
View File
@@ -1,5 +1,12 @@
# @json-render/remotion # @json-render/remotion
## 0.8.0
### Patch Changes
- Updated dependencies [09376db]
- @json-render/core@0.8.0
## 0.7.0 ## 0.7.0
### Patch Changes ### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/remotion", "name": "@json-render/remotion",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "Remotion renderer for @json-render/core. JSON becomes video compositions.", "description": "Remotion renderer for @json-render/core. JSON becomes video compositions.",
"keywords": [ "keywords": [
+8
View File
@@ -1,5 +1,13 @@
# @json-render/shadcn # @json-render/shadcn
## 0.8.0
### Patch Changes
- Updated dependencies [09376db]
- @json-render/core@0.8.0
- @json-render/react@0.8.0
## 0.7.0 ## 0.7.0
### Minor Changes ### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@json-render/shadcn", "name": "@json-render/shadcn",
"version": "0.7.0", "version": "0.8.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "shadcn/ui component library for @json-render/core. JSON becomes beautiful Tailwind-styled React components.", "description": "shadcn/ui component library for @json-render/core. JSON becomes beautiful Tailwind-styled React components.",
"keywords": [ "keywords": [