All Projects → hauleth → mix_unused

hauleth / mix_unused

Licence: MIT license
Find unused functions in your project

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to mix unused

covid-tracking-dash
Dash app for COVID Tracking Project (https://covidtracking.com/)
Stars: ✭ 26 (-85.64%)
Mutual labels:  unused
janus-gateway-live
RTMP edge speed with janus-gateway
Stars: ✭ 38 (-79.01%)
Mutual labels:  mix
vim-mix
Vim plugin for using Elixir's build tool, mix
Stars: ✭ 63 (-65.19%)
Mutual labels:  mix
Lsunusedresources
A Mac App to find unused images and resources in XCode project.
Stars: ✭ 3,692 (+1939.78%)
Mutual labels:  unused
Obfuscator
iOS工程混淆器是围绕混淆iOS代码过审上架为目标构建出来的 Mac 软件。为应对苹果『4.3-代码重复条款』和『2.1条款』,混淆器通过内置苹果应用分类相关的百万词库修改工程中的文件/目录名、变量属性名和方法名、修改资源的hash、注入强关系强调用的方法代码,注入有调用关系的混淆类文件等手段达到大幅提高马甲包过审率的目的。除此之外,软件内置了一键提交审核、实时查看app的审核状态并嵌入了几个开发效率工具如本地化工具、提取Assets资源、替换AppIcon等。(另外:我们提供马甲包开发、tf签名等服务,有意请🤙 联系QQ:2480619280)
Stars: ✭ 39 (-78.45%)
Mutual labels:  mix
pyrocms-cheatsheet
Pyro CMS - Cheat Sheet
Stars: ✭ 17 (-90.61%)
Mutual labels:  mix
lint-deps
Lint for unused or missing dependencies in your node.js projects. Customize with plugins or configuration.
Stars: ✭ 48 (-73.48%)
Mutual labels:  unused
Intellij Elixir
Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Stars: ✭ 1,488 (+722.1%)
Mutual labels:  mix
elixir auto complete
Bash Autocompletion for elixir, iex and mix
Stars: ✭ 21 (-88.4%)
Mutual labels:  mix
mix test interactive
Interactive watch mode for Elixir's mix test. https://hexdocs.pm/mix_test_interactive/
Stars: ✭ 36 (-80.11%)
Mutual labels:  mix
Dropcss
An exceptionally fast, thorough and tiny unused-CSS cleaner
Stars: ✭ 2,102 (+1061.33%)
Mutual labels:  unused
shipit
ShipIt automates Hex package publishing to avoid common mistakes
Stars: ✭ 21 (-88.4%)
Mutual labels:  mix
mix gleam
⚗️ Build Gleam code with mix
Stars: ✭ 84 (-53.59%)
Mutual labels:  mix
unimport
A linter, formatter for finding and removing unused import statements.
Stars: ✭ 119 (-34.25%)
Mutual labels:  unused
Yugen.DJ
A simple, fast, clean but powerful free and open source DJ app that support 2 sound cards!
Stars: ✭ 15 (-91.71%)
Mutual labels:  mix
unused-webpack-plugin
A webpack plugin to find unused modules/source files.
Stars: ✭ 151 (-16.57%)
Mutual labels:  unused
mix under
Execute mix tasks under Elixir umbrella applications
Stars: ✭ 19 (-89.5%)
Mutual labels:  mix
Mix
☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server / PHP 命令行模式开发框架,支持 Swoole、WorkerMan、FPM、CLI-Server
Stars: ✭ 1,753 (+868.51%)
Mutual labels:  mix
craft-plugin-mix
Helper plugin for Laravel Mix in Craft CMS templates
Stars: ✭ 50 (-72.38%)
Mutual labels:  mix
mix script
A build tool which allows you to use mix packages in an elixir script
Stars: ✭ 16 (-91.16%)
Mutual labels:  mix

Mix Unused

Module Version Hex Docs Total Download License Last Updated CodeCov

Mix compiler tracer for detecting unused public functions.

Installation

def deps do
  [
    {:mix_unused, "~> 0.3.0"}
  ]
end

The docs can be found at https://hexdocs.pm/mix_unused.

Usage

After installation you need to add :unused as a compiler to the list of Mix compilers:

defmodule MySystem.MixProject do
  use Mix.Project

  def project do
    [
      compilers: [:unused] ++ Mix.compilers(),
      # In case of Phoenix projects you need to add it to the list
      # compilers: [:unused, :phoenix, :gettext] ++ Mix.compilers()
      # ...
      #
      # If you want to only run it in the dev environment you could do
      # it by using `compilers: compilers(Mix.env()) ++ Mix.compilers()`
      # instead and then returning the right compilers per environment.
    ]
  end

  # ...
end

Then you just need to run mix compile or mix compile --force as usual and unused hints will be added to the end of the output.

Warning

This isn't perfect solution and this will not find dynamic calls in form of:

apply(mod, func, args)

So this mean that, for example, if you have custom child_spec/1 definition then mix unused can return such function as unused even when you are using that indirectly in your supervisor.

Configuration

You can define used functions by adding mfa in unused: [ignored: [⋯]] in your project configuration:

def project do
  [
    # ⋯
    unused: [
      ignore: [
        {MyApp.Foo, :child_spec, 1}
      ]
    ],
    # ⋯
  ]
end

Copyright and License

Copyright © 2021 by Łukasz Niemier

This work is free. You can redistribute it and/or modify it under the terms of the MIT License. See the LICENSE file for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].