Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Acknowledging that npm is typically thought of as a (and is primarily used for) javascript package manager, it can really be used as a package manager for anything.
npm itself has recognized and encouraged the use of npm (including the registry) as a place to publish non-javascript modules and packages. Indeed, I myself (and the entire nodenv organization),
leverage npm for managing dependencies, versioning, releases, and as a generic script/task runner for the nodenv tools and plugins (which are themselves bash/shell tools and scripts).
Which brings me to my point. The nodenv-package-json-engine nodenv plugin depends on sh-semver (thank you, by the way!).
At present, in order to "update" the sh-semver dependency, we curl down a copy from github and commit it to our repo as a vendored dependency. If sh-semver were to include a package.json manifest (as this PR provides),
then any tools that use npm to manage their dependencies (such as nodenv) would be able to easily list sh-semver as a dependency and allow npm to manage the installation of said dependency.
It is worth noting that, while one is encouraged to actually publish sh-semver to the npm registry, publishing the module is not necessary for others to gain the benefit of it having a package.json manifest (thereby becoming an actual npm package). One can depend on npm packages by pointing to their git repository. Indeed, if it is desired that sh-semver not be published, I would recommend adding
"private": true
to the package.json manifest to prevent it from accidentally being published at all.Thoughts?