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

OSCHINA-MIRROR/pocketbase

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
root Отправлено 26.09.2024 17:00 469464d

Вклад в PocketBase

Спасибо, что нашли время улучшить PocketBase!

В этом документе описывается, как подготовить PR для изменения в основном репозитории.

Необходимые условия

  • Go 1.21+ (для внесения изменений в код на Go)
  • Node 18+ (для внесения изменений в пользовательский интерфейс администратора)

Если вы ещё этого не сделали, вы можете разветвить основной репозиторий и клонировать свою вилку, чтобы работать локально:

git clone https://github.com/your_username/pocketbase.git

[!ВАЖНО] Рекомендуется создать новую ветку от master для каждого исправления и функции. Это необходимо, если вы планируете отправить несколько PR, чтобы сохранить изменения отдельно для проверки, пока они в конечном итоге не будут объединены.

Внесение изменений в код на Go

PocketBase распространяется как пакет Go, а это значит, что для запуска проекта вам нужно будет создать программу Go main, которая импортирует пакет.

Репозиторий уже включает такую программу, расположенную в examples/base, которая также используется для готовых исполняемых файлов.

Итак, предположим, что вы уже внесли некоторые изменения в код PocketBase на Go и теперь хотите их запустить:

  1. Перейдите в examples/base.
  2. Выполните команду go run main.go serve.

Это запустит веб-сервер на http://localhost:8090 со встроенным готовым пользовательским интерфейсом администратора из ui/dist. И всё!

Прежде чем отправлять PR в основной репозиторий, рекомендуется:

  • Добавить модульные/интеграционные тесты для ваших изменений (мы используем стандартный пакет testing Go). Чтобы запустить тесты, вы можете выполнить (находясь в корневом каталоге проекта):

    go test ./...
    
    # или используя Makefile
    make test
  • Запустить линтер — golangci (см. как установить):

    golangci-lint run -c ./golangci.yml ./...
    
    # или с помощью Makefile
    make lint

Внесение изменений в пользовательский интерфейс администратора

Пользовательский интерфейс администратора PocketBase представляет собой одностраничное приложение (SPA), созданное с использованием Svelte и Vite.

Чтобы запустить пользовательский интерфейс администратора:

  1. Переместитесь в каталог проекта ui.
  2. Выполните npm install, чтобы установить зависимости узла.
  3. Запустите сервер разработки vite:
    npm run dev

Вы можете открыть браузер и получить доступ к работающему пользовательскому интерфейсу администратора по адресу http://localhost:3000.

Поскольку пользовательский интерфейс администратора является всего лишь клиентским приложением, вам необходимо также запустить сервер PocketBase в фоновом режиме (либо вручную запустив examples/base/main.go, либо скачав готовый исполняемый файл).

[!ПРИМЕЧАНИЕ] По умолчанию пользовательский интерфейс администратора ожидает, что серверная часть будет запущена на http://localhost:8090, но вы можете изменить это, создав новый файл ui/.env.development.local с переменной PB_BACKEND_URL = YOUR_ADDRESS внутри него.

Каждое изменение, которое вы вносите в пользовательском интерфейсе администратора, должно автоматически отражаться в браузере по адресу http://localhost:3000 без перезагрузки страницы.

Как только вы закончите вносить изменения, вы должны собрать пользовательский интерфейс администратора с помощью npm run build, чтобы его можно было встроить в пакет Go. И всё — вы можете отправить свой PR в основной репозиторий PocketBase.

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

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

1
https://api.gitlife.ru/oschina-mirror/pocketbase.git
git@api.gitlife.ru:oschina-mirror/pocketbase.git
oschina-mirror
pocketbase
pocketbase
master