codegen

द्वारा vercel

json-render के लिए कोड जनरेशन उपयोगिताएँ। UI स्पेक्स से कोड जनरेट करते समय, कस्टम कोड एक्सपोर्टर बनाते समय, स्पेक्स को ट्रैवर्स करते समय, या प्रॉप्स को सीरियलाइज़ करते समय उपयोग करें…

npx skills add https://github.com/vercel-labs/json-render --skill codegen

@json-render/codegen

Framework-agnostic utilities for generating code from json-render UI trees. Use these to build custom code exporters for Next.js, Remix, or other frameworks.

Installation

npm install @json-render/codegen

Tree Traversal

import {
  traverseSpec,
  collectUsedComponents,
  collectStatePaths,
  collectActions,
} from "@json-render/codegen";

// Walk the spec depth-first
traverseSpec(spec, (element, key, depth, parent) => {
  console.log(`${" ".repeat(depth * 2)}${key}: ${element.type}`);
});

// Get all component types used
const components = collectUsedComponents(spec);
// Set { "Card", "Metric", "Button" }

// Get all state paths referenced
const statePaths = collectStatePaths(spec);
// Set { "analytics/revenue", "user/name" }

// Get all action names
const actions = collectActions(spec);
// Set { "submit_form", "refresh_data" }

Serialization

import {
  serializePropValue,
  serializeProps,
  escapeString,
  type SerializeOptions,
} from "@json-render/codegen";

// Serialize a single value
serializePropValue("hello");
// { value: '"hello"', needsBraces: false }

serializePropValue({ $state: "/user/name" });
// { value: '{ $state: "/user/name" }', needsBraces: true }

// Serialize props for JSX
serializeProps({ title: "Dashboard", columns: 3, disabled: true });
// 'title="Dashboard" columns={3} disabled'

// Escape strings for code
escapeString('hello "world"');
// 'hello \"world\"'

SerializeOptions

interface SerializeOptions {
  quotes?: "single" | "double";
  indent?: number;
}

Types

import type { GeneratedFile, CodeGenerator } from "@json-render/codegen";

const myGenerator: CodeGenerator = {
  generate(spec) {
    return [
      { path: "package.json", content: "..." },
      { path: "app/page.tsx", content: "..." },
    ];
  },
};

Building a Custom Generator

import {
  collectUsedComponents,
  collectStatePaths,
  traverseSpec,
  serializeProps,
  type GeneratedFile,
} from "@json-render/codegen";
import type { Spec } from "@json-render/core";

export function generateNextJSProject(spec: Spec): GeneratedFile[] {
  const files: GeneratedFile[] = [];
  const components = collectUsedComponents(spec);
  // Generate package.json, component files, main page...
  return files;
}

vercel की और Skills

vercel
vercel
स्थानीय विकास और परीक्षण के लिए अनुकरणित Vercel REST API। उपयोग तब करें जब उपयोगकर्ता को स्थानीय रूप से Vercel API एंडपॉइंट्स के साथ इंटरैक्ट करने, Vercel इंटीग्रेशन का परीक्षण करने की आवश्यकता हो,…
cron-jobs
vercel
Vercel Cron Jobs कॉन्फ़िगरेशन और सर्वोत्तम अभ्यास। vercel.json में शेड्यूल किए गए कार्यों को जोड़ने, संपादित करने या डीबग करने पर उपयोग करें।
next-best-practice
vercel
Next.js सर्वोत्तम अभ्यास - फ़ाइल परंपराएँ, RSC सीमाएँ, डेटा पैटर्न, async API, मेटाडेटा, त्रुटि प्रबंधन, रूट हैंडलर, इमेज/फ़ॉन्ट अनुकूलन,…
benchmark-sandbox
vercel
Vercel Sandboxes में vercel-plugin eval परिदृश्य चलाएँ, स्थानीय WezTerm पैनलों के बजाय। Claude Code + प्लगइन पूर्व-स्थापित के साथ अस्थायी microVMs प्रदान करता है,…
write-guide
vercel
एक तकनीकी गाइड तैयार करें जो प्रगतिशील उदाहरणों के माध्यम से एक वास्तविक दुनिया के उपयोग के मामले को सिखाता है। अवधारणाओं को केवल तब पेश किया जाता है जब पाठक को उनकी आवश्यकता होती है।
benchmark-testing
vercel
बेंचमार्क परीक्षण परियोजनाएँ बनाएँ और लॉन्च करें ताकि वास्तविक परिदृश्यों में vercel-plugin कौशल इंजेक्शन का परीक्षण किया जा सके। पृथक निर्देशिकाएँ सेट करता है, इंस्टॉल करता है…
ai-gateway
vercel
Vercel AI गेटवे विशेषज्ञ मार्गदर्शन। मॉडल रूटिंग, प्रदाता फेलओवर, लागत ट्रैकिंग, या एकीकृत माध्यम से कई AI प्रदाताओं के प्रबंधन को कॉन्फ़िगर करते समय उपयोग करें…
ai-generation-persistence
vercel
एआई जनरेशन स्थिरता पैटर्न — प्रत्येक एलएलएम जनरेशन के लिए अद्वितीय आईडी, पता योग्य यूआरएल, डेटाबेस भंडारण और लागत ट्रैकिंग