Contributors are welcome to help out with this repository! 😊

Please follow this guide when raising issues, and contributing to the SMP repository.\hypertarget{md_sfcode_node_modules_speed_measure_webpack_plugin_CONTRIBUTING_autotoc_md28638}{}\doxysection{Raising an Issue}\label{md_sfcode_node_modules_speed_measure_webpack_plugin_CONTRIBUTING_autotoc_md28638}
If you\textquotesingle{}re raising an issue with SMP being incompatible with a particular webpack config, plugin, or loader -\/ then please include reproduction steps.

The ideal reproduction steps would be forking this repository, and adding a new \href{./__tests__/setups}{\texttt{ \+\_\+\+\_\+tests\+\_\+\+\_\+/setups}} test case.\hypertarget{md_sfcode_node_modules_speed_measure_webpack_plugin_CONTRIBUTING_autotoc_md28639}{}\doxysection{Raising a Pull Request}\label{md_sfcode_node_modules_speed_measure_webpack_plugin_CONTRIBUTING_autotoc_md28639}
SMP uses \href{https://github.com/prettier/prettier}{\texttt{ Prettier}} for its code formatting.

If possible, please also include a new unit test (e.\+g. \href{./utils.test.js}{\texttt{ utils.\+test.\+js}}), or integration test (i.\+e. \href{./__tests__/setups}{\texttt{ \+\_\+\+\_\+tests\+\_\+\+\_\+/setups}}).\hypertarget{md_sfcode_node_modules_speed_measure_webpack_plugin_CONTRIBUTING_autotoc_md28640}{}\doxysection{Code Structure}\label{md_sfcode_node_modules_speed_measure_webpack_plugin_CONTRIBUTING_autotoc_md28640}
SMP has 2 primary parts\+:


\begin{DoxyEnumerate}
\item The \href{./index.js}{\texttt{ SMP class}} contains the {\ttfamily smp.\+wrap} instance method that bootstraps the whole wrapping sequence. This class also listens for basic timing events, and orchestrates the main timings.
\item The \href{./WrappedPlugin}{\texttt{ {\ttfamily Wrapped\+Plugin}}} proxy that wraps each webpack plugin. This uses a {\ttfamily Proxy} to wrap everything to do with a plugin, feeding the timing information back to the SMP class. 
\end{DoxyEnumerate}