From dbdf2743e661d1d9db0efcf60e5419a8afe5d204 Mon Sep 17 00:00:00 2001 From: Josh Vlk Date: Mon, 3 Aug 2026 16:49:25 -0400 Subject: [PATCH] refactor: establish HTML folder feature --- rescript.json | 23 +++++++++++++------ src/{DOM => html}/HTMLAnchorElement.res | 0 src/{DOM => html}/HTMLAreaElement.res | 0 src/{DOM => html}/HTMLBRElement.res | 0 src/{DOM => html}/HTMLBaseElement.res | 0 src/{DOM => html}/HTMLBodyElement.res | 0 src/{DOM => html}/HTMLButtonElement.res | 0 src/{DOM => html}/HTMLDListElement.res | 0 src/{DOM => html}/HTMLDataElement.res | 0 src/{DOM => html}/HTMLDataListElement.res | 0 src/{DOM => html}/HTMLDialogElement.res | 0 src/{DOM => html}/HTMLDivElement.res | 0 src/{DOM => html}/HTMLElement.res | 0 src/{DOM => html}/HTMLEmbedElement.res | 0 src/{DOM => html}/HTMLFieldSetElement.res | 0 .../HTMLFormControlsCollection.res | 0 src/{DOM => html}/HTMLFormElement.res | 0 src/{DOM => html}/HTMLFrameSetElement.res | 0 src/{DOM => html}/HTMLHRElement.res | 0 src/{DOM => html}/HTMLHeadElement.res | 0 src/{DOM => html}/HTMLHeadingElement.res | 0 src/{DOM => html}/HTMLHtmlElement.res | 0 src/{DOM => html}/HTMLIFrameElement.res | 0 src/{DOM => html}/HTMLImageElement.res | 0 src/{DOM => html}/HTMLInputElement.res | 0 src/{DOM => html}/HTMLLIElement.res | 0 src/{DOM => html}/HTMLLabelElement.res | 0 src/{DOM => html}/HTMLLegendElement.res | 0 src/{DOM => html}/HTMLLinkElement.res | 0 src/{DOM => html}/HTMLMapElement.res | 0 src/{DOM => html}/HTMLMenuElement.res | 0 src/{DOM => html}/HTMLMetaElement.res | 0 src/{DOM => html}/HTMLMeterElement.res | 0 src/{DOM => html}/HTMLModElement.res | 0 src/{DOM => html}/HTMLOListElement.res | 0 src/{DOM => html}/HTMLObjectElement.res | 0 src/{DOM => html}/HTMLOptGroupElement.res | 0 src/{DOM => html}/HTMLOptionElement.res | 0 src/{DOM => html}/HTMLOptionsCollection.res | 0 src/{DOM => html}/HTMLOutputElement.res | 0 src/{DOM => html}/HTMLParagraphElement.res | 0 src/{DOM => html}/HTMLPictureElement.res | 0 src/{DOM => html}/HTMLPreElement.res | 0 src/{DOM => html}/HTMLProgressElement.res | 0 src/{DOM => html}/HTMLQuoteElement.res | 0 src/{DOM => html}/HTMLScriptElement.res | 0 src/{DOM => html}/HTMLSelectElement.res | 0 src/{DOM => html}/HTMLSlotElement.res | 0 src/{DOM => html}/HTMLSourceElement.res | 0 src/{DOM => html}/HTMLSpanElement.res | 0 src/{DOM => html}/HTMLStyleElement.res | 0 src/{DOM => html}/HTMLTableCaptionElement.res | 0 src/{DOM => html}/HTMLTableCellElement.res | 0 src/{DOM => html}/HTMLTableElement.res | 0 src/{DOM => html}/HTMLTableRowElement.res | 0 src/{DOM => html}/HTMLTableSectionElement.res | 0 src/{DOM => html}/HTMLTemplateElement.res | 0 src/{DOM => html}/HTMLTextAreaElement.res | 0 src/{DOM => html}/HTMLTimeElement.res | 0 src/{DOM => html}/HTMLTitleElement.res | 0 src/{DOM => html}/HTMLUListElement.res | 0 src/{DOM => html}/HTMLUnknownElement.res | 0 62 files changed, 16 insertions(+), 7 deletions(-) rename src/{DOM => html}/HTMLAnchorElement.res (100%) rename src/{DOM => html}/HTMLAreaElement.res (100%) rename src/{DOM => html}/HTMLBRElement.res (100%) rename src/{DOM => html}/HTMLBaseElement.res (100%) rename src/{DOM => html}/HTMLBodyElement.res (100%) rename src/{DOM => html}/HTMLButtonElement.res (100%) rename src/{DOM => html}/HTMLDListElement.res (100%) rename src/{DOM => html}/HTMLDataElement.res (100%) rename src/{DOM => html}/HTMLDataListElement.res (100%) rename src/{DOM => html}/HTMLDialogElement.res (100%) rename src/{DOM => html}/HTMLDivElement.res (100%) rename src/{DOM => html}/HTMLElement.res (100%) rename src/{DOM => html}/HTMLEmbedElement.res (100%) rename src/{DOM => html}/HTMLFieldSetElement.res (100%) rename src/{DOM => html}/HTMLFormControlsCollection.res (100%) rename src/{DOM => html}/HTMLFormElement.res (100%) rename src/{DOM => html}/HTMLFrameSetElement.res (100%) rename src/{DOM => html}/HTMLHRElement.res (100%) rename src/{DOM => html}/HTMLHeadElement.res (100%) rename src/{DOM => html}/HTMLHeadingElement.res (100%) rename src/{DOM => html}/HTMLHtmlElement.res (100%) rename src/{DOM => html}/HTMLIFrameElement.res (100%) rename src/{DOM => html}/HTMLImageElement.res (100%) rename src/{DOM => html}/HTMLInputElement.res (100%) rename src/{DOM => html}/HTMLLIElement.res (100%) rename src/{DOM => html}/HTMLLabelElement.res (100%) rename src/{DOM => html}/HTMLLegendElement.res (100%) rename src/{DOM => html}/HTMLLinkElement.res (100%) rename src/{DOM => html}/HTMLMapElement.res (100%) rename src/{DOM => html}/HTMLMenuElement.res (100%) rename src/{DOM => html}/HTMLMetaElement.res (100%) rename src/{DOM => html}/HTMLMeterElement.res (100%) rename src/{DOM => html}/HTMLModElement.res (100%) rename src/{DOM => html}/HTMLOListElement.res (100%) rename src/{DOM => html}/HTMLObjectElement.res (100%) rename src/{DOM => html}/HTMLOptGroupElement.res (100%) rename src/{DOM => html}/HTMLOptionElement.res (100%) rename src/{DOM => html}/HTMLOptionsCollection.res (100%) rename src/{DOM => html}/HTMLOutputElement.res (100%) rename src/{DOM => html}/HTMLParagraphElement.res (100%) rename src/{DOM => html}/HTMLPictureElement.res (100%) rename src/{DOM => html}/HTMLPreElement.res (100%) rename src/{DOM => html}/HTMLProgressElement.res (100%) rename src/{DOM => html}/HTMLQuoteElement.res (100%) rename src/{DOM => html}/HTMLScriptElement.res (100%) rename src/{DOM => html}/HTMLSelectElement.res (100%) rename src/{DOM => html}/HTMLSlotElement.res (100%) rename src/{DOM => html}/HTMLSourceElement.res (100%) rename src/{DOM => html}/HTMLSpanElement.res (100%) rename src/{DOM => html}/HTMLStyleElement.res (100%) rename src/{DOM => html}/HTMLTableCaptionElement.res (100%) rename src/{DOM => html}/HTMLTableCellElement.res (100%) rename src/{DOM => html}/HTMLTableElement.res (100%) rename src/{DOM => html}/HTMLTableRowElement.res (100%) rename src/{DOM => html}/HTMLTableSectionElement.res (100%) rename src/{DOM => html}/HTMLTemplateElement.res (100%) rename src/{DOM => html}/HTMLTextAreaElement.res (100%) rename src/{DOM => html}/HTMLTimeElement.res (100%) rename src/{DOM => html}/HTMLTitleElement.res (100%) rename src/{DOM => html}/HTMLUListElement.res (100%) rename src/{DOM => html}/HTMLUnknownElement.res (100%) diff --git a/rescript.json b/rescript.json index 5bc0ce2b..95a701e2 100644 --- a/rescript.json +++ b/rescript.json @@ -15,6 +15,7 @@ "WebAPI.Geometry", "DOMNodes" ], + "WebAPI.HTML": ["WebAPI.DOMNodes", "WebAPI.File", "HTML"], "WebAPI.File": ["WebAPI.Event", "File"], "WebAPI.URL": ["WebAPI.DOM", "URL"], "WebAPI.Fetch": ["WebAPI.Event", "WebAPI.File", "WebAPI.URL", "Fetch"], @@ -179,16 +180,12 @@ ] }, { - "dir": "src/DOM", + "dir": "src/html", "subdirs": true, - "feature": "WebAPI.DOM", + "feature": "HTML", "public": [ - "CustomElementRegistry", - "Document", - "DomHTMLMediaElement", "HTMLAnchorElement", "HTMLAreaElement", - "HTMLAudioElement", "HTMLBRElement", "HTMLBaseElement", "HTMLBodyElement", @@ -246,8 +243,20 @@ "HTMLTextAreaElement", "HTMLTimeElement", "HTMLTitleElement", - "HTMLTrackElement", "HTMLUListElement", + "HTMLUnknownElement" + ] + }, + { + "dir": "src/DOM", + "subdirs": true, + "feature": "WebAPI.DOM", + "public": [ + "CustomElementRegistry", + "Document", + "DomHTMLMediaElement", + "HTMLAudioElement", + "HTMLTrackElement", "HTMLVideoElement", "IdleDeadline", "ImageData", diff --git a/src/DOM/HTMLAnchorElement.res b/src/html/HTMLAnchorElement.res similarity index 100% rename from src/DOM/HTMLAnchorElement.res rename to src/html/HTMLAnchorElement.res diff --git a/src/DOM/HTMLAreaElement.res b/src/html/HTMLAreaElement.res similarity index 100% rename from src/DOM/HTMLAreaElement.res rename to src/html/HTMLAreaElement.res diff --git a/src/DOM/HTMLBRElement.res b/src/html/HTMLBRElement.res similarity index 100% rename from src/DOM/HTMLBRElement.res rename to src/html/HTMLBRElement.res diff --git a/src/DOM/HTMLBaseElement.res b/src/html/HTMLBaseElement.res similarity index 100% rename from src/DOM/HTMLBaseElement.res rename to src/html/HTMLBaseElement.res diff --git a/src/DOM/HTMLBodyElement.res b/src/html/HTMLBodyElement.res similarity index 100% rename from src/DOM/HTMLBodyElement.res rename to src/html/HTMLBodyElement.res diff --git a/src/DOM/HTMLButtonElement.res b/src/html/HTMLButtonElement.res similarity index 100% rename from src/DOM/HTMLButtonElement.res rename to src/html/HTMLButtonElement.res diff --git a/src/DOM/HTMLDListElement.res b/src/html/HTMLDListElement.res similarity index 100% rename from src/DOM/HTMLDListElement.res rename to src/html/HTMLDListElement.res diff --git a/src/DOM/HTMLDataElement.res b/src/html/HTMLDataElement.res similarity index 100% rename from src/DOM/HTMLDataElement.res rename to src/html/HTMLDataElement.res diff --git a/src/DOM/HTMLDataListElement.res b/src/html/HTMLDataListElement.res similarity index 100% rename from src/DOM/HTMLDataListElement.res rename to src/html/HTMLDataListElement.res diff --git a/src/DOM/HTMLDialogElement.res b/src/html/HTMLDialogElement.res similarity index 100% rename from src/DOM/HTMLDialogElement.res rename to src/html/HTMLDialogElement.res diff --git a/src/DOM/HTMLDivElement.res b/src/html/HTMLDivElement.res similarity index 100% rename from src/DOM/HTMLDivElement.res rename to src/html/HTMLDivElement.res diff --git a/src/DOM/HTMLElement.res b/src/html/HTMLElement.res similarity index 100% rename from src/DOM/HTMLElement.res rename to src/html/HTMLElement.res diff --git a/src/DOM/HTMLEmbedElement.res b/src/html/HTMLEmbedElement.res similarity index 100% rename from src/DOM/HTMLEmbedElement.res rename to src/html/HTMLEmbedElement.res diff --git a/src/DOM/HTMLFieldSetElement.res b/src/html/HTMLFieldSetElement.res similarity index 100% rename from src/DOM/HTMLFieldSetElement.res rename to src/html/HTMLFieldSetElement.res diff --git a/src/DOM/HTMLFormControlsCollection.res b/src/html/HTMLFormControlsCollection.res similarity index 100% rename from src/DOM/HTMLFormControlsCollection.res rename to src/html/HTMLFormControlsCollection.res diff --git a/src/DOM/HTMLFormElement.res b/src/html/HTMLFormElement.res similarity index 100% rename from src/DOM/HTMLFormElement.res rename to src/html/HTMLFormElement.res diff --git a/src/DOM/HTMLFrameSetElement.res b/src/html/HTMLFrameSetElement.res similarity index 100% rename from src/DOM/HTMLFrameSetElement.res rename to src/html/HTMLFrameSetElement.res diff --git a/src/DOM/HTMLHRElement.res b/src/html/HTMLHRElement.res similarity index 100% rename from src/DOM/HTMLHRElement.res rename to src/html/HTMLHRElement.res diff --git a/src/DOM/HTMLHeadElement.res b/src/html/HTMLHeadElement.res similarity index 100% rename from src/DOM/HTMLHeadElement.res rename to src/html/HTMLHeadElement.res diff --git a/src/DOM/HTMLHeadingElement.res b/src/html/HTMLHeadingElement.res similarity index 100% rename from src/DOM/HTMLHeadingElement.res rename to src/html/HTMLHeadingElement.res diff --git a/src/DOM/HTMLHtmlElement.res b/src/html/HTMLHtmlElement.res similarity index 100% rename from src/DOM/HTMLHtmlElement.res rename to src/html/HTMLHtmlElement.res diff --git a/src/DOM/HTMLIFrameElement.res b/src/html/HTMLIFrameElement.res similarity index 100% rename from src/DOM/HTMLIFrameElement.res rename to src/html/HTMLIFrameElement.res diff --git a/src/DOM/HTMLImageElement.res b/src/html/HTMLImageElement.res similarity index 100% rename from src/DOM/HTMLImageElement.res rename to src/html/HTMLImageElement.res diff --git a/src/DOM/HTMLInputElement.res b/src/html/HTMLInputElement.res similarity index 100% rename from src/DOM/HTMLInputElement.res rename to src/html/HTMLInputElement.res diff --git a/src/DOM/HTMLLIElement.res b/src/html/HTMLLIElement.res similarity index 100% rename from src/DOM/HTMLLIElement.res rename to src/html/HTMLLIElement.res diff --git a/src/DOM/HTMLLabelElement.res b/src/html/HTMLLabelElement.res similarity index 100% rename from src/DOM/HTMLLabelElement.res rename to src/html/HTMLLabelElement.res diff --git a/src/DOM/HTMLLegendElement.res b/src/html/HTMLLegendElement.res similarity index 100% rename from src/DOM/HTMLLegendElement.res rename to src/html/HTMLLegendElement.res diff --git a/src/DOM/HTMLLinkElement.res b/src/html/HTMLLinkElement.res similarity index 100% rename from src/DOM/HTMLLinkElement.res rename to src/html/HTMLLinkElement.res diff --git a/src/DOM/HTMLMapElement.res b/src/html/HTMLMapElement.res similarity index 100% rename from src/DOM/HTMLMapElement.res rename to src/html/HTMLMapElement.res diff --git a/src/DOM/HTMLMenuElement.res b/src/html/HTMLMenuElement.res similarity index 100% rename from src/DOM/HTMLMenuElement.res rename to src/html/HTMLMenuElement.res diff --git a/src/DOM/HTMLMetaElement.res b/src/html/HTMLMetaElement.res similarity index 100% rename from src/DOM/HTMLMetaElement.res rename to src/html/HTMLMetaElement.res diff --git a/src/DOM/HTMLMeterElement.res b/src/html/HTMLMeterElement.res similarity index 100% rename from src/DOM/HTMLMeterElement.res rename to src/html/HTMLMeterElement.res diff --git a/src/DOM/HTMLModElement.res b/src/html/HTMLModElement.res similarity index 100% rename from src/DOM/HTMLModElement.res rename to src/html/HTMLModElement.res diff --git a/src/DOM/HTMLOListElement.res b/src/html/HTMLOListElement.res similarity index 100% rename from src/DOM/HTMLOListElement.res rename to src/html/HTMLOListElement.res diff --git a/src/DOM/HTMLObjectElement.res b/src/html/HTMLObjectElement.res similarity index 100% rename from src/DOM/HTMLObjectElement.res rename to src/html/HTMLObjectElement.res diff --git a/src/DOM/HTMLOptGroupElement.res b/src/html/HTMLOptGroupElement.res similarity index 100% rename from src/DOM/HTMLOptGroupElement.res rename to src/html/HTMLOptGroupElement.res diff --git a/src/DOM/HTMLOptionElement.res b/src/html/HTMLOptionElement.res similarity index 100% rename from src/DOM/HTMLOptionElement.res rename to src/html/HTMLOptionElement.res diff --git a/src/DOM/HTMLOptionsCollection.res b/src/html/HTMLOptionsCollection.res similarity index 100% rename from src/DOM/HTMLOptionsCollection.res rename to src/html/HTMLOptionsCollection.res diff --git a/src/DOM/HTMLOutputElement.res b/src/html/HTMLOutputElement.res similarity index 100% rename from src/DOM/HTMLOutputElement.res rename to src/html/HTMLOutputElement.res diff --git a/src/DOM/HTMLParagraphElement.res b/src/html/HTMLParagraphElement.res similarity index 100% rename from src/DOM/HTMLParagraphElement.res rename to src/html/HTMLParagraphElement.res diff --git a/src/DOM/HTMLPictureElement.res b/src/html/HTMLPictureElement.res similarity index 100% rename from src/DOM/HTMLPictureElement.res rename to src/html/HTMLPictureElement.res diff --git a/src/DOM/HTMLPreElement.res b/src/html/HTMLPreElement.res similarity index 100% rename from src/DOM/HTMLPreElement.res rename to src/html/HTMLPreElement.res diff --git a/src/DOM/HTMLProgressElement.res b/src/html/HTMLProgressElement.res similarity index 100% rename from src/DOM/HTMLProgressElement.res rename to src/html/HTMLProgressElement.res diff --git a/src/DOM/HTMLQuoteElement.res b/src/html/HTMLQuoteElement.res similarity index 100% rename from src/DOM/HTMLQuoteElement.res rename to src/html/HTMLQuoteElement.res diff --git a/src/DOM/HTMLScriptElement.res b/src/html/HTMLScriptElement.res similarity index 100% rename from src/DOM/HTMLScriptElement.res rename to src/html/HTMLScriptElement.res diff --git a/src/DOM/HTMLSelectElement.res b/src/html/HTMLSelectElement.res similarity index 100% rename from src/DOM/HTMLSelectElement.res rename to src/html/HTMLSelectElement.res diff --git a/src/DOM/HTMLSlotElement.res b/src/html/HTMLSlotElement.res similarity index 100% rename from src/DOM/HTMLSlotElement.res rename to src/html/HTMLSlotElement.res diff --git a/src/DOM/HTMLSourceElement.res b/src/html/HTMLSourceElement.res similarity index 100% rename from src/DOM/HTMLSourceElement.res rename to src/html/HTMLSourceElement.res diff --git a/src/DOM/HTMLSpanElement.res b/src/html/HTMLSpanElement.res similarity index 100% rename from src/DOM/HTMLSpanElement.res rename to src/html/HTMLSpanElement.res diff --git a/src/DOM/HTMLStyleElement.res b/src/html/HTMLStyleElement.res similarity index 100% rename from src/DOM/HTMLStyleElement.res rename to src/html/HTMLStyleElement.res diff --git a/src/DOM/HTMLTableCaptionElement.res b/src/html/HTMLTableCaptionElement.res similarity index 100% rename from src/DOM/HTMLTableCaptionElement.res rename to src/html/HTMLTableCaptionElement.res diff --git a/src/DOM/HTMLTableCellElement.res b/src/html/HTMLTableCellElement.res similarity index 100% rename from src/DOM/HTMLTableCellElement.res rename to src/html/HTMLTableCellElement.res diff --git a/src/DOM/HTMLTableElement.res b/src/html/HTMLTableElement.res similarity index 100% rename from src/DOM/HTMLTableElement.res rename to src/html/HTMLTableElement.res diff --git a/src/DOM/HTMLTableRowElement.res b/src/html/HTMLTableRowElement.res similarity index 100% rename from src/DOM/HTMLTableRowElement.res rename to src/html/HTMLTableRowElement.res diff --git a/src/DOM/HTMLTableSectionElement.res b/src/html/HTMLTableSectionElement.res similarity index 100% rename from src/DOM/HTMLTableSectionElement.res rename to src/html/HTMLTableSectionElement.res diff --git a/src/DOM/HTMLTemplateElement.res b/src/html/HTMLTemplateElement.res similarity index 100% rename from src/DOM/HTMLTemplateElement.res rename to src/html/HTMLTemplateElement.res diff --git a/src/DOM/HTMLTextAreaElement.res b/src/html/HTMLTextAreaElement.res similarity index 100% rename from src/DOM/HTMLTextAreaElement.res rename to src/html/HTMLTextAreaElement.res diff --git a/src/DOM/HTMLTimeElement.res b/src/html/HTMLTimeElement.res similarity index 100% rename from src/DOM/HTMLTimeElement.res rename to src/html/HTMLTimeElement.res diff --git a/src/DOM/HTMLTitleElement.res b/src/html/HTMLTitleElement.res similarity index 100% rename from src/DOM/HTMLTitleElement.res rename to src/html/HTMLTitleElement.res diff --git a/src/DOM/HTMLUListElement.res b/src/html/HTMLUListElement.res similarity index 100% rename from src/DOM/HTMLUListElement.res rename to src/html/HTMLUListElement.res diff --git a/src/DOM/HTMLUnknownElement.res b/src/html/HTMLUnknownElement.res similarity index 100% rename from src/DOM/HTMLUnknownElement.res rename to src/html/HTMLUnknownElement.res