mattermost / mattermost/mattermost-plugin-gitlab
Convert team_sidebar component to typescript
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 152
- Forks
- 97
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 8
Description
We plan to migrate the gitlab plugin webapp over to TypeScript to facilitate better code quality. This Help Wanted issue is to modify the above mentioned file and associate test files (if the file exists).
Below is a checklist of items you should be doing to migrate:
- Rename the files to their associated TypeScript extensions (ie. js to ts, jsx to tsx).
- Add relevant types in the component(s) code.
- Update any components using those to the correct imports.
- Fix any errors generated by the TypeScript compiler. You can run rpm run check-types to display any errors.
We are aiming to be as strict as possible for the time being, but if you run into any issues where the file cannot be successfully migrated without significant change in other libraries, or our tsconfig.json, please feel free to raise them as we are aiming to keep this process smooth and gradual, while enforcing as much as we can.
Some examples of already migrated files can be found here:
- https://github.com/mattermost/mattermost/pull/23977
Contributor guide
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.
Research direction
Locate the team_sidebar component and any associated test files, then review the TypeScript migration examples linked in the issue. Rename the relevant JavaScript files, add types, update imports, and run `npm run check-types`; done means the component and its tests compile without TypeScript errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- frontend, web-dev
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100