handlebars-lang / handlebars-lang/handlebars.js

Dependency Management Automation

Open
#1,676 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
18.7k
Forks
2.1k
PR merge metrics
No merged PRs in 30d

Description

_Note: this issue is a port of https://github.com/NerdWalletOSS/shepherd/issues/111_

## Narrative

As a maintainer of Handlebars, I want a quick and easy way to keep dependencies up-to-date and reduce the level-of-effort associated with the corresponding releases.

## Proposed Change

The proposed change is to integrate renovate, renovate approve, semantic commits, and semantic-releases.

With the right combination of settings across these four Github apps, CI/CD can take care of updating minor and patch dependencies (relative to the semantic commit message), approving and merging of the corresponding PRs, publishing a new tag version, and finally updating release notes (if needed) and changelog.

## Technical Details
- Use github workflows
- Add `GH_TOKEN` secret with properly provisioned token (repo access is sufficient)
- Need to decide on a set of types that will trigger releases and the corresponding semver bump. For example, we can have:
- `docs`, `style`, `refactor`, and `perf` map to patch semver bump
- `feat` map to patch semver bump
- conventional commits should use the following scopes:
- parser, compiler, runtime, cli
- Update documentation in CONTRIBUTING.md

## ROI
- near _real time_ vulnerability and security patches
- reduced overhead for maintainers
- reduced CI/CD failures for consumers (at least for those that run `npm audit` as part of their CI)

## DependaBot vs RenovateBot

| | DependaBot | RenovateBot |
|----|----|----|
|post install config (i.e. run `npm dedupe`) | No | Yes |
|price | Free | Free |

## Nice to have
- WIP app

## Notes
- Dependabot (see https://dependabot.com)
- Renovate Approve (see https://github.com/apps/renovate-approve)
- Renovate (see https://github.com/marketplace/renovate)
- Semantic Release (see https://github.com/semantic-release/github)
- Semantic Pull Requests (see https://github.com/zeke/semantic-pull-requests)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the proposed GitHub workflows, the required GH_TOKEN secret setup, and the existing CONTRIBUTING.md guidance. Define the release-triggering commit types and scopes, then verify that dependency updates, approvals, merges, tags, release notes, and changelog updates follow the agreed workflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, javascript
Domain
ci-cd, devops, documentation, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.