Decrease Coupling between Files
- Dominant language
- TypeScript
- Stars
- 131
- Forks
- 67
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 10
Description
@languy and I had a chat today about how we make better progress on migrating to React, strict mode TypeScript, and full ESlint. Incremental progress has been challenging due to how highly coupled our code is. There is coupling in code, but also between files, that makes incremental change hard. We brainstormed some changes that we think will help decrease coupling:
- Remove ViewModels where there is only one implementation
- Split up the ViewModels.ts file
- Remove OpenActionsStubs and replace with a jest mock for explorer
- Migrated the entire Hosted explorer wrapper to React
- Migrate the entire Emulator wrapper to React
- Remove Sinon (Lower priority. May not reduce coupling)
- Split up DataModels.ts file
Contributor guide
Research direction
Start by reviewing ViewModels.ts, DataModels.ts, OpenActionsStubs, and the Hosted explorer and Emulator wrappers to understand the file coupling described. The issue provides no failing test or concrete acceptance criteria, so a viable contribution would first need a narrowly scoped migration target and a way to verify reduced coupling while preserving the React, strict TypeScript, and ESLint goals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- eslint, react, typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100