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    fn create_module(
9        self: Vc<Self>,
10        source: Vc<Box<dyn Source>>,
11        module_asset_context: Vc<ModuleAssetContext>,
12        part: Option<ModulePart>,
13    ) -> Vc<Box<dyn Module>>;
14}