Scripts
Проект включає різноманітні скрипти, призначені для покращення вашого досвіду розробника. Ви можете запустити будь-який скрипт за допомогою вашого терміналу. Зверніть увагу, що деякі CLI-скрипти можуть вимагати налаштування висоти вікна вашого терміналу, щоб уникнути аномалій інтерфейсу. Relivator дозволяє використовувати наступні можливості:
- 💪 Нативні скрипти: Це команди, сконфігуровані у package.json і запускаються менеджером пакетів, наприклад pnpm, [bun ](https://bun .sh), yarn або npm. Ви можете запустити ці «рідні» скрипти за допомогою команд типу
bun [dev|build]
іbun db:[push|studio]
. - ⚙️ Спеціальні скрипти: Ці скрипти написані на TypeScript та Python командою Reliverse та спільнотою і здебільшого знаходяться у теці
addons
. 🔥 Будь ласка, будьте обережні при використанні скриптів перетворення, оскільки всі вони знаходяться в початкових версіях. Переконайтеся, що ви зафіксували ваші зміни у вашому постачальнику контролю версій (наприклад, GitHub) перед використанням будь-якого з них. Вони можуть бути виконані через командний рядок за допомогою[appts|addons|reli|lint|fix]:*
або вручну за допомогоюbun шлях/до/файлу
абоpy шлях/до/файлу
(наприклад,py addons/scripts/reliverse/relimter/python/tasks/math-to-mathjs.py
). - 🐍 Python Script Manager: Може бути запущений за допомогою
reli:manager
абоpy addons/scripts/reliverse/relimter/python/index.py
. Перед запуском, будь ласка, прочитайте розділ 🐍 Python нижче, щоб дізнатися, як підготувати робочий простір для запуску цього менеджера.
package.json
Нижче наведено кілька скриптів, налаштованих у розділі cripts
файлу package.json
(наведений нижче текст може бути застарілим, будь ласка, повідомте нам, якщо ви знайдете якісь неточності):
bun appts
/bun appts:putout
/bun appts:verbose
/bun appts:nobuild
: Ці команди виконують комплексну перевірку кодової бази. Вони послідовно запускаютьbun knip
для різних перевірок кодової бази,bun format
для форматування коду за допомогою Biome (або Prettier, що скоро буде випущено), іbun lint
для лінтування за допомогою Biome і ESLint (bun lint:eslint
). Накладання ворсу може зайняти деякий час, тому будьте терплячі. Командаbun appts:putout
також запускаєbun lint:putout
. Використанняbun appts:verbose
показує детальний прогрес роботи ESLint, що може бути корисним, якщо ви підозрюєте, що ESLint застряг (він може бути повільним, а не застрягнути). Ви можете вирішити проблеми вручну, натиснувшиCtrl+S
кілька разів у VSCode, доки на вкладці «Проблеми» не буде жодної проблеми. Зазвичай, проблеми вирішуються на другому або третьому запуску. Якщо деякі специфічні проблеми не зникають, це може означати, що вони не були виправлені автоматично. Будь ласка, спробуйте виправити їх вручну, зв’яжіться з нами або вимкніть правило. Багато правил уeslint.config.js
вимкнено за замовчуванням; увімкніть лише ті, що вам потрібні. Ви також можете запуститиbun reli:setup
і вибрати пресет RulesDisabled, якщо ви хочете вимкнути всі правила «помилки» і «попередження» одночасно. Потімbun appts
запускаєbun typecheck
на наявність помилок TypeScript іbun run build
, але ви можете спробуватиbun turbo:appts
, який запускаєbun turbo:build
для пришвидшення збирання за допомогою Turborepo v2. Зауважте, щоbun turbo:appts
є швидшою, інтерактивною версієюappts
, але може не працювати належним чином з терміналом VSCode. Крім того, ви можете скористатисяbun appts:nobuild
, який виконує лише перевірку, лінтування, форматування і виправлення, без збирання.bun fix:putout-unstable
: Putout - це лінтер і форматор. У той час як форматор виправляє проблеми, про які повідомляє лінтер, командаfix:putout-unstable
також вносить зміни, які не були помічені лінтером. Переконайтеся, що ви зафіксували ваш код перед виконанням цієї команди, оскільки вона може спричинити неочікувані зміни. Після запуску перегляньте і відкоригуйте зміни у вашій кодовій базі за допомогою VSCode Source Control (Cmd/Ctrl+Shift+G) або GitHub Desktop.bun db:[push|studio|generate|migrate]
:push
перетворює схему TypeScript Drizzle на SQL і надсилає її за адресою DATABASE_URL;studio
запускає Drizzle Studio на https://local.drizzle.studio;migrate
застосовує міграції, згенеровані командоюgenerate
(можливо, ця команда вам більше не знадобиться), на основі файлуdrizzle.config.ts
.bun stripe:listen
: Запускає слухач веб-хука Stripe і допомагає налаштувати змінні середовища Stripe. Для роботи цієї команди має бути встановлено Stripe CLI.bun addons
: Ця команда дозволяє запускати деякі скрипти з текиaddons
у режимі «без голови». Багато скриптів ще не додано туди, тому, будь ласка, перевірте текуaddons
і запустіть їх вручну за допомогоюbun шлях/до/файлу
абоpy шлях/до/файлу
. Це також стосується гри @reliverse/academy. У майбутньому вона матиме багато різних цікавих функцій. Наразі це вікторина з таблицею лідерів та досягнень, де ви можете перевірити свої знання Relivator, JavaScript, TypeScript, React і навіть ESLint.reli:manager
: Дізнайтеся більше в розділі 🐍 Python нижче. Це псевдонім командиpy addons/scripts/reliverse/relimter/python/index.py
.bun latest
: Оновлює усі пакунки проекту до їхніх останніх стабільних версій, включно з деякими специфічними пакунками у гілках rc/beta/alpha/next/canary до їхніх останніх версій.bun reli:vscode [nothing|minimal|default|ultimate]
: Покращує налаштування VSCode за допомогою пресетів від Reliverse. Цей скрипт коригує ваші файлиettings.json
,extensions.json
іlaunch.json
. Він запитає підтвердження перед заміною поточних файлів. СкористайтесяRQ20
, щоб дізнатися більше про.vscode
-пресети і встановлення шрифтів дляultimate
-пресети, або скористайтесяdefault
-пресетою (яка не містить користувацьких шрифтів і тем). Виберітьdefault
,minimal
абоnothing
, якщо ваш ПК або віртуальна машина працює дуже повільно.bun reli:help
: Показує корисну інформацію про Relivator та Reliverse.bun lint:compiler
: Запускає перевірку працездатності React-компілятора. Зауважте, що React Compiler вимкнено за замовчуванням; дивіться розділ FAQ для більш детальної інформації.bun tw:[v4|v3]
: Перемикає між Tailwind CSS v3 та альфа-версією v4. Важливо: Після використання цієї команди відкоригуйте коментарі вpostcss.config.cjs
. Також: При використанні Tailwind CSS v4 видаліть або закоментуйтеtailwindPlugin
зeslint.config.js
, оскільки він не підтримує v4. Можуть знадобитися деякі додаткові зміни в коді.bun reli:prepare
: Дізнайтеся більше про цей скрипт у попередньому розділі (Cmd/Ctrl+F «Рекомендується»).
Python
👋 Привіт, друже! Приємно бачити тебе тут! У мене (@blefnk Назар Корнієнко) є мрія зробити світ open-source кращим та якіснішим. Я прагну залишити свій слід в історії, забезпечивши людям справжнє задоволення від програмування та створення якісних продуктів. Я особливо захоплений чистим кодом. Книга Роберта Мартіна «Чистий код» - це must-have!
Саме тому я розробив багато інструментів у Relivator. За останні кілька місяців, що передували Relivator 1.2.6, я багато чому навчився. Щоб уникнути ручного переписування коду, я розробив уніфікований менеджер сценаріїв. Поточна версія менеджера все ще дуже нестабільна. Ви можете відвідати файл addons/scripts/reliverse/relimter/python/index.py
, щоб дізнатися більше про те, як працює цей менеджер скриптів.
Якщо ви хочете скористатися цим Python Script Manager
(див. ⚙️ Script, щоб прочитати вступ), будь ласка, переконайтеся, що ваш робочий простір належним чином підготовлено для нього. Зауважте, що більшість скриптів здебільшого неперевірені. Перед запуском будь-якого скрипта зафіксуйте ваш код. Збільште розмір вікна терміналу VSCode, щоб уникнути збоїв у користувацькому інтерфейсі. Потрібна допомога? Відвідайте наш Discord. Виконайте наведені нижче кроки, щоб почати роботу (прокрутіть вниз, щоб дізнатися більше команд Python):
✅ Після виконання наведених вище інструкцій ви можете безпечно запустити менеджер скриптів.
- Встановіть Python та Ruff. Встановіть наступні розширення VSCode: Python та Ruff.
- Створіть нову теку
.venv
, натиснувшиCmd/Ctrl+Shift+P
і запустивши>Python: Create Environment...
(VSCode запропонує вам вибрати інтерпретатор Python; виберіть той, який було встановлено на кроці 1). Потім виберітьrequirements.txt
як файл залежностей пакунка. - Зверніть увагу, що термінал VSCode автоматично активує середовище після кожного запуску. Ви можете перевірити це, навівши вказівник миші на кнопку [pwsh|bash|cmd] у терміналі VSCode і шукаючи щось на кшталт «
Python
»: Активоване середовище для.\.venv\Scripts\python.exe
». Однак, якщо ви використовуєте іншу IDE або зовнішній термінал, можливо, вам доведеться активувати віртуальне середовище вручну: [Windows].venv/Scripts/activate
; [macOS/Linux]source .venv/bin/activate
. - Переконайтеся, що всі вимоги встановлено правильно, просто запустіть
pip install -r requirements.txt
. Все готово? Чудово! Вітаємо! Спробуйте запуститиPython Script Manager
зараз, виконавши:reli:manager
абоpy addons/scripts/reliverse/relimter/python/index.py
.
Корисні команди Python
Ми все ще працюємо над цим розділом. Наведений нижче опис може бути дещо некоректним. *Наступний опис може бути дещо некоректним.
Зверніть увагу: якщо у вас встановлено UV і ви використали команду типу uv pip install InquirerPy
і вона видає помилку на кшталт «The wheel is invalid», найпростішим рішенням буде просто скористатися звичайними командами pip, наприклад pip install InquirerPy
.