Following #1029, there are effectively no longer any modules as part of Performance Lab. This should remain that way. As such, all modules infrastructure should be entirely removed.
Let's focus on the minimum effort needed to clean up in this issue. Further enhancements to user experience should be considered in separate issues.
Here is a non comprehensive list of what needs to be removed:
- All UI related to toggling modules (i.e. the checkboxes).
- All UI related to the module migration.
- All PHP functions related to module settings.
- All PHP functions related to loading modules, module activation/deactivation etc.
- All PHP functions related to migrating from modules to their standalone plugins.
- The
perflab_is_standalone_plugin_loaded() PHP function (as it relates to modules).
- All unit test coverage related to module infrastructure.
- All CLI scripts in
bin that deal with modules exclusively.
- All GitHub workflows that deal with modules exclusively (such as building and testing modules, publishing modules, ...).
- Utility files, like
module-i18n.php, default-enabled-modules.php, and their usage and surrounding infrastructure.
- Any reference to modules, really :)
Additional changes to be made:
- The
plugins.json file should no longer support a "modules" entry. Tooling (e.g. scripts and GitHub workflows) should be updated to no longer consider that "modules" entry. For example, the deploy-standalone-plugins.yml workflow should be updated to only work with the actual plugins in the /plugins folder and no longer reference modules, which means for example scripts like get-plugin-dir can be removed as it will now always be the /plugins directory.
- The
$source parameter of the perflab_get_standalone_plugin_version_constants() function should be deprecated (or removed) and effectively always be for plugins.
- The generator tag should be adjusted to not include any information about modules. In other words, it output should look like
Performance Lab %1$s; plugins: %2$s going forward.
- The copy of the default admin pointer should be adjusted to no longer say "performance features included in the plugin", but just "performance features".
- The main
readme.txt should be updated to no longer list the available modules.
- The
readme JS script should be adjusted to no longer try to populate the list of available modules into readme.txt (the changelog functionality should be kept though).
These lists may not be complete, and further things to remove/update may come up as a PR is being worked on.
Following #1029, there are effectively no longer any modules as part of Performance Lab. This should remain that way. As such, all modules infrastructure should be entirely removed.
Let's focus on the minimum effort needed to clean up in this issue. Further enhancements to user experience should be considered in separate issues.
Here is a non comprehensive list of what needs to be removed:
perflab_is_standalone_plugin_loaded()PHP function (as it relates to modules).binthat deal with modules exclusively.module-i18n.php,default-enabled-modules.php, and their usage and surrounding infrastructure.Additional changes to be made:
plugins.jsonfile should no longer support a"modules"entry. Tooling (e.g. scripts and GitHub workflows) should be updated to no longer consider that"modules"entry. For example, thedeploy-standalone-plugins.ymlworkflow should be updated to only work with the actual plugins in the/pluginsfolder and no longer reference modules, which means for example scripts likeget-plugin-dircan be removed as it will now always be the/pluginsdirectory.$sourceparameter of theperflab_get_standalone_plugin_version_constants()function should be deprecated (or removed) and effectively always be for plugins.Performance Lab %1$s; plugins: %2$sgoing forward.readme.txtshould be updated to no longer list the available modules.readmeJS script should be adjusted to no longer try to populate the list of available modules intoreadme.txt(the changelog functionality should be kept though).These lists may not be complete, and further things to remove/update may come up as a PR is being worked on.