chore: change sbom generation to happen on prepublishOnly
#268
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.
By having the sbom generated during the
postinstall
step, we have inadvertently made the package impossible to install as a dependency. This is because when installing this as a dependency in a project,npm install
is run under the hood. Subsequently,npm run postinstall
happens, but the published package does not contain a package-lock.json file and the sbom generation fails, therefore failing the installation of the module altogether.This commit modifies the npm scripts so that the sbom generation happens only when publishing, and the publish will fail if there are any modified files in the repo, i.e. if the sbom was updated. This means it is incumbent on maintainers of this package to keep the sbom up to date by periodically running
npm run sbom
when modifying dependencies. If in the course of making changes on this module, the package.json or package-lock.json files are modified, the developer MUST run the commandnpm run sbom
.