Johan Quan Vo
7b1c189f2e
feat!: remove deprecated patch options ( #10505 )
...
* refactor: remove allowNonAppliedPatches
* refactor: remove ignorePatchFailures
* refactor: remove `strict` field in groupPatchedDependencies
* test: update test failure in package patching
* test: fix
* docs: update changesets
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2026-01-27 17:08:45 +01:00
Zoltan Kochan
8b4bdf9a83
refactor: replace onlyBuiltDependencies and ignoredBuiltDependencies with allowBuilds ( #10401 )
2026-01-02 23:21:17 +01:00
Zoltan Kochan
cb367b9515
feat!: deprecate old settings that were replaced by allowBuilds ( #10382 )
2026-01-02 12:22:42 +01:00
Zoltan Kochan
71de2b3f2b
feat!: remove use-node-version CLI option and pnpm.executionEnv.nodeVersion manifest field ( #10373 )
2025-12-27 22:41:53 +01:00
Randall Leeds
8385a8cff6
fix(deploy): omit inject workspace packages setting in deploy lockfiles ( #10294 )
...
* fix(deploy): omit inject workspace packages setting in deploy lockfiles
When the deploy command creates a new lockfile, create the deployment
lockfile without the setting to inject workspace packages, because it
has already been applied when creating the lockfile and the deployment
is not, itself, a workspace.
* docs: add changesets
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-12-12 14:33:37 +01: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
Zoltan Kochan
cf630a8e84
feat: allow to set multiple pnpmfiles ( #9702 )
2025-07-08 14:54:07 +02:00
Khải
983efdc7f1
fix(deploy): overrides contain peer dependencies ( #9604 )
...
close #9595
2025-06-10 00:45:55 +02:00
Alexander Tkachev
aad7eebc2d
fix: let deploy inherit overrides ( #9546 )
...
* fix: let deploy inherit overrides
Prevents the following error in "pnpm deploy" with "inject-workspace-packages=true":
ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation.
The current "overrides" configuration doesn't match the value found in the lockfile
* chore: add changeset
* docs: update old-symbols-invite.md
close #9283
close #9483
2025-05-19 10:42:04 +02:00
Brandon Cheng
9d3008529c
refactor: remove deployCatalogHook ( #9320 )
2025-03-26 10:33:51 +01:00
Brandon Cheng
e781c2b876
test: ensure only selected workspace packages are linked on deploy ( #9257 )
2025-03-11 03:15:50 +00:00
Zoltan Kochan
f5940ccf91
fix(deploy): don't remove fields from the deployed package's package.json ( #9222 )
...
close #9215
2025-03-06 12:08:12 +01:00
Zoltan Kochan
d965748ff4
feat: setting config settings via pnpm-workspace.yaml ( #9211 )
...
Related discussion: https://github.com/orgs/pnpm/discussions/9037
2025-03-04 15:09:13 +01:00
Patrick Kerschbaum
0858c0660d
test: add tests for pnpm rebuild in deployed packages ( #8990 )
...
* test: implement e2e test cases for "pnpm deploy" and "pnpm rebuild" lifecycle scripts things
* test(plugin-commands-deploy): add test case for keeping files created by lifecycle scripts
* improve
* test: remove try-catch for now
* refactor: prefer `expectSuccess`
* test: specify `rootProjectManifest[Dir]`
* refactor: prefer `expectSuccess` at more places
* test: fix test case
* test: fix test case
* test: remove undesired package.json modification
---------
Co-authored-by: khai96_ <hvksmr1996@gmail.com >
2025-01-26 19:51:31 +01:00
Khải
9a44e6ce87
fix(deploy): inherit pnpm from the root manifest ( #8991 )
...
* fix(deploy): inherit `pnpm` from the root manifest
* fix: eslint
* refactor: share code
* test: add
* fix: eslint
* fix: remove duplicate dep from package.json
2025-01-26 17:26:16 +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
31911f103e
fix: dependency status check should never throw an exception ( #8852 ) ( #8857 )
2024-12-10 17:16:08 +01:00
Zoltan Kochan
d47c4266db
perf: faster repeat install ( #8838 )
2024-12-08 23:42:33 +01:00
Zoltan Kochan
e9985b6f21
feat!: default value of virtual-store-dir-max-length set to 60 on Windows ( #8556 )
2024-09-23 09:30:45 +02:00
Khải
ad1fd64b64
fix(deploy): node-linker=hoisted produces empty node_modules ( #8525 )
...
close https://github.com/pnpm/pnpm/issues/6682
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-09-20 03:27:05 +02:00
Khải
f071d00815
refactor: replace forEach with for-loops ( #8535 )
...
* refactor: replace `forEach` with `for`-loops
Changes:
* Most `Object.keys(o).forEach` are replaced by `for in`.
* Most `Array.filter(c).forEach` are replaced by `for of` + `if continue`.
* `return` in `forEach` callbacks are replaced by `continue`.
There may be minor improvement to memory footprint as this change would
reduce the creations of temporary arrays and temporary functions.
* fix: return -> continue
* refactor: remove the commented out code
2024-09-18 03:58:25 +02:00
Zoltan Kochan
eeb76cd1d0
fix: deploy with shared-workspace-lockfile=false ( #8515 )
...
close #8475
close #8504
2024-09-11 15:32:57 +02:00
Zoltan Kochan
7ee59a166a
fix(deploy): write node_modules/.modules.yaml to the deploy directory ( #8465 )
...
close #7731
2024-08-26 17:07:16 +02:00
Khải
9b4f73caaf
chore(scripts): typecheck-only ( #8395 )
...
* chore(scripts): typecheck-only
* feat: change all configuration
* feat: include pnpm/ and pnpm/test/
* chore(deps): remove unused dependency
* refactor(typescript-only): use find-packages
* refactor(typescript-only): refactor paths
* fix: typescript-only
* fix: update compile-only
* fix: compile pnpm
* fix: windows
* fix: windows
* chore: meta-updater
* refactor(tsconfig): remove explicit composite
* fix: path in windows
* feat: don't depend on cwd
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-08-11 08:26:01 +02:00
Brandon Cheng
1e4dd79163
fix: install failure on pnpm deploy when using catalogs ( #8298 )
...
* fix: install failure on pnpm deploy when using catalogs
* test: add test for pnpm deploy when using catalogs
* chore: changeset
2024-07-14 02:45:35 +02:00
Brandon Cheng
75a98e12b3
refactor: improve type checking when finding workspace packages ( #8214 )
...
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-06-17 17:34:54 +02:00
Brandon Cheng
c7e1b6fae8
chore: configure TypeScript project references for tests ( #8128 )
...
* refactor: store link values before converting to references
* fix: use .sort() without localeCompare
https://github.com/pnpm/pnpm/pull/8128#discussion_r1614031566
> Nit, but you probably just want to call sort without a comparison
> function; these are already strings and locale compare is not a good
> comparison for anything but human readable strings since it will
> differ on different people's machines based on their language setting.
> I've hit this too many times before for code gen.
* feat: configure meta-updater to write test/tsconfig.json files
* fix: relative imports for __typings__
* chore: `pnpm run meta-updater`
* fix: explicitly use test/tsconfig.json for ts-jest
2024-05-31 12:48:13 +02:00
Zoltan Kochan
9719a42d0e
feat: configurable max length of directories inside node_modules/.pnpm ( #7994 )
...
close #7355
2024-04-28 11:07:29 +02:00
Zoltan Kochan
21878e7ae4
feat(lockfile)!: change the keys format ( #7752 )
2024-03-17 23:01:39 +01:00
Zoltan Kochan
19542ecd28
test: use sync operations for assertions ( #7663 )
2024-02-16 16:23:23 +01:00
JasonMan34
693944b669
feat(deploy): don't rimraf out directory if it's not empty ( #7360 )
...
close #7351
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2023-12-30 16:59:52 +01:00
Zoltan Kochan
d6592964f0
refactor: rootProjectManifestDir is a required option
2023-10-24 15:14:33 +03:00
Zoltan Kochan
d92070876d
revert: "feat(deploy): apply publishConfig to all packages during deploy ( #6943 )" ( #7058 )
...
This reverts commit d57e4de6dc .
This reverts #6943
This will solve:
- https://github.com/pnpm/pnpm/issues/7040
- https://github.com/pnpm/pnpm/issues/6994
2023-09-06 01:05:47 +03:00
Jacob Ley
d57e4de6dc
feat(deploy): apply publishConfig to all packages during deploy ( #6943 )
...
When deploying packages, the package.json of the deployed package
(as well as any other locally defined dependencies)
should be treated as if it published, and mutate the package.json
according to `publishConfig` and local `workspace:` dependencies.
close #6693
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2023-08-25 02:13:29 +03:00
await-ovo
78d43a8627
fix(deploy): ensure that the deploy target is generated in the same directory ( #6859 )
...
close #6858
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2023-07-29 18:44:55 +03:00
await-ovo
7a0ce1df08
feat!: deploy with local dependencies ( #6016 )
...
Co-authored-by: Zoltan Kochan <z@kochan.io >
Close #5911
Close #5961
2023-02-19 04:23:31 +02:00
Zoltan Kochan
4ca53b0b50
refactor: group projects in different subdirectories ( #5659 )
2022-11-20 01:35:22 +02:00