Create a feature toggle system for the toolkit
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 807
- Avg merge
- 10h 12m
- Merged PRs (30d)
- 7
Description
We have changed our development methodology to only use one branch (`master`) with increased testing in order to avoid drift (so we don't have massive merges like with the .NET debugging feature branch). In order to keep branches in sync and avoid feature branches, we need to implement some sort of feature toggle system so we can develop new features in a hidden state.
Acceptance criteria:
* A functional feature toggle system that can operate over the whole codebase
* Feature toggles implemented through undocumented settings in the settings.json file. Settings do not need to be documented in the extension's package.json `contributing` section in order to be used.
* Settings will take on the following syntax:
```
{
...
"aws.toggle.newFeature1": true,
...
}
```
Contributor guide
Research direction
Start by locating how the toolkit reads settings.json and how settings are registered in the extension's package.json. Review the feature-toggle requirements across the codebase, then determine the scope and test strategy needed for toggles using the aws.toggle.* syntax. Done means a functional system can hide new features across the codebase without requiring documented package.json settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100