rspack_plugin_javascript/plugin/
drive.rs

1use rspack_core::{
2  BoxModule, Chunk, ChunkInitFragments, ChunkUkey, Compilation, ModuleIdentifier,
3  rspack_sources::BoxSource,
4};
5use rspack_hash::RspackHash;
6use rspack_hook::define_hook;
7
8define_hook!(JavascriptModulesRenderChunk: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey, source: &mut RenderSource));
9define_hook!(JavascriptModulesRender: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey, source: &mut RenderSource));
10define_hook!(JavascriptModulesRenderStartup: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey, module: &ModuleIdentifier, source: &mut RenderSource));
11define_hook!(JavascriptModulesRenderModuleContent: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey,module: &BoxModule, source: &mut RenderSource, init_fragments: &mut ChunkInitFragments),tracing=false);
12define_hook!(JavascriptModulesRenderModuleContainer: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey,module: &BoxModule, source: &mut RenderSource, init_fragments: &mut ChunkInitFragments),tracing=false);
13define_hook!(JavascriptModulesRenderModulePackage: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey, module: &BoxModule, source: &mut RenderSource, init_fragments: &mut ChunkInitFragments),tracing=false);
14define_hook!(JavascriptModulesChunkHash: Series(compilation: &Compilation, chunk_ukey: &ChunkUkey, hasher: &mut RspackHash));
15define_hook!(JavascriptModulesInlineInRuntimeBailout: SeriesBail(compilation: &Compilation) -> String);
16define_hook!(JavascriptModulesEmbedInRuntimeBailout: SeriesBail(compilation: &Compilation, module: &BoxModule, chunk: &Chunk) -> String);
17define_hook!(JavascriptModulesStrictRuntimeBailout: SeriesBail(compilation: &Compilation, chunk_ukey: &ChunkUkey) -> String);
18
19#[derive(Debug, Default)]
20pub struct JavascriptModulesPluginHooks {
21  pub render_chunk: JavascriptModulesRenderChunkHook,
22  pub render: JavascriptModulesRenderHook,
23  pub render_startup: JavascriptModulesRenderStartupHook,
24  pub render_module_content: JavascriptModulesRenderModuleContentHook,
25  pub render_module_container: JavascriptModulesRenderModuleContainerHook,
26  pub render_module_package: JavascriptModulesRenderModulePackageHook,
27  pub chunk_hash: JavascriptModulesChunkHashHook,
28  pub inline_in_runtime_bailout: JavascriptModulesInlineInRuntimeBailoutHook,
29  pub embed_in_runtime_bailout: JavascriptModulesEmbedInRuntimeBailoutHook,
30  pub strict_runtime_bailout: JavascriptModulesStrictRuntimeBailoutHook,
31}
32
33#[derive(Debug)]
34pub struct RenderSource {
35  pub source: BoxSource,
36}