Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork13
Find unused functions in your project
License
hauleth/mix_unused
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Mix compiler tracer for detecting unused public functions.
defdepsdo[{:mix_unused,"~> 0.3.0"}]end
The docs can be found athttps://hexdocs.pm/mix_unused.
After installation you need to add:unused
as a compiler to the list of Mixcompilers:
defmoduleMySystem.MixProjectdouseMix.Projectdefprojectdo[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 runmix compile
ormix compile --force
as usualand unused hints will be added to the end of the output.
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 customchild_spec/1
definitionthenmix unused
can return such function as unused even when you are usingthat indirectly in your supervisor.
You can define used functions by addingmfa
inunused: [ignored: [⋯]]
in your project configuration:
defprojectdo[# ⋯unused:[ignore:[{MyApp.Foo,:child_spec,1}]],# ⋯]end
Copyright © 2021 by Łukasz Niemier
This work is free. You can redistribute it and/or modify it under theterms of the MIT License. See theLICENSE file for more details.
About
Find unused functions in your project
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors6
Uh oh!
There was an error while loading.Please reload this page.