Commit Graph

60 Commits

Author SHA1 Message Date
Zoltan Kochan
5979bb7b0c test: replace sinon with built-in jest spying across the repo (#10849)
Replace all sinon.spy/match/withArgs usage with jest.fn, toHaveBeenCalledWith,
mockClear, and mock.calls filtering. Remove sinon and @types/sinon from all
package.json files and the workspace catalog.
2026-03-04 15:00:25 +01:00
Varun Chawla
e73da5e27b fix(lockfile): respect lockfile-include-tarball-url=false for non-standard URLs (#10621)
When lockfile-include-tarball-url is explicitly set to false, tarball URLs
are now always excluded from the lockfile. Previously, packages hosted under
non-standard tarball URLs would still have their tarball field written to the
lockfile even when the setting was false, causing flaky and inconsistent
behavior across environments.

The fix makes the option tri-state internally:
- true: always include tarball URLs
- false: never include tarball URLs
- undefined (not set): use the existing heuristic that includes tarball URLs
  only for packages with non-standard registry URLs

close #6667
2026-02-25 11:03:32 +01:00
Jason Paulos
8b4a811fd6 test: fix several flaky tests in pkg-manager (#10644)
* test: fix flaky tests & add retries for failed tests during CI testing

* fix: import jest in setupFilesAfterEnv & reduce retries to 2

* test: remove global retries
2026-02-20 23:35:45 +01:00
Oren
98a0410aa1 fix(tarball-resolver): add integrity hash to HTTP tarball dependencies (#10287)
* fix(tarball-resolver): add integrity hash to HTTP tarball dependencies

* Refactor to download tarball just once

* Fix tests

* fix: only calc hash when it is not passed in to the fetcher

* docs: update changesets
2025-12-08 23:38:27 +01:00
Zoltan Kochan
3df6702bcb fix: update load-json-file, write-json-file, write-pkg 2025-08-28 11:37:38 +02:00
Zoltan Kochan
491a84fb26 feat: use ESM instead of commonjs (#9870) 2025-08-25 10:02:00 +02:00
Zoltan Kochan
27cbc09206 style: fix jest-related linting issues (#9894) 2025-08-22 21:56:49 +02:00
Zoltan Kochan
facd7656e8 refactor: always use extensions in relative imports (#9878) 2025-08-19 15:25:11 +02:00
Khải
72cff38486 refactor: pass whole registries to the resolver (#9375) 2025-04-04 01:20:16 +02:00
Zoltan Kochan
f6006f2b4b feat: add an option to fail on unapproved dependency builds (#9071) 2025-02-11 00:26:25 +01:00
Zoltan Kochan
7ec017e13f chore: move all tarball files out from Git LFS to a package dependency (#8885) 2024-12-18 03:06:51 +01:00
Zoltan Kochan
a76da0c53c feat!: remove conversion of lockfile v6 to v9 (#8866) 2024-12-15 14:39:19 +01:00
btea
b0f3c71b7b fix: get the final address by installing package through links (#8842)
close #8833

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-12-11 13:22:15 +01:00
Zoltan Kochan
dcd2917ec7 feat!: use sha256 for hashing long paths inside node_modules/.pnpm 2024-09-15 18:51:51 +02:00
Zoltan Kochan
e9908b3185 refactor: rename lockfile-file to lockfile.fs 2024-07-28 01:15:20 +02:00
Zoltan Kochan
797ef0fc46 refactor: rename lockfile-types to lockfile.types 2024-07-27 14:46:23 +02:00
Zoltan Kochan
1b349deba5 test(core): remove only from lockfile tests 2024-07-27 12:35:16 +02:00
Zoltan Kochan
a3e2a182a6 test: fix a lockfile test 2024-07-26 18:10:40 +02:00
Zoltan Kochan
7329b9afc4 ci: test on Node.js 22 (#8010) 2024-07-25 16:45:47 +02:00
Zoltan Kochan
0406d4ad3d refactor: use a branded type for project root dir paths (#8272) 2024-07-04 13:13:34 +02:00
Zoltan Kochan
47341e5004 fix: make the peers suffix shorter (#8177)
ref #7079
2024-06-07 23:37:07 +02:00
Zoltan Kochan
c649954e41 refactor: create a separate type for DepPath (#8094) 2024-05-20 16:11:46 +02:00
Zoltan Kochan
c9db742824 fix: update typescript to v5.4 (#7905) 2024-04-12 14:03:45 +02:00
Khải
984b976672 refactor: replace deprecated jest methods (#7840) 2024-03-29 00:03:58 +01:00
Zoltan Kochan
a22bdf0e29 feat!: remove the dev field from the lockfile (#7808) 2024-03-22 15:21:26 +01:00
Zoltan Kochan
21878e7ae4 feat(lockfile)!: change the keys format (#7752) 2024-03-17 23:01:39 +01:00
Zoltan Kochan
53594a3787 feat!: package ID should be an exact version spec (#7748) 2024-03-10 14:46:25 +01:00
Zoltan Kochan
1ecda50502 feat(lockfile)!: dividing "packages" field to "packages" and "snapshots" (#7700)
close #7685
2024-03-04 23:31:01 +01:00
Zoltan Kochan
5c20db0dd2 feat!: use the same lockfile format in 1-pkg workspace as in multi-pkg one (#7696) 2024-02-29 10:28:29 +01:00
Zoltan Kochan
7db98cae0f feat!: bump lockfile to v7 (#7666) 2024-02-17 12:57:58 +01:00
Zoltan Kochan
7f59a0491e test(core): use sync testDefaults 2024-02-16 20:29:07 +01:00
Zoltan Kochan
a5a3b995c1 test: use sync fs operations in tests (#7664) 2024-02-16 19:43:04 +01:00
Zoltan Kochan
19542ecd28 test: use sync operations for assertions (#7663) 2024-02-16 16:23:23 +01:00
Zoltan Kochan
c7d0564225 refactor: lockfile-file (#7655) 2024-02-16 11:14:47 +01:00
Zoltan Kochan
d381a6001c feat!: use dependency path format from lockfile v6 (#7470)
Drop lockfile v5 support.
2024-01-08 11:57:44 +01:00
Zoltan Kochan
b1fd38ccab fix: don't remove modules directory when registry configuration changes (#7322) 2023-11-16 14:23:07 +02:00
Zoltan Kochan
cd4fcfff0b fix: use the registry domain in the package ID, not the tarball domain (#7318)
(IMPORTANT) When the package tarballs aren't hosted on the same domain on which the registry (the server with the package metadata) is, the dependency keys in the lockfile should only contain `/<pkg_name>@<pkg_version`, not `<domain>/<pkg_name>@<pkg_version>`.

This change is a fix to avoid the same package from being added to `node_modules/.pnpm` multiple times. The change to the lockfile is backward compatible, so previous versions of pnpm will work with the fixed lockfile.

We recommend that all team members update pnpm in order to avoid repeated changes in the lockfile.
2023-11-16 12:32:40 +02:00
Zoltan Kochan
2143a9388a fix: improve the error message when modules directory should be recreated (#7308) 2023-11-14 11:43:15 +02:00
Steven Petryk
4c2450208d fix(lockfile): remove registry from tarball resolutions (#7262)
In some cases, pnpm would add a `registry` field to tarball resolutions
in pnpm-lock.yaml. This field is no longer used, so it was removed,
which should make lockfiles smaller and their generation more
deterministic.

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-10-31 23:57:17 +02:00
Zoltan Kochan
733d612ad1 test: check spelling with cspell (#7229) 2023-10-20 15:58:27 +03:00
Zoltan Kochan
9c4ae87bd1 feat: include some settings as fields in the lockfile (#6557)
ref #6312
2023-05-21 02:40:39 +03:00
Zoltan Kochan
1ffedcb8d7 fix(deploy): always purge modules directory (#6511)
close #6510
2023-05-07 12:51:56 +03:00
Zoltan Kochan
497b0a79c0 fix: only remove node_modules if the user confirms to do so (#6458) 2023-04-30 11:55:25 +03:00
await-ovo
080fee0b8b fix: add -g to mismatch registries error info when original command has -g option (#6365)
close #6224
2023-04-06 12:22:39 +03:00
Zoltan Kochan
5087636b66 fix: installation of packages with () in scope name (#6349)
close #6348
2023-04-04 00:18:43 +03:00
Zoltan Kochan
1d105e7fcd fix!: save the whole tarball URL, when it doesn't use the standard format (#6265) 2023-03-24 01:36:13 +02:00
Zoltan Kochan
2a2032810f fix: don't write pnpm-lock.yaml if it has no changes (#6260)
close #6158
2023-03-23 04:40:42 +02:00
Zoltan Kochan
158d8cf22f feat!: only allow lockfile v6 (#6240) 2023-03-19 04:23:51 +02:00
Zoltan Kochan
ee61ca4cb7 style: update eslint (#6236) 2023-03-18 14:57:29 +02:00
Zoltan Kochan
a4ce8e1f27 Merge branch 'main' into v8 2023-02-23 13:13:30 +02:00