WatermelonDB — это открытое программное обеспечение, которое нуждается в вашей помощи для развития!
Если вы заметили отсутствие какой-либо функции, ошибку или другое улучшение, мы приглашаем вас принять участие! Вы можете открыть проблему, чтобы получить некоторую помощь, и посмотреть руководство по вкладу для получения информации о настройке проекта, тестировании и т.д.
Если вы только начинаете, посмотрите проблемы для новичков, которые легко решить. Если вы сделаете значительный вклад, напишите мне, и я отправлю вам приятную 🍉 наклейку!
Если вы создали или планируете создать приложение с использованием WatermelonDB, пожалуйста, сообщите нам!
Добавили ли вы или изменили какую-либо функциональность?
Добавьте (или измените) тесты!
Проверьте, проходят ли автоматизированные тесты
yarn ci:check
Форматируйте файлы, которые вы изменили
yarn prettier
Укажите ваши изменения в CHANGELOG
Вставьте однострочное описание вашего изменения под раздел Added/Changed. Посмотрите Keep a Changelog.
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/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
test:ios
завершается ошибкой в терминале:~/Library/Developer/Xcode/DerivedData
:.gradle
и build
папки в native/android
и native/androidTest
node_modules
(из-за предварительно скомпилированных сторонних библиотек React Native)Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )