or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

activity-events.mdassets.mdcode-generation.mdcomponent-metadata.mddrag-drop.mdeditor-config.mdindex.mdmodels.mdplugins.mdschemas.mdshell-api.mdshell-enums.mdvalue-types.md
tile.json

code-generation.mddocs/

Code Generation

Type definitions for code generation pipeline, including intermediate representations and final output structures.

Capabilities

Package JSON

Structure for generated package.json files.

/**
 * Package.json structure for code generation
 */
interface PackageJSON {
  /** Package name */
  name: string;
  /** Package version */
  version: string;
  /** Package description */
  description?: string;
  /** Runtime dependencies */
  dependencies: Record<string, string>;
  /** Development dependencies */
  devDependencies: Record<string, string>;
  /** NPM scripts */
  scripts?: Record<string, string>;
  /** Engine requirements */
  engines?: Record<string, string>;
  /** Repository information */
  repository?: {
    type: string;
    url: string;
  };
  /** Whether package is private */
  private?: boolean;
}

Result Structures

Output structures for code generation results.

/**
 * Directory structure in code generation output
 */
interface ResultDir {
  /** Directory name (Root name defaults to '.') */
  name: string;
  /** Subdirectories */
  dirs: ResultDir[];
  /** Files in directory */
  files: ResultFile[];
}

/**
 * File structure in code generation output
 */
interface ResultFile {
  /** File name */
  name: string;
  /** File extension (e.g., .js, .less) */
  ext: string;
  /** File content */
  content: string;
}

Usage Examples:

import { PackageJSON, ResultDir, ResultFile } from "@alilc/lowcode-types";

// Generated package.json
const packageJson: PackageJSON = {
  name: "my-lowcode-app",
  version: "1.0.0",
  description: "Generated from lowcode schema",
  dependencies: {
    "react": "^17.0.0",
    "antd": "^4.0.0"
  },
  devDependencies: {
    "typescript": "^4.0.0"
  },
  scripts: {
    "start": "react-scripts start",
    "build": "react-scripts build"
  }
};

// Generated file structure
const appFile: ResultFile = {
  name: "App",
  ext: ".tsx",
  content: `import React from 'react';
import { Button } from 'antd';

export default function App() {
  return <Button type="primary">Hello World</Button>;
}`
};

const resultStructure: ResultDir = {
  name: ".",
  dirs: [
    {
      name: "src",
      dirs: [],
      files: [appFile]
    }
  ],
  files: [
    {
      name: "package",
      ext: ".json", 
      content: JSON.stringify(packageJson, null, 2)
    }
  ]
};