pub trait Plugin:
Any
+ Debug
+ Send
+ Sync
+ 'static {
Show 49 methods
// Required methods
fn name(&self) -> Cow<'static, str>;
fn register_hook_usage(&self) -> HookUsage;
// Provided methods
fn new_shared(plugin: Self) -> SharedPluginable
where Self: Sized { ... }
fn build_start(
&self,
_ctx: &PluginContext,
_args: &HookBuildStartArgs<'_>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn build_start_meta(&self) -> Option<PluginHookMeta> { ... }
fn resolve_id(
&self,
_ctx: &PluginContext,
_args: &HookResolveIdArgs<'_>,
) -> impl Future<Output = HookResolveIdReturn> + Send { ... }
fn resolve_id_meta(&self) -> Option<PluginHookMeta> { ... }
fn resolve_dynamic_import(
&self,
_ctx: &PluginContext,
_args: &HookResolveIdArgs<'_>,
) -> impl Future<Output = HookResolveIdReturn> + Send { ... }
fn resolve_dynamic_import_meta(&self) -> Option<PluginHookMeta> { ... }
fn load(
&self,
_ctx: SharedLoadPluginContext,
_args: &HookLoadArgs<'_>,
) -> impl Future<Output = HookLoadReturn> + Send { ... }
fn load_meta(&self) -> Option<PluginHookMeta> { ... }
fn transform(
&self,
_ctx: SharedTransformPluginContext,
_args: &HookTransformArgs<'_>,
) -> impl Future<Output = HookTransformReturn> + Send { ... }
fn transform_meta(&self) -> Option<PluginHookMeta> { ... }
fn module_parsed(
&self,
_ctx: &PluginContext,
_module_info: Arc<ModuleInfo>,
_normal_module: &NormalModule,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn module_parsed_meta(&self) -> Option<PluginHookMeta> { ... }
fn build_end(
&self,
_ctx: &PluginContext,
_args: Option<&HookBuildEndArgs<'_>>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn build_end_meta(&self) -> Option<PluginHookMeta> { ... }
fn render_start(
&self,
_ctx: &PluginContext,
_args: &HookRenderStartArgs<'_>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn render_start_meta(&self) -> Option<PluginHookMeta> { ... }
fn banner(
&self,
_ctx: &PluginContext,
_args: &HookAddonArgs,
) -> impl Future<Output = HookInjectionOutputReturn> + Send { ... }
fn banner_meta(&self) -> Option<PluginHookMeta> { ... }
fn footer(
&self,
_ctx: &PluginContext,
_args: &HookAddonArgs,
) -> impl Future<Output = HookInjectionOutputReturn> + Send { ... }
fn footer_meta(&self) -> Option<PluginHookMeta> { ... }
fn intro(
&self,
_ctx: &PluginContext,
_args: &HookAddonArgs,
) -> impl Future<Output = HookInjectionOutputReturn> + Send { ... }
fn intro_meta(&self) -> Option<PluginHookMeta> { ... }
fn outro(
&self,
_ctx: &PluginContext,
_args: &HookAddonArgs,
) -> impl Future<Output = HookInjectionOutputReturn> + Send { ... }
fn outro_meta(&self) -> Option<PluginHookMeta> { ... }
fn render_chunk(
&self,
_ctx: &PluginContext,
_args: &HookRenderChunkArgs<'_>,
) -> impl Future<Output = HookRenderChunkReturn> + Send { ... }
fn render_chunk_meta(&self) -> Option<PluginHookMeta> { ... }
fn augment_chunk_hash(
&self,
_ctx: &PluginContext,
_chunk: Arc<RollupRenderedChunk>,
) -> impl Future<Output = HookAugmentChunkHashReturn> + Send { ... }
fn augment_chunk_hash_meta(&self) -> Option<PluginHookMeta> { ... }
fn resolve_file_url(
&self,
_ctx: &PluginContext,
_args: &HookResolveFileUrlArgs<'_>,
) -> impl Future<Output = HookResolveFileUrlReturn> + Send { ... }
fn resolve_file_url_meta(&self) -> Option<PluginHookMeta> { ... }
fn render_error(
&self,
_ctx: &PluginContext,
_args: &HookRenderErrorArgs<'_>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn render_error_meta(&self) -> Option<PluginHookMeta> { ... }
fn generate_bundle(
&self,
_ctx: &PluginContext,
_args: &mut HookGenerateBundleArgs<'_>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn generate_bundle_meta(&self) -> Option<PluginHookMeta> { ... }
fn write_bundle(
&self,
_ctx: &PluginContext,
_args: &mut HookWriteBundleArgs<'_>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn write_bundle_meta(&self) -> Option<PluginHookMeta> { ... }
fn close_bundle(
&self,
_ctx: &PluginContext,
_args: Option<&HookCloseBundleArgs<'_>>,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn close_bundle_meta(&self) -> Option<PluginHookMeta> { ... }
fn watch_change(
&self,
_ctx: &PluginContext,
_path: &str,
_event: WatcherChangeKind,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn watch_change_meta(&self) -> Option<PluginHookMeta> { ... }
fn hot_update(
&self,
_ctx: &PluginContext,
_args: &HookHotUpdateArgs,
) -> impl Future<Output = HookHotUpdateReturn> + Send { ... }
fn hot_update_meta(&self) -> Option<PluginHookMeta> { ... }
fn close_watcher(
&self,
_ctx: &PluginContext,
) -> impl Future<Output = HookNoopReturn> + Send { ... }
fn close_watcher_meta(&self) -> Option<PluginHookMeta> { ... }
fn transform_ast(
&self,
_ctx: &PluginContext,
args: HookTransformAstArgs<'_>,
) -> impl Future<Output = HookTransformAstReturn> + Send { ... }
fn transform_ast_meta(&self) -> Option<PluginHookMeta> { ... }
}Required Methods§
Provided Methods§
fn build_start( &self, _ctx: &PluginContext, _args: &HookBuildStartArgs<'_>, ) -> impl Future<Output = HookNoopReturn> + Send
fn build_start_meta(&self) -> Option<PluginHookMeta>
fn resolve_id( &self, _ctx: &PluginContext, _args: &HookResolveIdArgs<'_>, ) -> impl Future<Output = HookResolveIdReturn> + Send
fn resolve_id_meta(&self) -> Option<PluginHookMeta>
fn resolve_dynamic_import( &self, _ctx: &PluginContext, _args: &HookResolveIdArgs<'_>, ) -> impl Future<Output = HookResolveIdReturn> + Send
👎Deprecated:
This hook is only for rollup compatibility, please use resolve_id instead.
fn resolve_dynamic_import_meta(&self) -> Option<PluginHookMeta>
fn load( &self, _ctx: SharedLoadPluginContext, _args: &HookLoadArgs<'_>, ) -> impl Future<Output = HookLoadReturn> + Send
fn load_meta(&self) -> Option<PluginHookMeta>
fn transform( &self, _ctx: SharedTransformPluginContext, _args: &HookTransformArgs<'_>, ) -> impl Future<Output = HookTransformReturn> + Send
fn transform_meta(&self) -> Option<PluginHookMeta>
fn module_parsed( &self, _ctx: &PluginContext, _module_info: Arc<ModuleInfo>, _normal_module: &NormalModule, ) -> impl Future<Output = HookNoopReturn> + Send
fn module_parsed_meta(&self) -> Option<PluginHookMeta>
fn build_end( &self, _ctx: &PluginContext, _args: Option<&HookBuildEndArgs<'_>>, ) -> impl Future<Output = HookNoopReturn> + Send
fn build_end_meta(&self) -> Option<PluginHookMeta>
fn render_start( &self, _ctx: &PluginContext, _args: &HookRenderStartArgs<'_>, ) -> impl Future<Output = HookNoopReturn> + Send
fn render_start_meta(&self) -> Option<PluginHookMeta>
fn intro( &self, _ctx: &PluginContext, _args: &HookAddonArgs, ) -> impl Future<Output = HookInjectionOutputReturn> + Send
fn intro_meta(&self) -> Option<PluginHookMeta>
fn outro( &self, _ctx: &PluginContext, _args: &HookAddonArgs, ) -> impl Future<Output = HookInjectionOutputReturn> + Send
fn outro_meta(&self) -> Option<PluginHookMeta>
fn render_chunk( &self, _ctx: &PluginContext, _args: &HookRenderChunkArgs<'_>, ) -> impl Future<Output = HookRenderChunkReturn> + Send
fn render_chunk_meta(&self) -> Option<PluginHookMeta>
fn augment_chunk_hash( &self, _ctx: &PluginContext, _chunk: Arc<RollupRenderedChunk>, ) -> impl Future<Output = HookAugmentChunkHashReturn> + Send
fn augment_chunk_hash_meta(&self) -> Option<PluginHookMeta>
fn resolve_file_url( &self, _ctx: &PluginContext, _args: &HookResolveFileUrlArgs<'_>, ) -> impl Future<Output = HookResolveFileUrlReturn> + Send
fn resolve_file_url_meta(&self) -> Option<PluginHookMeta>
fn render_error( &self, _ctx: &PluginContext, _args: &HookRenderErrorArgs<'_>, ) -> impl Future<Output = HookNoopReturn> + Send
fn render_error_meta(&self) -> Option<PluginHookMeta>
fn generate_bundle( &self, _ctx: &PluginContext, _args: &mut HookGenerateBundleArgs<'_>, ) -> impl Future<Output = HookNoopReturn> + Send
fn generate_bundle_meta(&self) -> Option<PluginHookMeta>
fn write_bundle( &self, _ctx: &PluginContext, _args: &mut HookWriteBundleArgs<'_>, ) -> impl Future<Output = HookNoopReturn> + Send
fn write_bundle_meta(&self) -> Option<PluginHookMeta>
fn close_bundle( &self, _ctx: &PluginContext, _args: Option<&HookCloseBundleArgs<'_>>, ) -> impl Future<Output = HookNoopReturn> + Send
fn close_bundle_meta(&self) -> Option<PluginHookMeta>
fn watch_change( &self, _ctx: &PluginContext, _path: &str, _event: WatcherChangeKind, ) -> impl Future<Output = HookNoopReturn> + Send
fn watch_change_meta(&self) -> Option<PluginHookMeta>
fn hot_update( &self, _ctx: &PluginContext, _args: &HookHotUpdateArgs, ) -> impl Future<Output = HookHotUpdateReturn> + Send
fn hot_update_meta(&self) -> Option<PluginHookMeta>
fn close_watcher( &self, _ctx: &PluginContext, ) -> impl Future<Output = HookNoopReturn> + Send
fn close_watcher_meta(&self) -> Option<PluginHookMeta>
fn transform_ast( &self, _ctx: &PluginContext, args: HookTransformAstArgs<'_>, ) -> impl Future<Output = HookTransformAstReturn> + Send
fn transform_ast_meta(&self) -> Option<PluginHookMeta>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".