Skip to content

refactor: establish DOM core folder - #311

Merged
jderochervlk merged 2 commits into
mainfrom
codex/option5-dom-core
Aug 7, 2026
Merged

refactor: establish DOM core folder#311
jderochervlk merged 2 commits into
mainfrom
codex/option5-dom-core

Conversation

@jderochervlk

@jderochervlk jderochervlk commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Tracking issue: #342

Stack context

Part 1 of the Option 5 folder-feature stack.

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

Copy link
Copy Markdown
Collaborator Author

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 571359f038

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 52392bb to daa0a50 Compare August 7, 2026 13:32
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from daa0a50 to a6f9c59 Compare August 7, 2026 13:44
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from a6f9c59 to 64a5d59 Compare August 7, 2026 13:45
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 64a5d59 to cedbde9 Compare August 7, 2026 13:50
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from cedbde9 to 3676db1 Compare August 7, 2026 13:54
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 3676db1 to 274b244 Compare August 7, 2026 13:56
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 274b244 to 20f411d Compare August 7, 2026 13:57
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 20f411d to df7c640 Compare August 7, 2026 13:58
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from df7c640 to 8bb620b Compare August 7, 2026 13:59
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 8bb620b to 7e1a7cf Compare August 7, 2026 14:00
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 7e1a7cf to 3485614 Compare August 7, 2026 14:00
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from 3485614 to c9250c6 Compare August 7, 2026 14:03
Base automatically changed from refactor-css to main August 7, 2026 14:04
@jderochervlk
jderochervlk force-pushed the codex/option5-dom-core branch from c9250c6 to f800a62 Compare August 7, 2026 14:04
@jderochervlk
jderochervlk merged commit f405212 into main Aug 7, 2026
jderochervlk added a commit that referenced this pull request Aug 7, 2026
Tracking issue: #342

## Stack context

Part 2 of the Option 5 folder-feature stack.

- Previous: #311
- Next: a separate DOM platform/node folder layer

Review this PR as the incremental diff against #311.

## Summary

- rename `src/Event` to the target `src/event` folder
- keep the complete folder on the unqualified internal `Event` feature
- preserve the `WebAPI.Event` implication of `WebAPI.DOM` plus `Event`
- leave all public module names and binding signatures unchanged

After #311 moved `EventType` into the DOM foundation, this folder now
contains the complete event and abort interface bundle without file
exclusions or module slices.

## Temporary state

- this PR does not introduce compatibility aliases or partial folder
membership; the lowercase Event folder is the intended final ownership
- the qualified public-feature selective build remains broader than its
final shape while the legacy `src/DOM` entry is still tagged
`WebAPI.DOM`; later DOM folder layers remove that temporary collision

## Review focus

- final Event folder membership
- preservation of the public `WebAPI.Event` dependency and flat module
paths
- confirming this is a path/configuration-only change

## Verification

- `node_modules/.bin/rescript clean`
- `node_modules/.bin/rescript build --prod --features DOM,Event`
- `npm run build`
- `npm test`
- `npm run format:check`
- `git diff --check`
jderochervlk added a commit that referenced this pull request Aug 7, 2026
Tracking issue: #342

## Stack context

Part 8 of the Option 5 folder-feature stack.

- Previous: #317
- Next: another dependency-clean domain folder

Review this PR as the incremental diff against #317.

## Summary

- rename `src/CSSFontLoading` to the target `src/css-font-loading`
folder
- move `BaseCSSFontLoading` out of `core` and into its owning complete
folder
- change the folder to the unqualified internal `CSSFontLoading` feature
- add the supported `WebAPI.CSSFontLoading` feature with its
`WebAPI.Event` dependency
- preserve the flat `WebAPI.FontFace` and `WebAPI.FontFaceSet` public
modules

## Temporary state

- this PR removes the temporary `BaseCSSFontLoading` placement
documented in #311
- the internal `BaseCSSFontLoading` and `CssFontLoadingTypes`
aggregation remains inside the correct folder; any final type colocation
is deferred to cleanup
- no file exclusions or module slices are introduced

## Review focus

- the `WebAPI.CSSFontLoading -> WebAPI.Event + CSSFontLoading`
implication
- complete folder membership, including the formerly foundational helper
- unchanged public module paths and signatures

## Verification

- `node_modules/.bin/rescript clean`
- `node_modules/.bin/rescript build --prod --features
DOM,Event,CSSFontLoading`
- `npm run build`
- `npm test`
- `npm run format:check`
- `git diff --check`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants