In the following example (code copied from the Flux project.toml) what is the purpose of the [extras] and [targets] sections?
[compat]
Adapt = "3.0"
ArrayInterface = "3.1, 4, 5, 6"
CUDA = "3"
.
.
.
Zygote = "0.6.34"
julia = "1.6"
[extras]
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
.
.
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[targets]
test = ["Test", "Documenter", "IterTools", "LinearAlgebra", "FillArrays", "ComponentArrays"]