Sorry Python but it is what it is.

  • bjorney@lemmy.ca
    link
    fedilink
    arrow-up
    2
    arrow-down
    4
    ·
    1 year ago

    How is it not a lock file?

    package.json doesn't contain the exact version number of all downstream dependencies, this does

    • gornius@lemmy.world
      link
      fedilink
      arrow-up
      2
      arrow-down
      2
      ·
      1 year ago

      Lockfile contains exact state of the npm-managed code, making it reproducible exactly the same every time.

      For example without lockfile in your package.json you can have version 5.2.x. In your working directory, you use 5.2.1, however on repo, 5.2.2 has appeared, matching your criteria. Now let's say a new bug appeared in 5.2.2.

      Now you have mismatched vendor code, that can make your code behave differently on your machine, and your coworker's machine, making you hunt for bug that wasn't even on your side.

      Lockfile prevents that by saving an actual state of vendor code.

      • bjorney@lemmy.ca
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        Yes, which is EXACTLY like a pip freeze'd requirements.txt, storing the exact version of every package and downstream dependency you have installed