Feature request: publish git release tags during NPM package release process
See original GitHub issueSuggestion
🔍 Search Terms
git
tag
release
✅ Viability Checklist
My suggestion meets these guidelines:
- This wouldn’t be a breaking change in existing TypeScript/JavaScript code
- This wouldn’t change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn’t a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- This feature would agree with the rest of TypeScript’s Design Goals.
⭐ Suggestion
As part of the process for release of typescript
packages to NPM, push a corresponding git
tag to this repository.
📃 Motivating Example
Version 4.9.3 of typescript
is currently available on NPM and it is not immediately clear what git
commit version that corresponds to in this repository.
💻 Use Cases
This would be useful during dependency and upgrade review - for example, when looking for potential functionality, compatibility, performance, security and transitive dependency implications of a version upgrade.
With the current approach, git
tags are published, although that occurs some variable amount of time after package publication to NPM taken place. It’s possible that some users do upgrade before a git
tag is published – and it’s also possible that they could review the contents of the release themselves to perform non-source-controlled review.
Issue Analytics
- State:
- Created 10 months ago
- Reactions:5
- Comments:7 (4 by maintainers)
Thanks @RyanCavanaugh @weswigham - I see the 4.9.3 tag now 👍
It depends on what works for your checklists and processes, but I’ve found that configuring GitHub Actions to publish-on-(tag|release) can be useful – basically providing some level of linkage between the tag/release and the published package.
One tricky aspect is handling build/infrastructure failures gracefully, and/or testing the publication workflow before a ‘live’ package release. I don’t know what NPM offers there, but in the Python ecosystem, PyPi provides a ‘test’ instance so that the entire package build and upload process can be checked before go-live.
Thanks @weswigham - manual edits to the markup for releases displayed on GitHub makes sense – and for a popular package, manual review steps in general seems sensible too!
Either way, if
git
tags could be pushed and made visible in the repository here during the package publication process to NPM, that could help users and developers to save time inspecting the differences between versions.