question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Pin build-and-lint dependencies

See original GitHub issue

Following 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:open
  • Created a year ago
  • Comments:8 (8 by maintainers)

github_iconTop GitHub Comments

2reactions
S11001001commented, Nov 29, 2022

Added a TODO list to description following discussion with @ray-roestenburg-da @chunlokling-da @fayi-da @garyverhaegen-da

1reaction
stefanobaghino-dacommented, Nov 29, 2022

So main broke today, I think because of this. What’s the current state of priorities on this issue?

If it’s blocking a release, it needs to be fixed.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found