Problem/Motivation
Blocked on
β¨
Identify which properties must be made validatable elsewhere
Fixed
.
Rather than scanning the output of $ vendor/bin/drush config:inspect --detail --list-constraints
manually to find next most important things to work on (which I've done a number of times for #2164373, see #41 there for example.
If we want to make it easy (and fun!) to contribute more validation constraints, we need to make it easy to discover what the next most important issue would be. Having this functionality would mean anybody would just need to do:
composer require drush/drush drupal/config_inspector
vendor/bin/drush pm:install -y config_inspector
vendor/bin/drush config:inspector --todo
β¦ and they'd see it right there, tailored for the website they're running it on!
Steps to reproduce
Proposed resolution
You can optionally ask for less:
$ vendor/bin/drush config:inspect --todo=5
β π€ Analyzingβ¦
ππππππππππππ
π Low-hanging fruit π
ππππππππππππ
βͺ The 5 unvalidatable config OBJECTS closest to 100% validatability:
1. 97%: user.mail
2. 91%: system.menu.account
3. 91%: system.menu.admin
4. 91%: system.menu.footer
5. 91%: system.menu.main
β π©π»βπ» See details:
β drush config:inspect --filter-keys=[ONE OF THE ABOVE] --detail --list-constraints
ππππππππππππ
π High-hanging fruit π
ππππππππππππ
βͺ The 5 unvalidatable config TYPES with the biggest impact:
1. 17%: views.field.field affects 937 property paths, 17% of @todos or 8% of total
2. 8%: views.view.* affects 433 property paths, 8% of @todos or 4% of total
3. 5%: views.style.table affects 281 property paths, 5% of @todos or 2% of total
4. 4%: views.filter.boolean affects 247 property paths, 4% of @todos or 2% of total
5. 4%: views.display.default affects 219 property paths, 4% of @todos or 2% of total
(Total property paths on this Drupal site: 11417)
β π§βπ» List all affected property paths (make sure to escape the asterisk with a backslash!)
β drush config:inspect --detail --list-constraints --fields=key,constraints | grep "@todo" | grep [ONE OF THE ABOVE]
But by default you'll get 15:
$ vendor/bin/drush config:inspect --todo
β π€ Analyzingβ¦
ππππππππππππ
π Low-hanging fruit π
ππππππππππππ
βͺ The 15 unvalidatable config OBJECTS closest to 100% validatability:
1. 97%: user.mail
2. 91%: system.menu.account
3. 91%: system.menu.admin
4. 91%: system.menu.footer
5. 91%: system.menu.main
6. 91%: system.menu.tools
7. 89%: shortcut.set.default
8. 86%: node.type.article
9. 86%: node.type.page
10. 84%: editor.editor.basic_html
11. 82%: block_content.type.basic
12. 82%: comment.type.comment
13. 82%: taxonomy.vocabulary.tags
14. 80%: system.maintenance
15. 79%: user.settings
β π©π»βπ» See details:
β drush config:inspect --filter-keys=[ONE OF THE ABOVE] --detail --list-constraints
ππππππππππππ
π High-hanging fruit π
ππππππππππππ
βͺ The 15 unvalidatable config TYPES with the biggest impact:
1. 17%: views.field.field affects 937 property paths, 17% of @todos or 8% of total
2. 8%: views.view.* affects 433 property paths, 8% of @todos or 4% of total
3. 5%: views.style.table affects 281 property paths, 5% of @todos or 2% of total
4. 4%: views.filter.boolean affects 247 property paths, 4% of @todos or 2% of total
5. 4%: views.display.default affects 219 property paths, 4% of @todos or 2% of total
6. 3%: views.filter.language affects 187 property paths, 3% of @todos or 2% of total
7. 3%: _core_config_info affects 176 property paths, 3% of @todos or 2% of total
8. 3%: config_dependencies affects 162 property paths, 3% of @todos or 1% of total
9. 3%: views.filter.string affects 144 property paths, 3% of @todos or 1% of total
10. 2%: core.entity_form_display.*.*.* affects 136 property paths, 2% of @todos or 1% of total
11. 2%: views.field.* affects 125 property paths, 2% of @todos or 1% of total
12. 2%: block.block.* affects 120 property paths, 2% of @todos or 1% of total
13. 2%: views.sort.date affects 87 property paths, 2% of @todos or 1% of total
14. 1%: field_formatter.entity_view_display affects 80 property paths, 1% of @todos or 1% of total
15. 1%: views.display.page affects 80 property paths, 1% of @todos or 1% of total
(Total property paths on this Drupal site: 11417)
β π§βπ» List all affected property paths (make sure to escape the asterisk with a backslash!)
β drush config:inspect --detail --list-constraints --fields=key,constraints | grep "@todo" | grep [ONE OF THE ABOVE]
(This was on 724c8d4dd84c1651d3b80a92c99101a3adde0aae
of Drupal core β anyone should be able to reproduce this.)
Remaining tasks
User interface changes
API changes
Data model changes