nimblehq / elixir-templates

Our optimized Elixir templates used in our projects
https://nimblehq.co
MIT License
86 stars 6 forks source link

Add `ex_check` library #302

Closed byhbt closed 1 year ago

byhbt commented 1 year ago

Why

ex_check (https://hexdocs.pm/ex_check) is an all-in-one command, which helps developers run the common checks for Elixir Application within 1 command. Supporting checks are listed in this document https://hexdocs.pm/ex_check/Mix.Tasks.Check.html#module-tools.

It's quite handy when the developers only need to remember one check command to execute: mix check, instead of remember multiple separate commands and execute it manually.

Who Benefits?

Elixir Developers

andyduong1920 commented 1 year ago

Is it better than our mix codebase alias @byhbt 🤔

byhbt commented 1 year ago

hi @andyduong1920 !

Yes, i think it's more convenient when you have everything we need in a single command mix check instead of maintaining by adding a single command to the mix codebase. Example of existing mix codebase

      codebase: [
        "cmd npm run eslint --prefix assets",
        "cmd npm run stylelint --prefix assets",
        "credo --strict",
        "deps.unlock --check-unused",
        "format --check-formatted"
      ],

After integrating this library, we will use it to handle some common tasks as described in https://hexdocs.pm/ex_check/Mix.Tasks.Check.html#module-tools.

Then for our mix codebase command, we can handle other things.

Could you share your opinion about this integration? 💭

andyduong1920 commented 1 year ago

So we have to run 2 commands for the codebase, is it @byhbt 🤔, mix check for elixir and mix codebase for the eslint,... or we will combine the mix check into the mix codebase like this, haha

      codebase: [
        "cmd npm run eslint --prefix assets",
        "cmd npm run stylelint --prefix assets",
        "check"
      ],
andyduong1920 commented 1 year ago

does the mix check support the auto fix like what we did with mix codebase.fix @byhbt 🤔

byhbt commented 1 year ago

hi @andyduong1920 For the running command: yes, we can combine with the existing codebase. We still need the codebase because we need eslint and stylelint.

For the fixing: I just checked this library there is a --fix mode that could help us fix the mix codebase. Here is the related docs: https://hexdocs.pm/ex_check/Mix.Tasks.Check.html#module-fix-mode

Thank for clarify questions 👍

andyduong1920 commented 1 year ago

Hi @byhbt I think you can create a discussion and asking the team opinion on it, for me I don't like this library much as it adding 1 more additional library to the app and we need to depends on it, just my opinion ;)

byhbt commented 1 year ago

yes, it's also a good point. Let me create a discussion it.

byhbt commented 1 year ago

Wait for feedback from the Elixir Guild, will re-open if the poll result agree with the integration ex_check https://github.com/nimblehq/elixir-templates/discussions/304