Внесок - Rete.js

Внесок

Дякуємо за ваш інтерес до внеску в цей проект! Перш ніж розпочати, перегляньте наш Кодекс поведінки і Ліцензування. Роблячи внесок у наш проект, ви погоджуєтеся дотримуватися кодексу поведінки та ліцензуєте свої внески відповідно до наших умов ліцензування.

Внесок коду

Процес внеску слідує стандартному методу Github: форк репозіторія та надсилання пул реквесту.

Надсилаючи пул реквест, обов’язково вказуйте посилання на відповідне issue, якщо це можливо. Для покращень надайте детальне пояснення змін та їх обґрунтування. Ми також рекомендуємо обговорити проблему в розділі "GitHub Issues" перед тим, як надсилати пул реквест, щоб переконатися, чи проблема поширена та чи можна запропоноване вдосконалення реалізувати як окремий пакет або це вимагає модифікації поточної кодової бази.

  • Дотримуйтеся Стайл Гайду
  • Зберігайте пул реквести невеликими та зосередженими на одній проблемі чи темі
  • Напишіть прості та змістовні модульні тести для нового коду, який ви додаєте
  • Тестуйте зміни за допомогою Rete QA і, якщо можливо, додайте тести E2E для нових функцій

Вносячи зміни до коду, пам’ятайте про будь-які потенційні breaking зміни та намагайтеся використовувати плагіни для розширення функціональності, коли це можливо, замість того, щоб змінювати існуючий код. Цей підхід узгоджується з метою архітектури проекту мінімізувати потребу в змінах основного коду.

Перегляньте сторінку Розробка, щоб отримати детальніший гайд із розробки плагінів.

Покроковий внесок у пакет

Незалежно від того, чи ви новачок, чи маєте досвід вкладу open source в JS екосистемі, цей гайд допоможе вам уникнути помилок під час збереження змін у системі керування версіями та їх перевірки.

Передумови

  • Node.js (рекомендовано v18)
  • GIT
  • Редактор (VS Code тощо)
  • Профіль GitHub

Кроки

Флоу
  • Форк репозиторію
  • Клонуйте форк локально: git clone <link>
  • Створіть гілку для свого виправлення або функції (fix/<name>, feature/<name> тощо).
  • Встановіть залежності: npm ci
  • Перевірте, чи збірка працює у вашому середовищі: npm run build
  • Внесіть зміни
  • Запустіть тести, лінтер і збірку
  • Перевірите зміни
  • Зробіть комміт зміни відповідно до conventional commit
  • Надішліть зміни у відповідну гілку цього репозиторію
  • Створіть Pull request

Перевірка зміни

Флоу перевірки
  • Створіть тарбол пакета: cd dist && npm pack
  • Перевірте зміни у своєму додатку
    • Встановіть отриманий *.tgz у свій додаток
    • Запустіть додаток
  • Перевірте зміни в шаблонах додатків
    • Створіть додаток за допомогою Rete Kit
    • Встановити отриманий *.tgz в цей додаток
    • Запустіть додаток
  • Тестування E2E
    • Вкажіть шлях до отриманого *.tgz у файл аліас залежностей
    • Ініціалізація тестового середовища за допомогою Rete QA з --deps-alias
    • Виконайте тести: rete-qa test

Додатково, якщо ви хочете пришвидшити цей процес під час безперервних змін за рахунок Hot Reload, ви можете скористуватись командою rete-kit build. Таким чином зміни в вихідному коді пакету, який ви склонували як репозиторій, будуть розповсюджені на всі вказані залежності та додатки.

Тестування та Звітування про помилки

Тестування проекту в різних середовищах (браузери, інструменти збірки) і звітування про помилки дуже цінуються. Інструмент Rete Kit може допомогти у тестуванні проекту з різними фреймворками, дозволяючи легко створити базовий редактор для потрібної версії.

Якщо ви натрапили на помилку, повідомте про неї, створивши звіт про проблему у відповідному репозиторії GitHub. Якщо ви не впевнені, звідки походить помилка, створіть проблему в головному репозиторії. Ваш тікет має містити докладні кроки для відтворення проблеми.

Будь ласка, переконайтеся, що не було попереднього створено жодного тікету з такою ж проблемою. Якщо такий є, ви можете додати коментар із детальним описом проблеми з вашої точки зору або додати реакцію (це також важливо).

Документація

Ми вітаємо будь-які внески спільноти для покращення документації нашого проекту. Якщо ви натрапите на будь-які друкарські помилки чи неточності, будь ласка, повідомте про них у репозиторії retejs.org або надішліть пул реквест із запропонованими змінами.

Для тих, хто хоче зробити свій внесок у документацію, рекомендуємо переглянути Гайд із внесків, щоб почати

Зробіть внесок у спільноту

Маєте досвід роботи з Rete.js? Ось кілька способів зробити внесок у спільноту:

  • взаємодійте з користувачами, відповідаючи на їхні запитання на GitHub Issues і сервері Discord (посилання доступні в заголовку)
  • брати участь в ініціативах, реагуючи (голосуючи) на них або визначаючи пріоритетність існуючих питань, що обговорюються
  • Ревью пул реквестів також цінуються, якщо ви маєте досвід роботи з TypeScript або вільно володієте мовою, для якої було оновлено документацію.

Крім того, ви можете поділитися інформацією про цей фреймворк у своїх соціальних мережах. Це може допомогти комусь, хто бореться з проблемою чи завданням, яке цей фреймворк може вирішити.

Фінансова підтримка

Пожертви на проект можна зробити через підписку на Patreon, щоб підтримати його подальший розвиток.

Дякуємо за ваш цінний внесок у проект! Якщо у вас є запитання чи рекомендації, будь ласка, зв’яжіться з нами за адресою [email protected]