Improve Node.js caching using `package-lock.json` (#409)
This PR updates the caching strategy for Node.js dependencies to base the cache key on the contents of `package-lock.json`, rather than the `node` or `node_modules` directories.
### Problem
Currently, caching is ineffective because:
* The cache key relies on `node` and `node_modules` directories.
* These directories are not checked into the repository and therefore don’t exist when the cache is computed.
### Solution
Update the cache key to use the contents of `package-lock.json`, which is a reliable representation of the dependency tree:
* If `package-lock.json` **is not committed**, the cache behavior remains unchanged.
* If it **is committed**, caching will function as expected, restoring and saving dependencies based on lockfile changes.
### Additional Changes
* Commit `package-lock.json` in the `logging-parent` repository to evaluate the effectiveness of this approach.
* Reverts the use of `npm-shrinkwrap.json` introduced in #367.
5 files changed