โฏ mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.193s
Unchanged:
ash 2.14.12
.......
* Getting typable (Hex package)
โฏ mix check
==> earmark_parser
........
Compiling lib/ash/resource/dsl.ex (it's taking more than 10s)
warning: * IMPORTANT *
The configuration `use_all_identities_in_manage_relationship` was not set.
It is defaulting to `true` for backwards compatibility.
This configuration must now be manually set, and it should be set to `false`.
If you have just started a new project, or haven't used `manage_relationship` yet, just set the following config:
config :ash, :use_all_identities_in_manage_relationship?, false
If you are currently using `manage_relationship`, please read https://github.com/ash-project/ash/issues/469 before proceeding
lib/ash/actions/managed_relationships.ex:16: (module)
(elixir 1.14.1) src/elixir_compiler.erl:65: :elixir_compiler.dispatch/4
(elixir 1.14.1) src/elixir_compiler.erl:50: :elixir_compiler.compile/3
(elixir 1.14.1) src/elixir_module.erl:379: :elixir_module.eval_form/6
(elixir 1.14.1) src/elixir_module.erl:105: :elixir_module.compile/5
(elixir 1.14.1) src/elixir_lexical.erl:15: :elixir_lexical.run/3
Generated ash app
==> ash_paper_trail
=> running compiler
Compiling 14 files (.ex)
Generated ash_paper_trail app
=> running formatter
** (Mix) mix format failed due to --check-formatted.
The following files are not formatted:
* test/ash_paper_trail_test.exs
* lib/resource/transformers/create_version_resource.ex
* lib/resource/changes/create_new_version.ex
=> running credo
Checking 27 source files ...
Software Design
โ
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:62:22 #(AshPaperTrail.Resource.Info.version_resource)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:54:5 #(AshPaperTrail.Resource.Info.version_extensions)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:49:5 #(AshPaperTrail.Resource.Info.store_action_name?)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:44:5 #(AshPaperTrail.Resource.Info.reference_source?)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:37:10 #(AshPaperTrail.Resource.Info.on_actions)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:35:5 #(AshPaperTrail.Resource.Info.on_actions)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:30:5 #(AshPaperTrail.Resource.Info.mixin)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:25:5 #(AshPaperTrail.Resource.Info.ignore_attributes)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:20:5 #(AshPaperTrail.Resource.Info.change_tracking_mode)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:11:5 #(AshPaperTrail.Resource.Info.belongs_to_actor)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:6:5 #(AshPaperTrail.Resource.Info.attributes_as_attributes)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/transformers/validate_belongs_to_actor.ex:6:22 #(AshPaperTrail.Resource.Transformers.ValidateBelongsToActor.transform)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/transformers/relate_version_resource.ex:11:27 #(AshPaperTrail.Resource.Transformers.RelateVersionResource.transform)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/api/transformers/allow_resource_versions.ex:13:26 #(AshPaperTrail.Api.Transformers.AllowResourceVersions.transform)
Code Readability
โ
โ [R] โ `with` contains only one <- clause and an `else` branch, consider using
โ `case` instead
โ lib/resource/transformers/relate_version_resource.ex:8 #(AshPaperTrail.Resource.Transformers.RelateVersionResource.transform)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/tenant.ex:1:11 #(AshPaperTrail.Test.Tenant)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/tag.ex:1:11 #(AshPaperTrail.Test.Posts.Tag)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/post.ex:1:11 #(AshPaperTrail.Test.Posts.Post)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/author.ex:1:11 #(AshPaperTrail.Test.Posts.Author)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/api.ex:1:11 #(AshPaperTrail.Test.Posts.Api)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/articles/registry.ex:1:11 #(AshPaperTrail.Test.Articles.Registry)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/articles/article.ex:1:11 #(AshPaperTrail.Test.Articles.Article)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/articles/api.ex:1:11 #(AshPaperTrail.Test.Articles.Api)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/accounts/user.ex:1:11 #(AshPaperTrail.Test.Accounts.User)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/accounts/news_feed.ex:1:11 #(AshPaperTrail.Test.Accounts.NewsFeed)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/accounts/api.ex:1:11 #(AshPaperTrail.Test.Accounts.Api)
โ [R] โ Modules should have a @moduledoc tag.
โ lib/registry/registry.ex:1:11 #(AshPaperTrail.Registry)
โ [R] โ The alias `AshPaperTrail.Test.Posts` is not alphabetically ordered among
โ its group.
โ test/ash_paper_trail_test.exs:4:29 #(AshPaperTrailTest)
Refactoring opportunities
โ
โ [F] โ Function is too complex (cyclomatic complexity is 20, max is 9).
โ lib/resource/transformers/create_version_resource.ex:7:7 #(AshPaperTrail.Resource.Transformers.CreateVersionResource.transform)
โ [F] โ Avoid `apply/2` and `apply/3` when the number of arguments is known
โ lib/resource/transformers/create_version_resource.ex:32 #(AshPaperTrail.Resource.Transformers.CreateVersionResource.transform)
โ [F] โ Avoid `apply/2` and `apply/3` when the number of arguments is known
โ lib/resource/transformers/create_version_resource.ex:32 #(AshPaperTrail.Resource.Transformers.CreateVersionResource.transform)
Please report incorrect results: https://github.com/rrrene/credo/issues
Analysis took 0.5 seconds (0.1s to load, 0.3s running 64 checks on 27 files)
62 mods/funs, found 3 refactoring opportunities, 14 code readability issues, 14 software design suggestions.
Use `mix credo explain` to explain issues, `mix credo --help` for options.
=> running sobelow
Checking Sobelow version...
14:12:22.624 [warning] Description: 'Authenticity is not established by certificate path validation'
Reason: 'Option {verify, verify_peer} and cacertfile/cacerts is missing'
A new version of Sobelow is available:
mix archive.install hex sobelow
WARNING: Sobelow cannot find the router. If this is a Phoenix application
please use the `--router` flag to specify the router's location.
##############################################
# #
# Running Sobelow - v0.11.1 #
# Created by Griffin Byatt - @griffinbyatt #
# NCC Group - https://nccgroup.trust #
# #
##############################################
RCE.CodeModule: Code Execution in `Code.eval_quoted` - Low Confidence
File: lib/resource/transformers/create_version_resource.ex
Line: 125
Function: transform:7
Variable: quote
-----------------------------------------------
RCE.CodeModule: Code Execution in `Code.eval_quoted` - Low Confidence
File: lib/resource/transformers/create_version_resource.ex
Line: 98
Function: transform:7
Variable: quote
-----------------------------------------------
... SCAN COMPLETE ...
=> running ex_doc
Generating docs...
View "html" docs at "doc/index.html"
View "epub" docs at "doc/ash_paper_trail.epub"
=> running ex_unit
==> sourceror
....
warning: * IMPORTANT *
The configuration `use_all_identities_in_manage_relationship` was not set.
It is defaulting to `true` for backwards compatibility.
This configuration must now be manually set, and it should be set to `false`.
If you have just started a new project, or haven't used `manage_relationship` yet, just set the following config:
config :ash, :use_all_identities_in_manage_relationship?, false
If you are currently using `manage_relationship`, please read https://github.com/ash-project/ash/issues/469 before proceeding
lib/ash/actions/managed_relationships.ex:16: (module)
(elixir 1.14.1) src/elixir_compiler.erl:65: :elixir_compiler.dispatch/4
(elixir 1.14.1) src/elixir_compiler.erl:50: :elixir_compiler.compile/3
(elixir 1.14.1) src/elixir_module.erl:379: :elixir_module.eval_form/6
(elixir 1.14.1) src/elixir_module.erl:105: :elixir_module.compile/5
(elixir 1.14.1) src/elixir_lexical.erl:15: :elixir_lexical.run/3
Generated ash app
==> ash_paper_trail
Compiling 25 files (.ex)
Generated ash_paper_trail app
...............
Finished in 0.2 seconds (0.00s async, 0.2s sync)
15 tests, 0 failures
Randomized with seed 473024
=> running dialyzer
Finding suitable PLTs
Checking PLT...
[:ash, :asn1, :certifi, :comparable, :compiler, :crypto, :decimal, :ecto, :eex, :elixir, :ets, :ex_check, :excoveralls, :git_cli, :git_ops, :hackney, :idna, :jason, :kernel, :logger, :metrics, :mimerl, :mnesia, :nimble_options, :nimble_parsec, :parse_trans, :picosat_elixir, :public_key, :sourceror, :spark, :ssl, :ssl_verify_fun, :stdlib, :stream_data, :syntax_tools, :telemetry, :tools, :typable, :unicode_util_compat]
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Looking up modules in dialyxir_erlang-25.1.2.plt
Finding applications for dialyxir_erlang-25.1.2.plt
Finding modules for dialyxir_erlang-25.1.2.plt
Creating dialyxir_erlang-25.1.2.plt
Looking up modules in dialyxir_erlang-25.1.2.plt
Removing 3 modules from dialyxir_erlang-25.1.2.plt
Checking 18 modules in dialyxir_erlang-25.1.2.plt
Adding 185 modules to dialyxir_erlang-25.1.2.plt
done in 0m33.08s
Finding applications for dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Finding modules for dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Copying dialyxir_erlang-25.1.2.plt to dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Checking 203 modules in dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Adding 253 modules to dialyxir_erlang-25.1.2_elixir-1.14.1.plt
done in 0m37.85s
Finding applications for dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Finding modules for dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Copying dialyxir_erlang-25.1.2_elixir-1.14.1.plt to dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Checking 456 modules in dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Adding 1389 modules to dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
done in 3m3.58s
No :ignore_warnings opt specified in mix.exs and default does not exist.
Starting Dialyzer
[
....
]
Total errors: 2, Skipped: 0, Unnecessary Skips: 0
done in 0m2.82s
lib/registry/transformers/add_resource_versions.ex:16:callback_arg_type_mismatch
The inferred type for the 1st argument is not a
supertype of the expected type for the transform/1 callback
in the Spark.Dsl.Transformer behaviour.
Success type:
atom()
Behaviour callback type:
map()
________________________________________________________________________________
lib/resource/transformers/create_version_resource.ex:39:call
The function call will not succeed.
Ash.DataLayer.Ets.Info.private?(_dsl_state :: map())
breaks the contract
(Ash.Resource.t()) :: boolean()
________________________________________________________________________________
done (warnings were emitted)
Halting VM with exit status 2
=> reprinting errors from formatter
** (Mix) mix format failed due to --check-formatted.
The following files are not formatted:
* test/ash_paper_trail_test.exs
* lib/resource/transformers/create_version_resource.ex
* lib/resource/changes/create_new_version.ex
=> reprinting errors from credo
Checking 27 source files ...
Software Design
โ
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:62:22 #(AshPaperTrail.Resource.Info.version_resource)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:54:5 #(AshPaperTrail.Resource.Info.version_extensions)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:49:5 #(AshPaperTrail.Resource.Info.store_action_name?)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:44:5 #(AshPaperTrail.Resource.Info.reference_source?)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:37:10 #(AshPaperTrail.Resource.Info.on_actions)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:35:5 #(AshPaperTrail.Resource.Info.on_actions)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:30:5 #(AshPaperTrail.Resource.Info.mixin)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:25:5 #(AshPaperTrail.Resource.Info.ignore_attributes)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:20:5 #(AshPaperTrail.Resource.Info.change_tracking_mode)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:11:5 #(AshPaperTrail.Resource.Info.belongs_to_actor)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/info.ex:6:5 #(AshPaperTrail.Resource.Info.attributes_as_attributes)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/transformers/validate_belongs_to_actor.ex:6:22 #(AshPaperTrail.Resource.Transformers.ValidateBelongsToActor.transform)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/resource/transformers/relate_version_resource.ex:11:27 #(AshPaperTrail.Resource.Transformers.RelateVersionResource.transform)
โ [D] โ Nested modules could be aliased at the top of the invoking module.
โ lib/api/transformers/allow_resource_versions.ex:13:26 #(AshPaperTrail.Api.Transformers.AllowResourceVersions.transform)
Code Readability
โ
โ [R] โ `with` contains only one <- clause and an `else` branch, consider using
โ `case` instead
โ lib/resource/transformers/relate_version_resource.ex:8 #(AshPaperTrail.Resource.Transformers.RelateVersionResource.transform)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/tenant.ex:1:11 #(AshPaperTrail.Test.Tenant)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/tag.ex:1:11 #(AshPaperTrail.Test.Posts.Tag)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/post.ex:1:11 #(AshPaperTrail.Test.Posts.Post)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/author.ex:1:11 #(AshPaperTrail.Test.Posts.Author)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/posts/api.ex:1:11 #(AshPaperTrail.Test.Posts.Api)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/articles/registry.ex:1:11 #(AshPaperTrail.Test.Articles.Registry)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/articles/article.ex:1:11 #(AshPaperTrail.Test.Articles.Article)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/articles/api.ex:1:11 #(AshPaperTrail.Test.Articles.Api)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/accounts/user.ex:1:11 #(AshPaperTrail.Test.Accounts.User)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/accounts/news_feed.ex:1:11 #(AshPaperTrail.Test.Accounts.NewsFeed)
โ [R] โ Modules should have a @moduledoc tag.
โ test/support/accounts/api.ex:1:11 #(AshPaperTrail.Test.Accounts.Api)
โ [R] โ Modules should have a @moduledoc tag.
โ lib/registry/registry.ex:1:11 #(AshPaperTrail.Registry)
โ [R] โ The alias `AshPaperTrail.Test.Posts` is not alphabetically ordered among
โ its group.
โ test/ash_paper_trail_test.exs:4:29 #(AshPaperTrailTest)
Refactoring opportunities
โ
โ [F] โ Function is too complex (cyclomatic complexity is 20, max is 9).
โ lib/resource/transformers/create_version_resource.ex:7:7 #(AshPaperTrail.Resource.Transformers.CreateVersionResource.transform)
โ [F] โ Avoid `apply/2` and `apply/3` when the number of arguments is known
โ lib/resource/transformers/create_version_resource.ex:32 #(AshPaperTrail.Resource.Transformers.CreateVersionResource.transform)
โ [F] โ Avoid `apply/2` and `apply/3` when the number of arguments is known
โ lib/resource/transformers/create_version_resource.ex:32 #(AshPaperTrail.Resource.Transformers.CreateVersionResource.transform)
Please report incorrect results: https://github.com/rrrene/credo/issues
Analysis took 0.5 seconds (0.1s to load, 0.3s running 64 checks on 27 files)
62 mods/funs, found 3 refactoring opportunities, 14 code readability issues, 14 software design suggestions.
Use `mix credo explain` to explain issues, `mix credo --help` for options.
=> reprinting errors from sobelow
Checking Sobelow version...
14:12:22.624 [warning] Description: 'Authenticity is not established by certificate path validation'
Reason: 'Option {verify, verify_peer} and cacertfile/cacerts is missing'
A new version of Sobelow is available:
mix archive.install hex sobelow
WARNING: Sobelow cannot find the router. If this is a Phoenix application
please use the `--router` flag to specify the router's location.
##############################################
# #
# Running Sobelow - v0.11.1 #
# Created by Griffin Byatt - @griffinbyatt #
# NCC Group - https://nccgroup.trust #
# #
##############################################
RCE.CodeModule: Code Execution in `Code.eval_quoted` - Low Confidence
File: lib/resource/transformers/create_version_resource.ex
Line: 125
Function: transform:7
Variable: quote
-----------------------------------------------
RCE.CodeModule: Code Execution in `Code.eval_quoted` - Low Confidence
File: lib/resource/transformers/create_version_resource.ex
Line: 98
Function: transform:7
Variable: quote
-----------------------------------------------
... SCAN COMPLETE ...
=> reprinting errors from dialyzer
Finding suitable PLTs
Checking PLT...
[:ash, :asn1, :certifi, :comparable, :compiler, :crypto, :decimal, :ecto, :eex, :elixir, :ets, :ex_check, :excoveralls, :git_cli, :git_ops, :hackney, :idna, :jason, :kernel, :logger, :metrics, :mimerl, :mnesia, :nimble_options, :nimble_parsec, :parse_trans, :picosat_elixir, :public_key, :sourceror, :spark, :ssl, :ssl_verify_fun, :stdlib, :stream_data, :syntax_tools, :telemetry, :tools, :typable, :unicode_util_compat]
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Looking up modules in dialyxir_erlang-25.1.2.plt
Finding applications for dialyxir_erlang-25.1.2.plt
Finding modules for dialyxir_erlang-25.1.2.plt
Creating dialyxir_erlang-25.1.2.plt
Looking up modules in dialyxir_erlang-25.1.2.plt
Removing 3 modules from dialyxir_erlang-25.1.2.plt
Checking 18 modules in dialyxir_erlang-25.1.2.plt
Adding 185 modules to dialyxir_erlang-25.1.2.plt
done in 0m33.08s
Finding applications for dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Finding modules for dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Copying dialyxir_erlang-25.1.2.plt to dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Checking 203 modules in dialyxir_erlang-25.1.2_elixir-1.14.1.plt
Adding 253 modules to dialyxir_erlang-25.1.2_elixir-1.14.1.plt
done in 0m37.85s
Finding applications for dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Finding modules for dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Copying dialyxir_erlang-25.1.2_elixir-1.14.1.plt to dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Looking up modules in dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Checking 456 modules in dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
Adding 1389 modules to dialyxir_erlang-25.1.2_elixir-1.14.1_deps-dev.plt
done in 3m3.58s
No :ignore_warnings opt specified in mix.exs and default does not exist.
Starting Dialyzer
[
....
]
Total errors: 2, Skipped: 0, Unnecessary Skips: 0
done in 0m2.82s
lib/registry/transformers/add_resource_versions.ex:16:callback_arg_type_mismatch
The inferred type for the 1st argument is not a
supertype of the expected type for the transform/1 callback
in the Spark.Dsl.Transformer behaviour.
Success type:
atom()
Behaviour callback type:
map()
________________________________________________________________________________
lib/resource/transformers/create_version_resource.ex:39:call
The function call will not succeed.
Ash.DataLayer.Ets.Info.private?(_dsl_state :: map())
breaks the contract
(Ash.Resource.t()) :: boolean()
________________________________________________________________________________
done (warnings were emitted)
Halting VM with exit status 2
=> finished in 4:49
โ compiler success in 0:04
โ ex_doc success in 0:08
โ ex_unit success in 1:41
โ credo error code 14 in 0:07
โ dialyzer error code 2 in 4:45
โ formatter error code 1 in 0:06
โ sobelow error code 1 in 0:08