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

OSCHINA-MIRROR/mirrors-WatermelonDB

Клонировать/Скачать
CONTRIBUTING.md 6.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.06.2025 09:12 1747f9a
Мы вас ждём

WatermelonDB — это открытое программное обеспечение, которое нуждается в вашей помощи для развития!

Если вы заметили отсутствие какой-либо функции, ошибку или другое улучшение, мы приглашаем вас принять участие! Вы можете открыть проблему, чтобы получить некоторую помощь, и посмотреть руководство по вкладу для получения информации о настройке проекта, тестировании и т.д.

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

Если вы создали или планируете создать приложение с использованием WatermelonDB, пожалуйста, сообщите нам!


Перед отправкой pull request

  1. Добавили ли вы или изменили какую-либо функциональность?

    Добавьте (или измените) тесты!

  2. Проверьте, проходят ли автоматизированные тесты

    yarn ci:check
  3. Форматируйте файлы, которые вы изменили

    yarn prettier
  4. Укажите ваши изменения в CHANGELOG

    Вставьте однострочное описание вашего изменения под раздел Added/Changed. Посмотрите Keep a Changelog.

Запуск Watermelon в режиме разработки

Скачивание исходного кода и зависимостей```bash

git clone https://github.com/Nozbe/WatermelonDB.git cd WatermelonDB yarn


### Работа над Watermelon вместе с вашим приложением

Чтобы работать над кодом Watermelon в песочнице вашего приложения:

```bash
yarn dev

Это создаст папку dev/ в Watermelon и будет наблюдать за изменениями в исходных файлах (только JavaScript файлы) и перекомпилирует их по мере необходимости.

Затем в вашем приложении:

cd node_modules/@nozbe
rm -fr watermelondb
ln -s путь-к-watermelondb/dev watermelondb

Это будет работать в Webpack, но не в Metro (React Native). Metro не следует символическим ссылкам. Вместо этого вы можете скомпилировать WatermelonDB напрямую в ваш проект:

DEV_PATH="/путь/к/вашему/приложению/node_modules/@nozbe/watermelondb" yarn dev

Запуск тестов

Это запускает Jest, ESLint и Flow:

yarn ci:check

Вы также можете запустить их отдельно:

yarn test
yarn eslint
yarn flow

Редактирование файлов

Мы рекомендуем использовать VS Code с плагинами ESLint, Flow и Prettier (с включенным prettier-eslint) для наилучшего опыта разработки. (Для просмотра проблем линтера/типов прямо в коде + автоматической реформатировки кода)

Редактирование native кода

В директориях native/ios и native/android расположены native мосты кода для React Native.

Рекомендуется использовать последнюю стабильную версию Xcode / Android Studio для работы с этим кодом.

Интеграционные тесты

Если вы изменили native мост код или adapter/sqlite код, рекомендуется запустить интеграционные тесты, которые выполняют весь Watermelon код с SQLite и React Native в цикле:```bash yarn test:ios yarn test:android


### Запуск тестов вручную

- Для iOS откройте проект `native/iosTest/WatermelonTester.xcworkspace` и нажмите Cmd+U.
- Для Android откройте `native/androidTest` в AndroidStudio, перейдите к `app/src/androidTest/java/com.nozbe.watermelonTest/BridgeTest` и нажмите зелёную стрелку рядом с `class BridgeTest`

### Линтер для native кода

Убедитесь, что редактируемый вами native код соответствует стандартам Watermelon:

```bash
yarn ktlint

Устранение проблем с native кодом

  1. Если test:ios завершается ошибкой в терминале:
  • Сначала выполните тесты в Xcode перед запуском из терминала
  • Убедитесь, что у вас установлена правильная версия Xcode CLI tools в Preferences -> Locations
  1. Убедитесь, что вы используете самую новую стабильную версию Xcode / Android Studio
  2. Удалите native кэши:
  • Xcode: ~/Library/Developer/Xcode/DerivedData:
  • Android: .gradle и build папки в native/android и native/androidTest
  • node_modules (из-за предварительно скомпилированных сторонних библиотек React Native)

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

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

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