This idea was inspired due to a show stopper issue in a production-ready project caused by a newly added package that went unnoticed by other developers. One solution would be to notify all team members whenever a new package is added or updated in the project and provide an opportunity for discussion among developers to make an informed decision about adding a third-party package into the project.
What it does
As the name suggests, Package Notifier notifies you about the package changes that happen in your project. Currently, Package Notifier can be used on Node.js projects, which uses package.json file to manage its package dependencies. Whenever the package.json file is modified, a Message Card is sent to the configured Microsoft Teams channel containing the changed package details.
The following information will be available:
- GitHub stars
- Forks in GitHub
- Weekly downloads in npm
- Link to the public repository in GitHub
- Link to the npm package
Challenges we ran into
This is the first Microsoft Teams app developed by our team and it was a challenge to understand the features and functionality offered by Microsoft Teams connector and to develop an app within a span of 2 months.
What we learned
Got familiarized with Microsoft Teams, GitHub and Azure Repos webhooks and APIs.
What's next for Package Notifier
- Add more attributes to the notification such as license, test coverage percentage, bundle size, code frequency and allow user to customize selection according to preference.
- Support for other programming languages like C#, Java, C++
- Support for enterprise and private repositories
- Add dashboard where aggregated summary tiles will be displayed e.g. number of webhooks, number of packages added/removed etc.
- Suggest alternate packages when a new package is added
- List details of all the existing packages once the connector is created
- Provide warning notification for massive commit changes