Skip to content

Latest commit

 

History

History
95 lines (72 loc) · 2.54 KB

CONTRIBUTING.md

File metadata and controls

95 lines (72 loc) · 2.54 KB

Contributing

Lint and format

First you need to install deps:

asdf plugin add shellcheck https://github.com/luizm/asdf-shellcheck.git
asdf plugin add shfmt https://github.com/luizm/asdf-shfmt.git
asdf install

Then you can lint and format:

./scripts/format.bash
./scripts/lint.bash

Testing Locally

Running standalone scripts

The scripts can be run standalone:

./bin/latest-stable

Some of them requires to provide environment variables. For details and example look at the top comment of the files inside of bin/.

Installing the plugin from local clone

You can install the plugin based on the local clone of the plugin:

asdf plugin add clj-kondo .

. here points to the current directory containing the plugin sources.

Then you can run all commands you need, e.g.

asdf list-all clj-kondo

Plugin test

asdf provides plugin test:

asdf plugin test <plugin-name> <plugin-url> [--asdf-tool-version <version>] [--asdf-plugin-gitref <git-ref>] [test-command*]

asdf provides plugin test. It can help to validate whether the download/installation is successful. E.g.

asdf plugin test clj-kondo https://github.com/rynkowsg/asdf-clj-kondo.git "clj-kondo --help"

You can also use local location (here .) to test plugin:

asdf plugin test clj-kondo . clj-kondo --version

DEBUG flag

All of the above options support DEBUG flag. If you proceed the call with DEBUG=true you will get additional logs.

Running standalone script:

DEBUG=true ./bin/latest-stable

Running via asdf:

DEBUG=true asdf latest clj-kondo

Running via asdf plugin test:

DEUBG=true asdf plugin test clj-kondo . clj-kondo --version

Commit style

Commit and PR titles should follow The Conventional Commits specification.

Available types:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit