refactor: move CSS and stylesheets out of DOM - #288
Conversation
|
@jderochervlk what's the motivation here? Make |
I'm trying to slim down
|
04bc9af to
7f73a98
Compare
|
Codex Review: Didn't find any major issues. Swish! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
f40f9c0 to
8778b35
Compare
9397ea5 to
cb8276a
Compare
ff94c26 to
f1e6e83
Compare
f1e6e83 to
d557d8f
Compare
bce0fe8 to
ae55d0b
Compare
ae55d0b to
d102951
Compare
d102951 to
aaec952
Compare
aaec952 to
3cc6249
Compare
3cc6249 to
9ed6dd7
Compare
9ed6dd7 to
ba1f7a8
Compare
ba1f7a8 to
561200c
Compare
561200c to
24c052f
Compare
24c052f to
419254a
Compare
419254a to
deabffd
Compare
deabffd to
d8b9d46
Compare
d8b9d46 to
7081f19
Compare
Tracking issue: #342 ## Summary - replace the temporary `DOMTree` aliases from #301 with the concrete recursive interface family - move the remaining shared non-tree types into `DOM` - update residual DOM, Canvas, observer, UI event, WebAudio, and test consumers - delete `DomTypes` and `MutationObserverTypes` ## Temporary state - this PR removes the compatibility scaffolding accumulated by #301 through #308; no `DomTypes`, `MutationObserverTypes`, or alias-backed `DOMTree` layer remains after it - CSS and stylesheet types remain in broad `DOM` for one final layer; #288 moves them to their owning modules - physical source-folder ownership is still temporary until the follow-up Option 5 folder/feature stack ## Review focus - correctness of the concrete recursive DOM type graph - residual consumer migrations and the absence of deleted compatibility references - whether the large change remains behavior-neutral despite needing to land atomically ## Verification - `npm run build` - `npm test` - `npm run format:check`
7081f19 to
0277aca
Compare
Tracking issue: #342 ## Stack context Part 1 of the Option 5 folder-feature stack. - Previous: #288 - Next: #312 (Event folder feature) Review this PR as the incremental diff against #288. It begins the structural stack after the flat interface/type extraction is complete. ## Summary - rename `src/Base` to the target `src/core` folder - move `EventType.res` into `core` beside the foundational event types in `DOM.res` - make the internal `DOM` feature include the complete `core` folder - simplify `WebAPI.DOM` to imply only the `DOM` folder feature - remove the one-file `EventType` feature slice and the exclusion required by the Event folder Public module paths remain `WebAPI.DOM` and `WebAPI.EventType`. ## Temporary state - the legacy `BaseFile`, `BaseFileAndDirectoryEntries`, `BaseCSSFontLoading`, and `BaseEncryptedMediaExtensions` helpers remain in `core` for now; later File, CSSFontLoading, and Media layers will move or replace them in their owning folders - the existing broad `src/DOM` source entry is still tagged as `WebAPI.DOM`; later DOM platform/node, HTML, Window, CSSOM, Geometry, SVG, Animation, Navigator, and Canvas layers will split it into unqualified folder features - because of that legacy source entry, the qualified public `WebAPI.DOM` selective build is not yet the final light bundle; the internal `DOM` folder feature itself compiles independently in this layer ## Review focus - whether `EventType` belongs in the foundational core needed by `DOM.EventListener` - removal of the module-slice exception without changing public module names - preservation of source behavior across the folder rename ## Verification - `node_modules/.bin/rescript clean` - `node_modules/.bin/rescript build --prod --features DOM` - `npm run build` - `npm test` - `npm run format:check` - `git diff --check`
Tracking issue: #342
Summary
CSSStyleDeclaration.trecord out of broadDOMand into its owning moduleStyleSheetas the owner of the stylesheet, CSS stylesheet, CSS rule, rule-list, initialization, and stylesheet operation typesCSSStyleSheetfeature member withStyleSheetTemporary state
Review focus
DOMVerification
npm run buildnpm testnpm run format:check