Extract built-in plugins into separate packages
Closed this issue · 0 comments
ericcornelissen commented
Architecture Change
Description
As the project grows it is becoming clear that all plugins should be build as separate packages. Hence, the (core's) build-in mangler plugins and language plugins should be extracted into separate packages. These separate packages should then become dependencies of the WebMangler core, which should still provide the BuiltInManglers
, RecommendedManglers
, and BuiltInLanguageSupport
plugins.
Doing this will have a couple of advantages, mostly related to clear separation of concerns - both for the source and for tests. This will also help with the efforts of #113 (clearer unit boundaries) and #124 (it's easier to run mutation test for smaller projects).
Progress
Mangler Plugins
- CssClassMangler -> packages/mangler-css-classes (#144)
- CssVariableMangler -> packages/mangler-css-variables (#144)
- HtmlAttributeMangler -> packages/mangler-html-attributes (#144)
- HtmlIdMangler -> packages/mangler-html-ids (#144)