Collection of recommended Elixir check utilities, and mix tasks to help initializing and maintaining OSS/production codes.
InnerCotton is a collection of recommended Elixir check utilities. It contains,
- Credo : Lint, coding style enhancer.
- Dialyxir : Type checker using Dialyzer.
- ExCoveralls : Mesure test coverage.
- EyeDrops : File change watcher.
- GitHub Actions : GitHub bundled CI/CD.
- GitLab CI : GitLab bundled CI/CD.
- InchEx : Document (ExDoc) improver.
- Travis CI : Most widly used CI/CD for OSS.
- mix format : Community standard code formatter.
- stream_data : Property base testing like QuickCheck.
Add inner_cotton
to your list of dependencies in mix.exs
:
def deps do
[
{:inner_cotton, "~> 0.6", only: [:dev, :test]},
# {:inner_cotton, github: "ne-sachirou/inner_cotton", only: [:dev, :test]},
]
end
& run,
mix deps.get
mix cotton.init
mix cotton.init.github
mix cotton.init.gitlab
& mix cotton.init.travisci
are also available.
Then InnerCotton is installed & some configuration files are generated.
mix cotton.lint
runs all checks. Now InnerCotton runs mix format --check-formatted
, mix credo --strict
, mix dialyzer
& mix inch --pedantic
.
mix cotton.lint --fix
auto correct errors if available.
InnerCotton installs stream_data in your project. You can use it in your test.
mix test
MIX_ENV=test mix coveralls
Watch file changes then run lint & test.
mix cotton.watch
Edit your mix.exs
& run,
mix deps.update inner_cotton
mix cotton.init
mix cotton.init.github
mix cotton.init.gitlab
& mix cotton.init.travisci
are also available.
mix "do" deps.update --all, deps.clean --unused --unlock, deps.unlock --unused, hex.audit, hex.outdated, deps.compile, compile, cotton.init