karma-runner / karma-runner/karma
Centralize the `update-contributors` utility
- Dominant language
- JavaScript
- Stars
- 12k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
Updating the contributors in the corresponding field of the `package.json` file is one of the tasks that CD undertakes in every release of at least the [Karma core][karma-core-uc] and the [Karma Chrome Launcher plugin][karma-chrome-launcher-uc]. However, the implementation for that tool is duplicated in at least each of the aforementioned repositories; code duplication is a bad practice and the proposal would be to centralize the implementation of the tool under the Karma Runner org and release it as an npm module under the @karma [scope][npm-scope] (e.g. @karma/update-contributors). An alternative is to use an existing npm module that does this; a list of potential options follows, but they have been stale for a while.
Some existing tools for this task already exist:
* https://github.com/flo-sch/semantic-release-contributors
* https://github.com/doowb/update-contributors
[karma-core-uc]: https://github.com/karma-runner/karma/blob/master/release.config.js#L11
[karma-chrome-launcher-uc]: https://github.com/karma-runner/karma-chrome-launcher/blob/master/release.config.js#L9
[npm-scope]: https://docs.npmjs.com/cli/v8/using-npm/scope
Contributor guide
Research direction
Start with the update-contributors entries in release.config.js for Karma core and Karma Chrome Launcher, then compare the existing implementations and the listed npm modules. Define whether to centralize a new @karma/update-contributors package or adopt an existing module; done means the duplicated release logic is replaced consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- release, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100