Thank you for considering contributing to the SMASHSEND Node.js SDK! This document provides guidelines and instructions for contributing.
Please be respectful and considerate of others when contributing to this project. We expect all contributors to help maintain a positive and inclusive environment.
Before submitting a bug report:
- Check the GitHub issues to see if the bug has already been reported
- Update your copy of the SDK to the latest version to check if the bug has been fixed
When submitting a bug report, please include:
- A clear and descriptive title
- The exact steps to reproduce the bug
- What you expected to happen
- What actually happened
- Code examples, error messages, and stack traces if applicable
- SDK version, Node.js version, and OS information
Feature suggestions are welcome! When suggesting a feature:
- Check if the feature has already been suggested or implemented
- Provide a clear description of the feature and why it would be beneficial
- Include examples of how the feature would be used
- Fork the repository
- Create a new branch from
mainfor your changes - Make your changes following the coding standards
- Add or update tests as necessary
- Ensure all tests pass
- Update documentation as needed
- Submit a pull request
- Clone your fork of the repository
- Install dependencies:
npm install
- Build the project:
npm run build
- Run tests:
npm test
- Follow the existing code style
- Use TypeScript for type safety
- Write comprehensive tests for new features
- Add JSDoc comments for all public methods and classes
- Keep dependencies to a minimum
- All new features should include unit tests
- Ensure all existing tests pass before submitting a pull request
- Run tests with:
npm test
- Update the README and API documentation for any user-facing changes
- Include JSDoc comments for new methods and classes
- Add examples for new functionality
We follow Conventional Commits for commit messages:
feat:for new featuresfix:for bug fixesdocs:for documentation changesstyle:for formatting changesrefactor:for code refactoringtest:for test changeschore:for maintenance tasks
The package is released using semantic-release, which automatically determines version numbers and generates release notes based on commit messages.
If you have any questions about contributing, please open an issue with your question.
Thank you for contributing to the SMASHSEND Node.js SDK!