Contributing
First, thanks for considering a contribution! Whether you’re filing a bug report, requesting a feature, or sending a pull request, your help is greatly appreciated.
1. Getting the Code
Clone the repository and install dependencies:
git clone https://github.com/Davileal/fireodm.git
cd fireodm
npm install
2. Development Workflow
Run the Firestore Emulator + Tests
FireODM uses the Firebase Emulator for integration tests. Simply run:
npm test
This will start the emulator and execute the Jest test suite.
Run Docs Locally
To preview documentation in Docusaurus:
cd docs
npm install
npm start
Open http://localhost:3000 to view the docs site.
Building the Library
To compile TypeScript into JavaScript and generate type definitions:
npm run build
Your output will be in the dist/
directory.
Linting & Formatting
We enforce code style with ESLint and Prettier. To check:
npm run lint
To automatically fix issues:
npm run lint:fix
npm run format
3. Submitting Changes
- Fork the repo.
- Create a feature branch:
git checkout -b feat/my-new-feature
. - Commit your changes with clear, descriptive messages.
- Rebase or merge the latest
main
to keep your branch up to date. - Push to your fork and open a Pull Request in this repo.
- Fill out the PR template and describe the motivation and context.
We’ll review your PR, suggest any changes, and merge once it’s ready.
4. Issues
Please search existing issues before opening a new one. For bug reports, provide:
- Steps to reproduce
- Expected vs. actual behavior
- Code snippets or logs
Feature requests should include a clear use case and proposed API if possible.
5. Code of Conduct
This project follows the Contributor Covenant. Please be respectful and inclusive.
Thank you for helping make FireODM better! 🚀