Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 4.45 KB

CONTRIBUTING.md

File metadata and controls

76 lines (48 loc) · 4.45 KB

Contributing to eMath.js

Thank you for considering contributing to eMath.js! This project is open to contributions from everyone, whether you're fixing a bug, improving documentation, or adding new features.

Before you start contributing, please take a moment to read the guidelines below.

Reporting Issues

If you encounter any issues with eMath.js or have suggestions for improvements, please feel free to open an issue on the GitHub Issues page. When reporting issues, please include as much detail as possible, including steps to reproduce the problem and your environment setup.

Contributing Code

Getting Started

  1. Fork the repository and clone it to your local machine.
  2. Install the necessary dependencies by running npm install.
  3. Create a new branch for your contribution: git checkout -b feature/new-feature.
  4. Make your changes and ensure they adhere to the project's coding standards.
  5. Test your changes locally to ensure they work as expected.
  6. Commit your changes: git commit -m "Add new feature"
  7. Push to the branch: git push origin feature/new-feature
  8. Submit a pull request to the main branch of the main repository.

Codebase Overview

The project is structured as follows:

Files

Directories

  • /src/: Contains the source code for the library. It is written in TypeScript and compiled to JavaScript. See the corresponding README for more details.
  • /dist/: Contains the compiled JavaScript files and TypeScript declaration files. Once you've made changes to the source code, you can compile it using npm run build.
  • /bin/build/: Contains the build scripts used to compile the TypeScript source code.
  • /documentation/: Contains the documentation files for the project. The built documentation automatically generated from the source code using TypeDoc and built by GitHub actions.
  • /test/: Contains the test files for the project. See the corresponding README for more details.
  • /examples/: Contains example files and demos showcasing the usage of the library. It is not regularly updated and may be out of date.

Code Style

Please follow the existing code style and conventions used throughout the project. This project uses ESLint to enforce code quality and consistency. You can run ESLint using npm run lint or npm run lint:fix to automatically fix some issues.

Note

Prettier is not currently used in this project, despite the presence of a .prettierrc file. This may change in the future.

Additionally, ensure that your code is well-documented and includes appropriate comments (including JSDoc comments for functions and classes).

Testing

If you're introducing new features or making significant changes, please include tests to ensure the reliability and stability of the codebase. Run existing tests using npm test and add new tests as needed.

Documentation

Improvements to the documentation are always welcome. If you notice any errors or have suggestions for clarifications or additions, please update the relevant documentation files or create new ones as needed.

Code of Conduct

Please note that this project is governed by the Contributor Covenant Code of Conduct. By participating in this project, you agree to abide by its terms.

Credits

This project would not be possible without the contributions of its community members. Special thanks to Patashu for making break_eternity.js and MrRedShark77 for the formats.


Note: This package is currently in development and is subject to major changes. If you have any questions or need further assistance, feel free to reach out to the project maintainers.

Made by: @.xshadowblade