Welcome to the surrealdb_wasm project! We're excited to have you as a potential contributor. This guide will help you get started and make meaningful contributions to our project.
- Project Overview
- Licensing
- Code of Conduct
- Getting Started
- Contributor Guidelines
- Coding Standards
- Issue and Pull Request Management
- Testing and Quality Assurance
- Documentation
- Community Guidelines
- Recognizing Contributions
- Updating the Guide
- Feedback and Support
The Flutter SurrealDB WebAssembly (WASM) package is a powerful integration for Flutter, built upon the foundation of surrealdb.wasm, the WebAssembly engine for the SurrealDB JavaScript SDK. Consequently, the surrealdb_js package will provide an unified API for the WebAssembly engine. We value contributions that enhance this project's functionality and maintain its quality.
This project is licensed under the MIT License. By contributing, you agree to license your contributions under the same terms.
Please review our Code of Conduct before contributing. We prioritize a welcoming and inclusive community.
- Fork and clone the repository: https://github.com/limcheekin/surrealdb_wasm/fork
- Install dependencies:
flutter pub get
- Set up your development environments:
- Download and install Node.js and NPM to build
surrealdb_wasm.js
with thenpm run package
command after making changes to surrealdb.js file. - Install SurrealDB on Linux.
- Download Chrome Driver for integration test execution.
- Download and install Node.js and NPM to build
We welcome various types of contributions, including code, documentation, and testing. To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name
- Implement your changes.
- Write tests where applicable.
- Submit a pull request following the template provided.
The project utilizes the very_good_analysis package. Before committing any changes to the repository, please ensure that, after running the flutter analyze
command, you receive the message 'No issues found!'.
- Create an Issue for bug reports, feature requests, or discussions.
- When creating a pull request, ensure it is clear, addresses an existing issue, and follows the template.
- If you are new to using Pull Request, you can learn how with this free series: How to Contribute to an Open Source Project on GitHub
We maintain a rigorous testing process. Please ensure thorough testing of your changes by following these steps:
-
To execute integration tests using the
flutter drive
command, start chromedriver with the following command before running any integration tests:./chromedriver --port=4444
-
Run the integration tests in debug mode using the following command and resolve any failed tests:
./local-integration-test.sh
-
Execute the integration tests in release and headless mode using the following command:
./ci-integration-test.sh
Please verify that you see the message 'All tests passed.' on the console in both steps 2 and 3.
Thorough documentation is of paramount importance. We kindly request that you create comprehensive DartDoc documentation for the newly implemented features in lib/src/surrealdb_wasm.dart by refer to the documentation present in assets/wasm/surrealdb/index.js. This documentation will greatly assist both users and contributors in gaining a better understanding of the project.
We encourage a positive and collaborative atmosphere. Please be respectful and constructive in your interactions.
We acknowledge contributors in our README and release notes. Your contributions are highly valued!
If you find errors or want to improve this guide, feel free to open a pull request.
For questions, feedback, or support, please contact [email protected].