Bun
Описание узла

Среда выполнения Bun выполняет JavaScript-код внутри сценариев автоматизации.
Она во многом совместима с Node.js, но обеспечивает более высокую производительность и дополнительные встроенные функции, такие как SQLite, быстрый менеджер пакетов и улучшенные API.
В low-code среде Bun работает так же, как Node.js — через узел JavaScript, с переключением среды выполнения в настройках.
Добавление кода в сценарий
Чтобы добавить код Bun:
- Добавьте узел JavaScript в сценарий.
- В настройках узла переключите среду выполнения на Bun.
- Отредактируйте шаблон кода вручную или с помощью ИИ.
Обмен данными между узлами
Использование данных из предыдущих узлов
Вы можете получить доступ к выходным данным предыдущих узлов через объект data:
export default async function run({ data }) {
const username = data["{{1.body.user}}"];
return { user: username };
}Передача обработанных данных в последующие узлы
Узел Bun может возвращать строки, числа, JSON-объекты или массивы:
export default async function run() {
return {
status: "ok",
count: 42,
};
}Использование NPM-пакетов
Bun поддерживает импорт npm-библиотек с помощью оператора import.
Зависимости устанавливаются автоматически после сохранения сценария.
import axios from "axios";
export default async function run() {
const response = await axios.get("https://api.github.com/repositories");
return { total: response.data.length };
}Некоторые библиотеки могут вести себя в Bun иначе, чем в Node.js. Всегда проверяйте совместимость.
Специфичные для Bun функции
Поддержка SQLite
Bun предоставляет встроенный модуль bun:sqlite:
import { Database } from "bun:sqlite";
export default async function run() {
const db = new Database(":memory:");
db.run("CREATE TABLE users (id INTEGER, name TEXT)");
db.run("INSERT INTO users VALUES (?, ?)", [1, "Alice"]);
const row = db.query("SELECT * FROM users").get();
return { user: row };
}Логирование
Используйте console.log для отладки. Вывод появится во вкладке Log.
Ограничения в low-code среде
Среда изолирована: прослушивание портов, запуск HTTP/WebSocket-серверов или фоновых демонов невозможны.
- Максимальное время выполнения: 2 минуты
- Поддерживается только JavaScript. Синтаксис TypeScript/JSX (
: type, interfaces, generics) недоступен - Используйте
importвместоrequire - Некоторые модули ядра Node.js не поддерживаются
- Не все npm-пакеты гарантированно работают
Bun.serveи любое создание серверов не поддерживаются