Refactor @getodk/webform 2/2
- Dominant language
- TypeScript
- Stars
- 38
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
From https://github.com/getodk/web-forms/pull/164#issuecomment-2297309308
- [ ] When using provide/inject, would be nice to establish a pattern where they use normal references so the connection between provided/injected state can be followed in editor, and types can be defined in provide. I did a quick spike on this not long ago and it seemed possible, happy to dig up the stash if there’s interest.
- [ ] Events make me nervous for reasons similar to provide/inject. They seem a bit easier to follow at component boundaries, but the lack of clear types with a single source of truth is still concerning.
- [ ] The tooling boundary between .vue and .ts modules is a continuing headache. Common case: TS/ESLint differing on whether a type is any. Case that stood out here: props interface exported from component, referenced in test. Would like to consider other approaches that minimize this. And/or set aside some time to see if any tooling updates address these shortcomings.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the discussion in pull request 164 and review the three proposed areas: provide/inject state, component events, and the tooling boundary between .vue and .ts modules. Investigate whether existing patterns or tooling updates address the concerns, then define a focused scope and completion criteria before changing code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100