Pin build-and-lint dependencies
See original GitHub issueFollowing up on #13876: the badly-named “build-and-lint
” integration test between the JSON API and the TS bindings currently uses unpinned dependencies. That’s a bit of a ticking bomb that is going to explode in our face at some point, as it did last May (when #13876 was made to patch a specific dependency resolution path); the proper fix would be to commit and reuse a specific lockfile for those tests, ensuring that without manual intervention they keep running with the exact same set of dependencies.
Some investigative work is needed to figure out exactly where to find, and where to store, that lockfile.
Initially assigned to @ray-roestenburg-da and @stefanobaghino-da for prioritization.
- #15727
- this solves part of this issue at the cost of hiding problems in downstream (i.e. user-run) resolutions. We want to know that the test runs with “latest” broadly
- #14873
- this will check that the lockfile is still used, which will otherwise become increasingly untrue as any package.json diverges from the lockfile
- update typescript (
@types/babel__traverse
probably uses too-new syntax for us as of 2022-11-29) - create CI job to remove lockfile and ensure build-and-lint-test passes with lockfile-free resolutions “now”, alert Slack if it fails
- we should treat these failures somewhat like dependabot failures: we don’t want them to break main, but want to be notified out-of-band so that these issues (of temporal nature, exactly like dependabot issues) can be fixed separately
- update yarn (we probably can never use
--frozen-lockfile
even if it works, but our version is pretty old now)
Issue Analytics
- State:
- Created a year ago
- Comments:8 (8 by maintainers)
Top Results From Across the Web
How should you pin dependencies and why? – The Guild
Historically the most common way to pin dependencies was to specify an exact version in your package.json , for example using the --save-exact ......
Read more >Should you Pin your JavaScript Dependencies?
The pros and cons of dependency pinning for JavaScript/npm. ... If instead you "pin" your dependencies rather than use ranges, it means you...
Read more >Pin exact dependency versions - Better Dev
Pinning dependency versions can save a lot of trouble, even when using a lock file. See what happens if you don't and how...
Read more >Pinning build dependencies - Discussions on Python.org
There doesn't seem to be a good way to track and pin build dependencies with Python packaging tools though. I'm curious if others...
Read more >Pin All Dependencies (& Let Pip Sort 'Em Out) - Promptworks
In this post, I'll discuss what dependency pinning is, when it is appropriate to pin your dependencies, why it's a good idea, ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Added a TODO list to description following discussion with @ray-roestenburg-da @chunlokling-da @fayi-da @garyverhaegen-da
If it’s blocking a release, it needs to be fixed.