[rush] Refactor actions to async load all complex dependencies
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript
Research direction
Start by locating the various Rush CommandLineAction subclasses and their executeAsync methods. Check how the command-line parser, --help, and tab-complete paths load these actions; done means parameter definitions remain synchronously available while each action's business logic is moved behind an async executor import.
Written by the indexing model from the issue text.
Description
Summary
Refactor the various CommandLineAction subclasses in Rush so that the only logic synchronously included in the class is the definitions of the CLI parameters, and the actual business logic of the class is in an async imported executor.
The purpose of the exercise is to optimize the initial generation of the command line parser and the --help and tab-complete actions, as well as to remove large, complex dependencies from the loading path for actions that don't require them.
The executeAsync method should read values from the CLI arguments, then const { fooExecutor } = await import(/* webpackChunkName: 'foo-executor' */ './FooExecutor.js') then invoke the executor.
- Dominant language
- TypeScript
- Stars
- 6.5k
- Forks
- 708
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 62
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/rushstack
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
All issues in microsoft/rushstack
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
IBM/node-sdk-core#373 ·
-
e2e-failure ready-to-code
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
chore
Difficulty 2/5 1-3 hours Newbie friendliness 88/100