turbopack/module_options/
custom_module_type.rs

1use turbo_tasks::Vc;
2use turbopack_core::{module::Module, resolve::ModulePart, source::Source};
3
4use crate::ModuleAssetContext;
5
6#[turbo_tasks::value_trait]
7pub trait CustomModuleType {
8    #[turbo_tasks::function]
9    fn create_module(
10        self: Vc<Self>,
11        source: Vc<Box<dyn Source>>,
12        module_asset_context: Vc<ModuleAssetContext>,
13        part: Option<ModulePart>,
14    ) -> Vc<Box<dyn Module>>;
15}