Skip to content

Latest commit

 

History

History
87 lines (55 loc) · 3.77 KB

CONTRIBUTING.md

File metadata and controls

87 lines (55 loc) · 3.77 KB

TinyCarousel Contributing Guide

Hey! It’s really exciting for us to see your interest in contributing to TinyCarousel. Before taking off with your work, please take a moment to read through these guidelines:

Questions?

Don’t hesitate to ask a question directly on the discussions board!

Reporting an issue or a feature request

  • Please always use GitHub Issues tracker with appropriate template to create a new issue or suggestion

Pull Request Guidelines

  • Check if there isn’t a similar PR already in the GitHub Pull requests - maybe somebody already has covered this topic?

  • Checkout the master branch and (after you do your work) file a PR against it

  • Read through the development setup to learn how to work with this project. Always make sure that pnpm lint, pnpm coverage pass

  • Please use conventional commits v1.0.0 style guide for commits and PR names

  • We have no preference about number of commits on the PR - they will be all squashed by GitHub while merging

  • When creating a new feature/plugin/integration:

    • Make sure the feature is covered by tests
    • Provide a meaningful description. In most cases it would make sens to first open a issue with a suggestion, discuss about it and have it approved before working on it
  • When fixing bug:

Development Setup

You will need Node.js version 16+ and pnpm.

After cloning the repository, run:

$ pnpm i # installs the project dependencies (for all of the nested packages)

Committing Changes

Commit messages should follow the conventional commits v1.0.0 so that changelogs can be automatically generated. Commit messages will be automatically validated upon commit.

These npm scripts are available in every package and in the project root

When fired in the project root they will run corresponding actions in every nested package at once.

# watches and rebuilds the package in development version
$ pnpm start

# run tests once
$ pnpm test

# watch & run tests on every file change
$ pnpm watch:test

# run tests and collect coverage
$ pnpm coverage

# lint & try to autofix linting errors
$ pnpm fix:lint

# lint files
$ pnpm lint

# build the project for NPM
$ pnpm build

There are some other scripts available in the scripts section of the package.json file.

Credits

Many thanks to all the people who have already contributed to TinyCarousel! ❤️