getodk / getodk/web-forms

Refactor @getodk/webform 2/2

Open
#193 0 comments 0 reactions 0 assignees View on GitHub
front-end
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.