1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pet-admin_admin-n8n

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 9.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 05:14 5103836

Вклад в n8n

Здорово, что вы здесь и хотите внести свой вклад в n8n.

Содержание

  • Кодекс поведения (#Code of Conduct)
  • Структура каталогов (#Directory Structure)
  • Настройка разработки (#Development Setup)
  • Цикл разработки (#Development Cycle)
  • Создание пользовательских узлов (#Create Custom Nodes)
  • Создайте новый узел для вклада в n8n (#Create a new node to contribute to n8n)
  • Контрольный список перед отправкой нового узла (#Checklist before submitting a new node)
  • Расширение документации (#Extend Documentation)
  • Лицензионное соглашение участника (#Contributor License Agreement)

Кодекс поведения

Этот проект и все участники руководствуются Кодексом поведения, который можно найти в файле CODE_OF_CONDUCT.md. Участвуя, вы должны соблюдать этот кодекс. Пожалуйста, сообщайте о неприемлемом поведении на jan@n8n.io.

Структура каталогов

n8n разделен на разные модули, которые находятся в одном монорепозитории.

Наиболее важные каталоги:

  • /docker/image — Dockerfiles для создания контейнеров n8n
  • /docker/compose — примеры настроек Docker
  • /packages — различные модули n8n
  • /packages/cli — код CLI для запуска front- & backend
  • /packages/core — основной код, который обрабатывает выполнение рабочего процесса, активные веб-перехватчики и рабочие процессы. Перед началом работы над любыми изменениями свяжитесь с n8n.
  • /packages/design-system — компоненты Vue frontend
  • /packages/editor-ui — редактор рабочих процессов Vue frontend
  • /packages/node-dev — CLI для создания новых узлов n8n-nodes
  • /packages/nodes-base — базовые узлы n8n
  • /packages/workflow — код рабочего процесса с интерфейсами, которые используются front- & бэкендом

Настройка разработки

Если вы хотите изменить или расширить n8n, вам необходимо убедиться, что установлены все необходимые зависимости и пакеты связаны правильно. Вот краткое руководство о том, как это можно сделать:

Требования

Node.js

Мы рекомендуем использовать версию Node.js 16 для целей разработки.

Инструменты сборки

Пакеты, используемые n8n, зависят от нескольких инструментов сборки:

Debian/Ubuntu:

apt-get install -y build-essential python

CentOS:

yum install gcc gcc-c++ make

Windows:

npm install -g windows-build-tools

npm workspaces

n8n разделено на разные модули, находящиеся в одном монорепозитории. Для облегчения управления модулями используются npm workspaces. Это автоматически устанавливает файловые ссылки между модулями, которые зависят друг от друга.

Фактическая настройка n8n

ВАЖНО: Все шаги ниже должны быть выполнены хотя бы один раз, чтобы настроить и запустить разработку!

Теперь, когда все необходимое для работы n8n установлено, можно проверить и настроить фактический код n8n:

  1. Форк репозитория n8n
  2. Клонируйте свой разветвленный репозиторий
    git clone https://github.com/<your_github_username>/n8n.git
  3. Добавьте оригинальный репозиторий n8n в качестве upstream к своему разветвленному репозиторию
    git remote add upstream https://github.com/n8n-io/n8n.git
  4. Перейдите в папку репозитория
    cd n8n
  5. Установите все зависимости всех модулей и свяжите их вместе:
    npm install
  6. Соберите весь код:
    npm run build

Запуск

Чтобы запустить n8n, выполните:

npm run start

Чтобы запустить n8n с туннелем:

./packages/cli/bin/n8n start --tunnel

Цикл разработки

При работе над кодом модулей n8n вы можете запустить npm run dev. Он автоматически соберет ваш код, перезапустит бэкенд и обновит интерфейс (редактор-ui) при каждом вашем изменении.

  1. Запустите n8n в режиме разработки:
    npm run dev
    ``` Хак, хак, хак
  2. Проверьте, всё ли работает в рабочем режиме:
    
    

npm run build npm run start


1. Создайте тесты.
1. Запустите все тесты (test-suite):  
    ```
npm run test
  1. Отправьте код и создайте запрос на включение изменений (pull request) по ссылке: https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.

Test suite

Тесты можно запустить с помощью команды:

npm run test

Если команда будет выполнена в одной из папок пакета, то будут запущены только тесты этого пакета. Если она будет выполнена в корневой папке n8n, то будут выполнены все тесты всех пакетов.

Создание пользовательских узлов

ВАЖНО: Избегайте использования внешних библиотек, чтобы обеспечить быстрое рассмотрение и объединение ваших пользовательских узлов.

Узнайте, как использовать node dev CLI для создания пользовательских узлов для n8n по ссылке: https://docs.n8n.io/nodes/creating-nodes/node-dev-cli.html.

Более подробную информацию можно найти в документации n8n-node-dev — небольшого CLI, который помогает при разработке узлов n8n: https://github.com/n8n-io/n8n/tree/master/packages/node-dev.

Создайте новый узел для вклада в n8n

Следуйте этому руководству по созданию вашего первого узла для n8n: https://docs.n8n.io/nodes/creating-nodes/create-node.html.

Контрольный список перед отправкой нового узла

Есть несколько моментов, которые следует учитывать при создании узла. Чтобы помочь вам, мы подготовили контрольный список, который охватывает требования к созданию узлов, от подготовки до отправки. Это поможет нам быстрее рассмотреть и объединить ваш PR.

Контрольный список можно найти по ссылке: https://docs.n8n.io/nodes/creating-nodes/node-review-checklist.html.

Расширение документации

Репозиторий документации n8n можно найти здесь: https://github.com/n8n-io/n8n-docs.

Документация доступна по адресу: https://docs.n8n.io.

Лицензионное соглашение участника

К сожалению, необходимо подписать лицензионное соглашение участника (Contributor License Agreement), чтобы избежать потенциальных проблем в будущем. Сделать это можно буквально одним нажатием кнопки.

Мы использовали самое простое соглашение, которое существует. Оно от Indie Open Source, использует простой английский язык и состоит буквально из нескольких строк.

Бот автоматически прокомментирует запрос на включение, когда он будет открыт, с просьбой подписать соглашение. Без подписанного соглашения, к сожалению, невозможно его объединить.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/pet-admin_admin-n8n.git
git@api.gitlife.ru:oschina-mirror/pet-admin_admin-n8n.git
oschina-mirror
pet-admin_admin-n8n
pet-admin_admin-n8n
master