Build configuration plugins
Modify build configurations without rewriting them!
Last updated
Was this helpful?
Modify build configurations without rewriting them!
Last updated
Was this helpful?
Mosaic provides an opportunity to modify Webpack and Babel configurations of a project from an isolated module, similarly to the , but not quite.
In order to declare a build configuration plugin, some preparations are necessary. First of all, an must be . You will implement your plugin there.
For the development purposes, it's recommended to have the under-development extension module into your project.
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.
The guide below describes the process of implementing logic in this plugin declaration file.
This plugin property defines at least one of the two fields visible below.
Each field provides a function, which accepts a Webpack or Babel configuration object (correspondingly). This function processes the configuration object and returns a new value, used as a corresponding configuration further in the application. It is commonly accepted to mutate the configuration within these functions.
A build configuration plugin declaration file is a , which exports a single object with plugin
property.
Despite the resemblance with , this API is not related to CRACO.