Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ne-sachirou/inner_cotton
Collection of recommended Elixir check utilities, and mix tasks to help initializing and maintaining OSS/production codes.
https://github.com/ne-sachirou/inner_cotton
elixir lint
Last synced: about 2 months ago
JSON representation
Collection of recommended Elixir check utilities, and mix tasks to help initializing and maintaining OSS/production codes.
- Host: GitHub
- URL: https://github.com/ne-sachirou/inner_cotton
- Owner: ne-sachirou
- License: unlicense
- Created: 2017-07-12T07:21:06.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-05-18T11:02:46.000Z (over 1 year ago)
- Last Synced: 2024-10-30T16:56:06.125Z (2 months ago)
- Topics: elixir, lint
- Language: Elixir
- Homepage: https://hex.pm/packages/inner_cotton
- Size: 176 KB
- Stars: 24
- Watchers: 3
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Actions Status](https://github.com/ne-sachirou/inner_cotton/workflows/test/badge.svg)](https://github.com/ne-sachirou/inner_cotton/actions)
[![Build Status](https://travis-ci.com/ne-sachirou/inner_cotton.svg?branch=master)](https://travis-ci.com/ne-sachirou/inner_cotton)
[![Coverage Status](https://coveralls.io/repos/github/ne-sachirou/inner_cotton/badge.svg)](https://coveralls.io/github/ne-sachirou/inner_cotton)
[![Hex.pm](https://img.shields.io/hexpm/v/inner_cotton.svg)](https://hex.pm/packages/inner_cotton)
[![Pipelines](https://gitlab.com/ne_sachirou/inner_cotton/badges/master/pipeline.svg)](https://gitlab.com/ne_sachirou/inner_cotton/pipelines)# InnerCotton
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][credo] : Lint, coding style enhancer.
- [Dialyxir][dialyxir] : Type checker using Dialyzer.
- [ExCoveralls][excoveralls] : Mesure test coverage.
- [EyeDrops][eyedrops] : File change watcher.
- [GitHub Actions][github actions] : GitHub bundled CI/CD.
- [GitLab CI][gitlab ci] : GitLab bundled CI/CD.
- [InchEx][inchex] : Document (ExDoc) improver.
- [Travis CI][travis ci] : Most widly used CI/CD for OSS.
- [mix format][formatter] : Community standard code formatter.
- [stream_data][stream_data] : Property base testing like QuickCheck.## Installation
Add `inner_cotton` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:inner_cotton, "~> 0.6", only: [:dev, :test]},
# {:inner_cotton, github: "ne-sachirou/inner_cotton", only: [:dev, :test]},
]
end
```& run,
```sh
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.
## Lint
```sh
mix cotton.lint
```runs all checks. Now InnerCotton runs [`mix format --check-formatted`][formatter], [`mix credo --strict`][credo], [`mix dialyzer`][dialyxir] & [`mix inch --pedantic`][inchex].
```sh
mix cotton.lint --fix
```auto correct errors if available.
## Test
InnerCotton installs [stream_data][stream_data] in your project. You can use it in your test.
```sh
mix test
MIX_ENV=test mix coveralls
```## Watch
Watch file changes then run lint & test.
```sh
mix cotton.watch
```## Update InnerCotton
Edit your `mix.exs` & run,
```sh
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`
## CONTRIBUTING
[Maintenance policy](https://github.com/ne-sachirou/inner_cotton/wiki/Maintenance-policy)
[credo]: https://hex.pm/packages/credo
[dialyxir]: https://hex.pm/packages/dialyxir
[excoveralls]: https://hex.pm/packages/excoveralls
[eyedrops]: https://hex.pm/packages/eye_drops
[formatter]: https://hexdocs.pm/elixir/Code.html#format_string!/2
[github actions]: https://github.co.jp/features/actions
[gitlab ci]: https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/
[inchex]: https://hex.pm/packages/inch_ex
[stream_data]: https://hex.pm/packages/stream_data
[travis ci]: https://travis-ci.com/