Azure / Azure/cosmos-explorer

Decrease Coupling between Files

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.