Commit Graph

717 Commits

Author SHA1 Message Date
Zoltan Kochan
70d565cf79 chore(release): 10.5.1 2025-02-26 12:56:43 +01:00
R.P. Pedraza
76973d8c81 feat(link): normalize generated link paths in package.json (#9163) 2025-02-26 02:56:59 +01:00
Zoltan Kochan
0e9fff7bef chore(release): 10.5.0 2025-02-25 12:27:14 +01:00
R.P. Pedraza
529696182f fix: reference root manifest directory instead of the dependent dir (#9132)
* fix: reference root manifest directory instead of the dependent dir

This fixes https://github.com/pnpm/pnpm/issues/9066.

* refactor: link test

* docs: add changeset

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-02-25 02:15:38 +01:00
Brandon Cheng
41dada429b fix: catalog snapshots removed on filtered install with --fix-lockfile (#9152)
close #8639
2025-02-24 02:41:27 +01:00
Brandon Cheng
43681529cf refactor: make frozen install logic clearer (#9148)
* refactor: declare interface for `_install` function result

* refactor: create new function for attempting frozen install

* refactor: early return if frozen-like install is not possible

* refactor: early return in frozenInstall() for empty/missing lockfile

* refactor: return `null` from tryFrozenInstall() if attempt failed

* refactor: add comments to `isFrozenInstallPossible`

* refactor: move tryFrozenInstall out from _install

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-02-23 13:34:07 +01:00
Brandon Cheng
2d16f7a4a9 fix: stale catalog protocol reference on filtered install (#9126)
#8638
2025-02-22 13:22:36 +01:00
Zoltan Kochan
8fcc221394 feat: reading settings from pnpm-workspace.yaml (#9121)
Related discussion: https://github.com/orgs/pnpm/discussions/9037

close #9033
2025-02-22 02:10:43 +01:00
Zoltan Kochan
ee72c62db9 chore(release): 10.4.1 2025-02-16 22:37:26 +01:00
btea
546ab377de fix: --allow-build=<pkg> overlaps with ignoredBuiltDependencies (#9105)
* fix: `--allow-build=<pkg>` overlaps with `ignoredBuiltDependencies`

* feat: update

* fix: update

* test: update

* fix: add hint to the error message

* test: fix

* docs: update changeset

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-02-16 22:07:52 +01:00
Zoltan Kochan
2a6b51f483 chore(release): 10.4.0 2025-02-14 01:18:32 +01:00
Zoltan Kochan
91d46eecd4 feat: add --allow-build=<pkg> to add command (#9086) 2025-02-13 00:43:44 +01:00
Zoltan Kochan
a5b36b7355 fix: don't remove ignored builds list on repeat install (#9083)
close #9045
2025-02-12 01:30:44 +01:00
Zoltan Kochan
1dc2804f7a chore(release): 10.3.0 2025-02-11 00:34:43 +01: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
371734043a fix: make the warning about blocked install scripts more prominent (#9067) 2025-02-09 01:34:18 +01:00
Zoltan Kochan
d40dfebdca chore(release): 10.2.1 2025-02-06 20:00:29 +01:00
Zoltan Kochan
9843aedd76 fix: don't read from side-effects cache packages that aren't allowed to be built (#9047)
close #9042
2025-02-06 00:12:54 +01:00
Zoltan Kochan
97e0f5da61 chore(release): 10.2.0 2025-02-03 18:32:38 +01:00
Zoltan Kochan
b5ba5350bf feat(dlx): add an option to dlx for providing a list of deps that are allowed to run install scripts (#9026) 2025-02-03 14:46:28 +01:00
Khải
e8c2b173ca fix(overrides): move invalid peers to prod deps (#9000)
close #8978

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-01-28 18:00:59 +01:00
Zoltan Kochan
c5a0b9ea43 chore(release): 10.1.0 2025-01-26 22:26:45 +01:00
btea
2b49ee77c7 fix: install dependencies execute preprepare and postprepare scripts (#8989)
* fix: install dependencies execute preprepare script

* chore: remove unnecessary code

* fix: postprepare should run

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-01-26 20:31:00 +01:00
Khải
f3ffaed009 feat(install): option to disable fast reinstall (#8977) 2025-01-26 11:53:16 +01:00
Zoltan Kochan
961dc5d29d feat: add ignored-builds command (#8963)
* feat: add ignored-builds command

* test: ignored-builds

* test: ignored-builds

* fix: document the new command

* refactor: update text

* feat: add approve-builds command

* feat: rebuild approved packages

* fix: ignored builds

* feat: add final approval prompt

* test: approve builds

* refactor: approve-builds
2025-01-25 18:51:35 +01:00
btea
7a9473b237 fea: pnpm.ignoredBuiltDependencies for muting warnings about ignored dependency builds (#8958)
close #8935

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-01-12 02:17:44 +01:00
Zoltan Kochan
040e67b88d fix: don't print patched dependencies in list of non-built deps (#8961)
close #8952
2025-01-11 02:20:12 +01:00
Khải
ea58bfdc47 fix(validatePeerDependencies): allow combinations (#8946) 2025-01-08 11:31:37 +01:00
Zoltan Kochan
42ecf04fd0 chore(release): 10.0.0 2025-01-07 15:28:17 +01:00
Khải
26fe99440d feat!: prevent nonsense peerDependencies (#8942)
* feat!: prevent nonsense `peerDependencies`

close #8934

* fix: eslint

* feat: refuse aliases

* feat: only validate packages from the workspace

* refactor: change call signature and error messages

* docs(hint): improve wordings

* docs: add quotes to make it more readable

* test: remove `use-`
2025-01-07 14:55:22 +01:00
Zoltan Kochan
e050221384 fix: pnpm link should keep the indentations in the updated manifest 2025-01-07 02:48:02 +01:00
Fotis Papadogeorgopoulos
dde650b96f fix: ensure that recursive pnpm update --latest <pkg> updates only the specified package (#8933)
* test(pnpm): expand dedupePeers test to account for other dependencies in same package

Previously, this test only asserted that _other_ monorepo packages were unaffected,
but it did not check other dependencies of the _same_ monorepo package.

* fix: ensure that recursive update --latest only updates matched packages

* fix: move update check to resolveDependendency

* refactor: move updateToLatest conditional up in resolveDependency

* refactor: make update types mutually exclusive in resolveDependencies

* refactor: rename 'in-range' update type to 'compatible'

Co-authored-by: Zoltan Kochan <z@kochan.io>

* refactor: use update union type in package-requester and store-controller-type

* docs: add changesets

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-01-07 02:08:26 +01:00
Zoltan Kochan
c5080ded56 chore(release): 10.0.0-rc.3 2025-01-05 13:26:28 +01:00
Zoltan Kochan
cc3bbc950d fix: don't load side-effects cache for packages that are not allowed to be built (#8901)
* fix: don't read ignored deps from side effects cache

* test: fix

* test: fix
2025-01-05 03:17:54 +01:00
Zoltan Kochan
9591a18d96 feat: configurational dependencies (#8915)
* feat: configuration dependencies

* feat: remove configuration dependencies

* feat: update configuration dependencies

* feat: configuration dependencies fast check on repeat install

* revert: comment

* refactor: install configurational deps

* refactor: install config deps

* refactor: install config deps

* test: config deps

* test: config deps

* docs: add changeset

* test: loading a pnpmfile from config deps

* fix: reading hooks after installing config deps

* test: fix

* test: fix

* test: fix

* test: fix

* test: loading patch from config dep

* fix: do not allow config deps w/o integrity checksum
2025-01-04 11:29:22 +01:00
Fotis Papadogeorgopoulos
c7eefdd082 fix: pnpm update --filter --latest should only change relevant packages and projects, with dedupe-peer-dependents=true (#8905)
* test(update): add failing tests for update with dedupe-peer-dependents=true

Relates to https://github.com/pnpm/pnpm/issues/8877

* fix: update --filter --latest should work with dedupe-peer-dependents

Fixes https://github.com/pnpm/pnpm/issues/8877, whereby
`update --filter --latest` with `dedupe-peer-dependents` would end up
updating all available dependencies for all projects.

* test(pnpm): more accurate dedupePeers filtered install case

* docs: add changeset for updateToLatest moving to projects/importers

* docs: add changesets for pnpm and plugin-commands-installation

* chore: fix tsc issue by removing unknown bound resolver property

This unknown property was accepted by tsc prior to adding updateToLatest
in toResovleImporter options, but now it was erroring out. This is
likely a tsc quirk about the shape of the object; regardless that
property is not defined, and should not be present.

* test: keep only pnpm/test/monorepo/dedupePeers.test.ts

There was duplicate coverage of the pnpm update --filter --latest
command between two tests, so this keeps only the one dedicated
to testing the dedupe-peer-dependents feature.

* chore: fix unused import error
2024-12-29 17:30:36 +01:00
Zoltan Kochan
e103abe941 chore(release): 10.0.0-rc.2 2024-12-29 02:47:35 +01:00
Khải
f89128883f feat(deploy): create dedicated lockfile (#8828)
* feat(deploy): create dedicated lockfile

Closes https://github.com/pnpm/pnpm/issues/8778

* chore: remove a leftover `console.log`

* fix: hoisted should also use dedicated lockfile

* feat: inherit more keys

* docs(changeset): more details

* refactor: remove a variable

* refactor: use `selectedProject.rootDir`

* fix: manifest files

* fix: update lockfile

* fix: accidentally skipped normal dependencies

* test: update

* fix: meta

* fix: remove links to nowhere

* docs: remove the false todo

* fix: transitive workspace dependencies

* fix: package snapshot names

* fix: dependencies that depend on deployed package

* perf: do not repeat computation

* fix: compile error

* refactor: base on allProjects

* fix: add missing `link:` prefix

* test: add some tests

* fix: revert stupid refactor

This reverts commit 000788127c.

* test: more assertions

* test: more assertions

* test: https://github.com/pnpm/pnpm/issues/8778

* test: exact paths

* refactor: use `toBe`

* refactor: divide section

* fix: eslint

* test: fix assertions

* fix: dependencies that depend on deploy package

* perf: cheap operation first

* test: remove `.only`

* test: add assertions

* test: remove unnecessary assertions

* test: remove unnecessary details

* fix: deployed package depends on itself

* docs: remove the other todo

* fix: self-referential dependencies

* test: fix

* test: more assertions

* feat: convert fallbacks to programmer errors

* fix: `file:` protocol

* refactor: more types

* refactor: remove unused variables

* refactor: fix regex

* feat: force-legacy-deploy

* feat: suggest reporting bug and using workaround

* feat: overrides, patchedDependencies, packageExtensions (wip)

* test: fix

* feat: handle `packageExtensions` in a smarter way

* fix: pnpmfile

* docs: change wording

* fix: `packageExtensions` with internal dependencies

* fix: directory resolution location

* refactor: use `rootProjectManifestDir`

* feat: set `overrides` to `undefined` instead

* refactor: remove `as ProjectRootDirRealPath`

* test: packageExtensions

* test: use regex string matchers

* refactor: move new tests to its own file

* fix: patchedDependencies

* fix: eslint

* test: patchedDependencies

* test: fix windows

* fix: pnpmfile checksum

* docs: change wording

* fix: peer dependencies

* docs: omission of peers

* docs: more detailed explanation

* fix: preserve unique peer dependencies suffix

* refactor: code rearrange

* refactor: shorten lines of code

* feat: add `dedupeInjectedDeps` to `InstallCommandOptions`

* test: peer dependencies suffix

* docs(changeset): config -> force-legacy-deploy

* docs(changeset): merge

* docs(changeset): add missing period
2024-12-27 17:17:12 +01:00
Zoltan Kochan
b27e7f553a chore(release): 10.0.0-rc.1 2024-12-27 14:20:04 +01:00
Zoltan Kochan
4771813309 feat: store ignored dependencies list in modules state file (#8903) 2024-12-24 03:01:35 +01:00
Zoltan Kochan
512465c4ce refactor: remove allowBuild from options of resolveDependencies() (#8902) 2024-12-23 01:24:50 +01:00
Zoltan Kochan
3bc9d5c50e fix: hoisted install with dependency that is a peer of itself (#8892)
close #8854
2024-12-20 01:05:54 +01:00
Fotis Papadogeorgopoulos
f685565f92 fix(remove): ensure that link-workspace-packages=false is respected in single project runs in a workspace (#8881) 2024-12-19 01:39:21 +01:00
Zoltan Kochan
38eb97a8b3 chore(release): libs 2024-12-18 13:40:41 +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
3278c588cd chore(release): 10.0.0-rc.0 2024-12-16 02:31:45 +01:00
martinkors
c0895e8b12 feat(add): pnpm add should use the default catalog (#8870)
close #8640
2024-12-16 02:10:24 +01:00
Zoltan Kochan
ac5b9d8e16 feat!: ignore the NODE_ENV env variable (#8839)
close #8827
2024-12-15 20:24:51 +01:00
Zoltan Kochan
fb9e3b4ee0 feat!: drop lockfile v6 support 2024-12-15 15:38:20 +01:00
Zoltan Kochan
a76da0c53c feat!: remove conversion of lockfile v6 to v9 (#8866) 2024-12-15 14:39:19 +01:00