# @velund/node

Node.js Генератор для системы UI-компонентов Velund.

Этот пакет является стандартным генератором Velund, который создает готовую к использованию библиотеку для вашего бэкенд-приложения на Node.js. Он преобразует определения фронтенд-компонентов в типизированный код и предоставляет удобный API для их рендеринга.

## 🚀 Ключевые особенности

- **Генерация Node.js-библиотеки**: Создает JavaScript/TypeScript-библиотеку, готовую к импорту в ваше Node.js-приложение.
- **Типизация**: Обеспечивает типизацию для `props` и `context` компонентов, упрощая разработку на бэкенде.
- **`Renderer` класс**: Предоставляет основной класс для рендеринга Velund-компонентов на стороне сервера.
- **Поддержка `prepare` методов**: Позволяет реализовать серверную логику для асинхронной подготовки данных компонента.

## 📦 Установка

Пакет `@velund/node` не требует установки, это стандартная часть экосистемы Velund, которая идёт в комплекте

## 🛠️ Использование в проекте Velund

Для включения `@velund/node` в ваш проект, вам нужно зарегистрировать его в конфигурации плагина `velund` в файле `vite.config.ts`:

```typescript
// vite.config.ts
import { defineConfig } from 'vite';
import velund from 'velund';
import nodeGenerator from '@velund/node'; // Импортируем Node.js-генератор
import twigRenderer from '@velund/twig'; // Пример: Twig-рендерер, который вы используете

export default defineConfig({
  plugins: [
    velund({
      generator: 'node', // Указываем `node` как основной генератор для проекта
      renderers: [
        twigRenderer(), // Регистрируем используемые рендереры
      ],
      generators: [
        nodeGenerator(), // Регистрируем Node.js-генератор
        // Примечание: `@velund/node` является встроенным генератором,
        // поэтому явное его указание в списке `generators` *опционально*,
        // но может улучшить читаемость и помочь с типизацией.
      ],
      // Также можно передать специфичные опции для Node.js-генератора:
      nodeConfig: {
        manifest: {
          author: 'me',
        },
      },
      // ... другие настройки velund
    }),
  ],
});
```

После сборки вашего фронтенд-проекта (`npm run build`), `@velund/node` сгенерирует готовую библиотеку в вашей выходной директории (обычно `dist/` или в поддиректории, указанной в `vite.config.ts` вашего основного приложения). Эту библиотеку затем можно будет импортировать и использовать в вашем Node.js-приложении.
