carloscuesta / carloscuesta/gitmoji-cli
Transition away from Flow to TypeScript
- Dominant language
- JavaScript
- Stars
- 4.8k
- Forks
- 212
- PR merge metrics
- No merged PRs in 30d
Description
### Discussion
Mostly just to open a discussion.
I personally feel like TypeScript has been winning the race against Flow (and has won) for the last couple of years. So might be worth the effort to convert everything to TS and then compile/bundle the code into JS with something like `tsup`. Should improve development speed and give more control over types.
### Validations
- [X] Follow our [Code of Conduct](https://github.com/carloscuesta/gitmoji-cli/blob/master/CODE_OF_CONDUCT.md)
- [X] Read the [Contributing Guide](https://github.com/carloscuesta/gitmoji-cli/blob/master/.github/CONTRIBUTING.md).
- [X] Check that there isn't already an issue requesting the same feature.
### To do
- [ ] src/constants/flags.js
- [ ] src/constants/commit.js
- [ ] src/constants/configuration.js
- [ ] src/utils/getDefaultCommitContent.js
- [ ] src/utils/filterGitmojis.js
- [ ] src/utils/getAbsoluteHooksPath.js
- [ ] src/utils/emojisCache.js
- [ ] src/utils/getEmojis.js
- [ ] src/utils/printEmojis.js
- [ ] src/utils/configurationVault/getConfiguration.js
- [ ] src/utils/configurationVault/index.js
- [ ] src/utils/findGitmojiCommand.js
- [ ] src/utils/isHookCreated.js
- [ ] src/utils/buildFetchOptions.js
- [ ] src/commands/commit/prompts.js
- [x] src/commands/commit/withClient/index.js
- [ ] src/commands/commit/index.js
- [ ] src/commands/commit/withHook/index.js
- [ ] src/commands/commit/guard.js
- [ ] src/commands/update/index.js
- [ ] src/commands/config/prompts.js
- [ ] src/commands/config/index.js
- [ ] src/commands/config/guard.js
- [ ] src/commands/index.js
- [ ] src/commands/search/index.js
- [ ] src/commands/list/index.js
- [ ] src/commands/hook/remove/index.js
- [ ] src/commands/hook/hook.js
- [ ] src/commands/hook/index.js
- [ ] src/commands/hook/create/index.js
- [ ] test/utils/emojisCache.spec.js
- [ ] test/utils/isHookCreated.spec.js
- [ ] test/utils/printEmojis.spec.js
- [ ] test/utils/getEmojis.spec.js
- [ ] test/utils/findGitmojiCommand.spec.js
- [ ] test/utils/configurationVault/vault.spec.js
- [ ] test/utils/configurationVault/getConfiguration.spec.js
- [ ] test/utils/configurationVault/defaults.spec.js
- [ ] test/utils/filterGitmojis.spec.js
- [ ] test/utils/buildFetchOptions.spec.js
- [ ] test/utils/getAbsoluteHooksPath.spec.js
- [ ] test/utils/stubs.js
- [ ] test/utils/getDefaultCommitContent.spec.js
- [ ] test/commands/commit.spec.js
- [ ] test/commands/update.spec.js
- [ ] test/commands/search.spec.js
- [ ] test/commands/hook.spec.js
- [ ] test/commands/list.spec.js
- [ ] test/commands/config.spec.js
- [ ] test/commands/stubs.js
- [ ] test/commands/commands.spec.js
- [ ] test/setupTests.js
Contributor guide
Research direction
Review the unchecked source and test paths listed in the issue, starting with src/commands/commit/withClient/index.js, the only completed entry. Establish the TypeScript and bundling approach from the remaining scope, then verify the listed command and utility tests; the migration is done when the checklist is complete and those tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- build-system, cli
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 22/100