getodk / getodk/web-forms

Eliminate remaining engine use of DOM APIs

Open
#351 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
38
Forks
22
PR merge metrics
No merged PRs in 30d

Description

Filing a quick stub issue so I have something to link. The intent of this is to stop using `Document` and other `Node` APIs descending from it (which is _mostly_ restricted to `XFormDOM` and anything still referencing it beyond wrapping its structures in our "static-dom" abstraction).

The intent is **not** to eliminate the engine's use of the TypeScript "DOM" `lib`. Unfortunately, those types account for a wide variety of web standard interfaces well beyond what anyone calls the "DOM" (which is reflected in the newer `@types/web` package where the default source for those types now live). And we use _many of those other types_ extensively, and will likely continue to do for the foreseeable future.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating XFormDOM and all engine references to Document and other Node APIs. Inventory which uses must move behind the static-dom abstraction; done means those engine APIs are eliminated without removing TypeScript's broader DOM library types.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.