Mosaic provides an opportunity to modify Webpack and Babel configurations of a project from an isolated module, similarly to the runtime plugins, but not quite.
In order to declare a build configuration plugin, some preparations are necessary. First of all, an extension module must be created. You will implement your plugin there.
For the development purposes, it's recommended to have the under-development extension module installed into your project.
Declare a build configuration plugin
Then, in your module, you should create a build configuration plugin declaration file, and reference it from your package.json. It is commonly accepted to create such plugins in build-config directory in the root of your module.
Any module can have unlimited amount of such plugins. If the module is enabled, or used as a parent theme - its build configuration plugins will be present in the application.