Builtin plugin
Builtin plugin uses rspack_macros to help you avoid writing boilerplate code, you can use cargo-expand or rust-analyzer expand macro to checkout the expanded code, and for developing/testing these macro, you can starts with rspack_macros_test.
A simple example:
And here is an example.
If the hook you need is not defined yet, you can define it by rspack_hook::define_hook. Take compiler.hooks.assetEmitted as an example:
There are 5 kinds of exec kind:
AsyncSeries, return value isResult<()>AsyncSeriesBail, return value isResult<Option<T>>AsyncParallel, return value isResult<()>SyncSeries, return value isResult<()>SyncSeriesBail, return value isResult<Option<T>>

