Thanks for showing interest to contribute to Infinum's
js-linters
!
To start your development, you need to setup the project locally.
- Clone the repo
git clone [email protected]:infinum/js-linters.git
cd js-linters
- Setup all the dependencies and packages
pnpm install
To ease the developer activity, we have created a few scripts that will help you. Also, before you start with contributing, make sure to get familiar with the project tooling.
- pNPM to manage dependencies
- TypeScript to bundle package
- uvu for testing configs and custom rules
- CommitLint for enforcing the conventional commit messages
- Changesets for changes documentation, changelog generation, and release management.
- Plop for generating new rules and configs
pnpm install
: install all dependencies.
pnpm build
: builds the package.
pnpm clean
: removes the build output.
pnpm test
: runs all tests.
pnpm test:watch
: runs all tests in watch mode.
pnpm gen:config
: runs plop script that generates a new config (name is provided as terminal prompt).
pnpm gen:rule
: runs plop script that generates a new rule (name and description are provided as terminal prompt).
When you create a commit we kindly ask you to follow the conventional commits convention. Supported types are:
feat:
: all changes that introduce completely new code or new featuresfix:
: changes that fix a bugrefactor:
: any code related change that is not a fix nor a featuredocs:
: changing existing or creating new documentation (i.e. README, docs for usage of a lib or cli usage)build:
: all changes regarding the build of the software, changes to dependencies or the addition of new dependenciestest:
: all changes regarding tests (adding new tests or changing existing ones)ci:
: all changes regarding the configuration of continuous integration (i.e. github actions, ci system)chore:
: all changes to the repository that do not fit into any of the above categories
If you are interested in the detailed specification you can visit https://www.conventionalcommits.org/.
All commits that fix bugs or add features need a test.
By contributing your code to the @infinum/eslint-plugin GitHub repository, you agree to license your contribution under the MIT license.