← All tasks
javascriptunum-cloud/USearch #329Not a task: not reproduced

Bug: Not using npm correctly

envgap__unum-cloud__USearch-329

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
1279c54f926355ffc6effd14e4c6854ba0501aa7
Manifest
package.json
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

unum-cloud/USearch #329 · read the original issue
### Describe the bug

So with `npm` there are a couple of ways to install dependencies. When you are developing, you tend to `npm i --save xxxx` etc. These actions create a lock file `packages-lock.json` which describes everything installed and their versions, etc.



If you have no lock file, or just `npm i` on a fresh checkout, each person may get different dependency versions (usually something newer that is not _expected_ to change, but might actually break things). As a dev this is a good way to be forced to keep on top of some things.



For an install of dependencies that are pinned to the exact same versions (all the way down) you use `npm ci` instead. In that case you end us with a deterministic install.



Currently, you do something like this `npm i && npm ci` which might as well be `npm i && npm i`.

### Steps to reproduce

just run as is

### Expected behavior

I think you want deterministic installs so builds don't break for unknown reasons.



The way to do this is to remove `packages-lock.json` from `.gitignore` and commit it.



Then in the github actions just run `npm ci` which means npm install using the lock file. You will never have `npm i` in build system.



### USearch version

2.8

### Operating System

all

### Hardware architecture

x86

### Which interface are you using?

Other bindings

### Contact Details

_No response_

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]