// The HTML-Module is an internal helper structure to track the processing of an HTML file // This is intended to be serialized into chunk-meta, so it can be cached. (thus keep any functions and circular references out of it) // TODO: Actually making this serialiable (check rollupResolved, node, as we might no longer need them) import type { ModuleInfo, ResolvedId, } from 'rollup'; import type { LoadedReference } from "../types/load.d.ts"; import {DefaultTreeAdapterMap} from "parse5"; // Internal type export type HtmlImport = LoadedReference & { id: string; resolved: ResolvedId|null; // loaded: ModuleInfo|null; node: DefaultTreeAdapterMap['element']; referenceId: string|null; placeholder: string, index: number; } export type HtmlModule = { // TODO might want to impose an own unique id, in case this changes after multiple builds id: string; name: string; importers: Set, imports: HtmlImport[]; assetId?: string|null; document?: DefaultTreeAdapterMap['document']; }