-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolves deprecation warnings on elixir 1.17 #95
base: master
Are you sure you want to change the base?
Changes from all commits
ab7bff8
6e57699
46d8e83
923652e
b2a63e4
46e01e3
bf4c418
c122733
89d340c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ | |
configs: [ | ||
%{ | ||
# | ||
# Run any exec using `mix credo -C <name>`. If no exec name is given | ||
# Run any config using `mix credo -C <name>`. If no config name is given | ||
# "default" is used. | ||
# | ||
name: "default", | ||
|
@@ -20,11 +20,15 @@ | |
# | ||
# You can give explicit globs or simply directories. | ||
# In the latter case `**/*.{ex,exs}` will be used. | ||
# | ||
included: ["lib/", "src/", "web/", "apps/"], | ||
# | ||
included: ["lib/"], | ||
excluded: [~r"/_build/", ~r"/deps/"] | ||
}, | ||
# | ||
# Load and configure plugins here: | ||
# | ||
plugins: [], | ||
# | ||
# If you create your own checks, you must specify the source files for | ||
# them here, so they can be loaded by Credo before running the analysis. | ||
# | ||
|
@@ -35,6 +39,10 @@ | |
# | ||
strict: true, | ||
# | ||
# To modify the timeout for parsing files, change this value: | ||
# | ||
parse_timeout: 5000, | ||
# | ||
# If you want to use uncolored output by default, you can change `color` | ||
# to `false` below: | ||
# | ||
|
@@ -47,100 +55,154 @@ | |
# | ||
# {Credo.Check.Design.DuplicatedCode, false} | ||
# | ||
checks: [ | ||
{Credo.Check.Consistency.ExceptionNames}, | ||
{Credo.Check.Consistency.LineEndings}, | ||
{Credo.Check.Consistency.ParameterPatternMatching}, | ||
{Credo.Check.Consistency.SpaceAroundOperators}, | ||
{Credo.Check.Consistency.SpaceInParentheses}, | ||
{Credo.Check.Consistency.TabsOrSpaces}, | ||
checks: %{ | ||
enabled: [ | ||
# | ||
## Consistency Checks | ||
# | ||
{Credo.Check.Consistency.ExceptionNames, []}, | ||
{Credo.Check.Consistency.LineEndings, []}, | ||
{Credo.Check.Consistency.ParameterPatternMatching, []}, | ||
{Credo.Check.Consistency.SpaceAroundOperators, []}, | ||
{Credo.Check.Consistency.SpaceInParentheses, []}, | ||
{Credo.Check.Consistency.TabsOrSpaces, []}, | ||
|
||
# You can customize the priority of any check | ||
# Priority values are: `low, normal, high, higher` | ||
# | ||
{Credo.Check.Design.AliasUsage, priority: :low}, | ||
# | ||
## Design Checks | ||
# | ||
# You can customize the priority of any check | ||
# Priority values are: `low, normal, high, higher` | ||
# | ||
{Credo.Check.Design.AliasUsage, | ||
[priority: :low, if_nested_deeper_than: 2, if_called_more_often_than: 0]}, | ||
{Credo.Check.Design.DuplicatedCode, [nodes_threshold: 3]}, | ||
{Credo.Check.Design.TagFIXME, []}, | ||
# You can also customize the exit_status of each check. | ||
# If you don't want TODO comments to cause `mix credo` to fail, just | ||
# set this value to 0 (zero). | ||
# | ||
{Credo.Check.Design.TagTODO, [exit_status: 2]}, | ||
|
||
# For some checks, you can also set other parameters | ||
# | ||
# If you don't want the `setup` and `test` macro calls in ExUnit tests | ||
# or the `schema` macro in Ecto schemas to trigger DuplicatedCode, just | ||
# set the `excluded_macros` parameter to `[:schema, :setup, :test]`. | ||
# | ||
{Credo.Check.Design.DuplicatedCode, excluded_macros: []}, | ||
|
||
# You can also customize the exit_status of each check. | ||
# If you don't want these comments to cause `mix credo` to fail, just | ||
# set this value to 0 (zero). | ||
# | ||
{Credo.Check.Design.TagTODO, exit_status: 2}, | ||
{Credo.Check.Design.TagFIXME}, | ||
# | ||
## Readability Checks | ||
# | ||
{Credo.Check.Readability.AliasOrder, []}, | ||
{Credo.Check.Readability.FunctionNames, []}, | ||
{Credo.Check.Readability.LargeNumbers, []}, | ||
{Credo.Check.Readability.MaxLineLength, [priority: :low, max_length: 120]}, | ||
{Credo.Check.Readability.ModuleAttributeNames, []}, | ||
{Credo.Check.Readability.ModuleDoc, []}, | ||
{Credo.Check.Readability.ModuleNames, []}, | ||
{Credo.Check.Readability.ParenthesesInCondition, []}, | ||
{Credo.Check.Readability.ParenthesesOnZeroArityDefs, []}, | ||
{Credo.Check.Readability.PipeIntoAnonymousFunctions, []}, | ||
{Credo.Check.Readability.PredicateFunctionNames, []}, | ||
{Credo.Check.Readability.PreferImplicitTry, []}, | ||
{Credo.Check.Readability.RedundantBlankLines, []}, | ||
{Credo.Check.Readability.SpaceAfterCommas, []}, | ||
{Credo.Check.Readability.Semicolons, []}, | ||
{Credo.Check.Readability.StringSigils, []}, | ||
{Credo.Check.Readability.TrailingBlankLine, []}, | ||
{Credo.Check.Readability.TrailingWhiteSpace, []}, | ||
{Credo.Check.Readability.UnnecessaryAliasExpansion, []}, | ||
{Credo.Check.Readability.VariableNames, []}, | ||
{Credo.Check.Readability.WithSingleClause, []}, | ||
|
||
{Credo.Check.Readability.FunctionNames}, | ||
{Credo.Check.Readability.LargeNumbers}, | ||
{Credo.Check.Readability.MaxLineLength, priority: :low, max_length: 98}, | ||
{Credo.Check.Readability.ModuleAttributeNames}, | ||
{Credo.Check.Readability.ModuleDoc}, | ||
{Credo.Check.Readability.ModuleNames}, | ||
{Credo.Check.Readability.ParenthesesOnZeroArityDefs}, | ||
{Credo.Check.Readability.ParenthesesInCondition}, | ||
{Credo.Check.Readability.PredicateFunctionNames}, | ||
{Credo.Check.Readability.PreferImplicitTry}, | ||
{Credo.Check.Readability.RedundantBlankLines}, | ||
{Credo.Check.Readability.StringSigils}, | ||
{Credo.Check.Readability.TrailingBlankLine}, | ||
{Credo.Check.Readability.TrailingWhiteSpace}, | ||
{Credo.Check.Readability.VariableNames}, | ||
{Credo.Check.Readability.Semicolons}, | ||
{Credo.Check.Readability.SpaceAfterCommas}, | ||
# | ||
## Refactoring Opportunities | ||
# | ||
{Credo.Check.Refactor.Apply, []}, | ||
{Credo.Check.Refactor.CondStatements, []}, | ||
{Credo.Check.Refactor.CyclomaticComplexity, []}, | ||
{Credo.Check.Refactor.DoubleBooleanNegation, []}, | ||
{Credo.Check.Refactor.FilterCount, []}, | ||
{Credo.Check.Refactor.FilterFilter, []}, | ||
{Credo.Check.Refactor.FunctionArity, []}, | ||
{Credo.Check.Refactor.LongQuoteBlocks, []}, | ||
{Credo.Check.Refactor.MapJoin, []}, | ||
{Credo.Check.Refactor.MatchInCondition, []}, | ||
{Credo.Check.Refactor.NegatedConditionsInUnless, []}, | ||
{Credo.Check.Refactor.NegatedConditionsWithElse, []}, | ||
{Credo.Check.Refactor.Nesting, [max_nesting: 3]}, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The default here is 2. With the default, I'd be happy to attempt refactoring those and resetting this to |
||
{Credo.Check.Refactor.PipeChainStart, []}, | ||
{Credo.Check.Refactor.RedundantWithClauseResult, []}, | ||
{Credo.Check.Refactor.RejectReject, []}, | ||
{Credo.Check.Refactor.UnlessWithElse, []}, | ||
{Credo.Check.Refactor.WithClauses, []}, | ||
|
||
{Credo.Check.Refactor.DoubleBooleanNegation}, | ||
{Credo.Check.Refactor.CondStatements}, | ||
{Credo.Check.Refactor.CyclomaticComplexity}, | ||
{Credo.Check.Refactor.FunctionArity}, | ||
{Credo.Check.Refactor.LongQuoteBlocks}, | ||
{Credo.Check.Refactor.MatchInCondition}, | ||
{Credo.Check.Refactor.NegatedConditionsInUnless}, | ||
{Credo.Check.Refactor.NegatedConditionsWithElse}, | ||
{Credo.Check.Refactor.Nesting}, | ||
{Credo.Check.Refactor.PipeChainStart}, | ||
{Credo.Check.Refactor.UnlessWithElse}, | ||
# | ||
## Warnings | ||
# | ||
{Credo.Check.Warning.ApplicationConfigInModuleAttribute, []}, | ||
{Credo.Check.Warning.BoolOperationOnSameValues, []}, | ||
{Credo.Check.Warning.Dbg, []}, | ||
{Credo.Check.Warning.ExpensiveEmptyEnumCheck, []}, | ||
{Credo.Check.Warning.IExPry, []}, | ||
{Credo.Check.Warning.IoInspect, []}, | ||
{Credo.Check.Warning.MissedMetadataKeyInLoggerConfig, []}, | ||
{Credo.Check.Warning.OperationOnSameValues, []}, | ||
{Credo.Check.Warning.OperationWithConstantResult, []}, | ||
{Credo.Check.Warning.RaiseInsideRescue, []}, | ||
{Credo.Check.Warning.SpecWithStruct, []}, | ||
{Credo.Check.Warning.UnsafeExec, []}, | ||
{Credo.Check.Warning.UnusedEnumOperation, []}, | ||
{Credo.Check.Warning.UnusedFileOperation, []}, | ||
{Credo.Check.Warning.UnusedKeywordOperation, []}, | ||
{Credo.Check.Warning.UnusedListOperation, []}, | ||
{Credo.Check.Warning.UnusedPathOperation, []}, | ||
{Credo.Check.Warning.UnusedRegexOperation, []}, | ||
{Credo.Check.Warning.UnusedStringOperation, []}, | ||
{Credo.Check.Warning.UnusedTupleOperation, []}, | ||
{Credo.Check.Warning.WrongTestFileExtension, []} | ||
], | ||
disabled: [ | ||
# | ||
# Checks scheduled for next check update (opt-in for now) | ||
{Credo.Check.Refactor.UtcNowTruncate, []}, | ||
|
||
{Credo.Check.Warning.BoolOperationOnSameValues}, | ||
{Credo.Check.Warning.ExpensiveEmptyEnumCheck}, | ||
{Credo.Check.Warning.IExPry}, | ||
{Credo.Check.Warning.IoInspect}, | ||
{Credo.Check.Warning.LazyLogging}, | ||
{Credo.Check.Warning.OperationOnSameValues}, | ||
{Credo.Check.Warning.OperationWithConstantResult}, | ||
{Credo.Check.Warning.UnusedEnumOperation}, | ||
{Credo.Check.Warning.UnusedFileOperation}, | ||
{Credo.Check.Warning.UnusedKeywordOperation}, | ||
{Credo.Check.Warning.UnusedListOperation}, | ||
{Credo.Check.Warning.UnusedPathOperation}, | ||
{Credo.Check.Warning.UnusedRegexOperation}, | ||
{Credo.Check.Warning.UnusedStringOperation}, | ||
{Credo.Check.Warning.UnusedTupleOperation}, | ||
{Credo.Check.Warning.RaiseInsideRescue}, | ||
# | ||
# Controversial and experimental checks (opt-in, just move the check to `:enabled` | ||
# and be sure to use `mix credo --strict` to see low priority checks) | ||
# | ||
{Credo.Check.Consistency.MultiAliasImportRequireUse, []}, | ||
{Credo.Check.Consistency.UnusedVariableNames, []}, | ||
{Credo.Check.Design.SkipTestWithoutComment, []}, | ||
{Credo.Check.Readability.AliasAs, []}, | ||
{Credo.Check.Readability.BlockPipe, []}, | ||
{Credo.Check.Readability.ImplTrue, []}, | ||
{Credo.Check.Readability.MultiAlias, []}, | ||
{Credo.Check.Readability.NestedFunctionCalls, []}, | ||
{Credo.Check.Readability.OneArityFunctionInPipe, []}, | ||
{Credo.Check.Readability.OnePipePerLine, []}, | ||
{Credo.Check.Readability.SeparateAliasRequire, []}, | ||
{Credo.Check.Readability.SingleFunctionToBlockPipe, []}, | ||
{Credo.Check.Readability.SinglePipe, []}, | ||
{Credo.Check.Readability.Specs, []}, | ||
{Credo.Check.Readability.StrictModuleLayout, []}, | ||
{Credo.Check.Readability.WithCustomTaggedTuple, []}, | ||
{Credo.Check.Refactor.ABCSize, []}, | ||
{Credo.Check.Refactor.AppendSingleItem, []}, | ||
{Credo.Check.Refactor.FilterReject, []}, | ||
{Credo.Check.Refactor.IoPuts, []}, | ||
{Credo.Check.Refactor.MapMap, []}, | ||
{Credo.Check.Refactor.ModuleDependencies, []}, | ||
{Credo.Check.Refactor.NegatedIsNil, []}, | ||
{Credo.Check.Refactor.PassAsyncInTestCases, []}, | ||
{Credo.Check.Refactor.RejectFilter, []}, | ||
{Credo.Check.Refactor.VariableRebinding, []}, | ||
{Credo.Check.Warning.LazyLogging, []}, | ||
{Credo.Check.Warning.LeakyEnvironment, []}, | ||
{Credo.Check.Warning.MapGetUnsafePass, []}, | ||
{Credo.Check.Warning.MixEnv, []}, | ||
{Credo.Check.Warning.UnsafeToAtom, []} | ||
|
||
# Controversial and experimental checks (opt-in, just remove `, false`) | ||
# | ||
{Credo.Check.Refactor.ABCSize, false}, | ||
{Credo.Check.Refactor.AppendSingleItem, false}, | ||
{Credo.Check.Refactor.VariableRebinding, false}, | ||
{Credo.Check.Warning.MapGetUnsafePass, false}, | ||
{Credo.Check.Consistency.MultiAliasImportRequireUse, false}, | ||
# {Credo.Check.Refactor.MapInto, []}, | ||
|
||
# Deprecated checks (these will be deleted after a grace period) | ||
# | ||
{Credo.Check.Readability.Specs, false}, | ||
{Credo.Check.Warning.NameRedeclarationByAssignment, false}, | ||
{Credo.Check.Warning.NameRedeclarationByCase, false}, | ||
{Credo.Check.Warning.NameRedeclarationByDef, false}, | ||
{Credo.Check.Warning.NameRedeclarationByFn, false}, | ||
|
||
# Custom checks can be created using `mix credo.gen.check`. | ||
# | ||
] | ||
# | ||
# Custom checks can be created using `mix credo.gen.check`. | ||
# | ||
] | ||
} | ||
} | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
use Mix.Config | ||
import Config |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
use Mix.Config | ||
import Config |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
use Mix.Config | ||
import Config |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default here is 2.
With the default,
mix credo
suggests that lib/mix/tasks/triplex.mysql.install.ex:48 and lib/mix/tasks/triplex.gen.migration.ex:78 are duplicates. Since those tasks generate code, it seems to me to be preferable to keep that duplication.An alternative would be to use the default credo config here and add inline credo disable comments to those files. Another alternative would be increase the
mass_threshold
setting for this check.