Commit Graph

210 Commits

Author SHA1 Message Date
btea
adb236f1a1 refactor: improve regexp (#9203) 2025-03-02 13:17:09 +01:00
Zoltan Kochan
5e78da2d57 style: order the keys in package.json files 2025-03-01 21:45:13 +01:00
Zoltan Kochan
70d565cf79 chore(release): 10.5.1 2025-02-26 12:56:43 +01:00
btea
69f922a750 feat: support check more invalid workspace file (#9173)
close #9170
2025-02-26 12:21:11 +01:00
R.P. Pedraza
23754c7a3d fix: updateWorkspaceManifest not writing to manifest file (#9171)
* fix: updateWorkspaceManifest not writing to manifest file

close #9168

* fix: updating fields in pnpm-workspace.yaml

* refactor: import statement

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-02-26 11:42:28 +01:00
Zoltan Kochan
0e9fff7bef chore(release): 10.5.0 2025-02-25 12:27:14 +01:00
Khải
e32b1a29e9 feat: update injected packages after run (#9100)
* feat: update injected packages after run (wip)

close #9081

* refactor: rename field

* feat: injectedPackages (wip)

* feat: findInjectedPackages (wip)

* feat: complete implementation

* test: findInjectedPackages

* docs: changeset

* refactor: be lazy

* chore: set `version` to `1000.0.0-0`

* feat: use hardlinks for injected packages

* refactor: just use `.modules.yaml`

* feat: debug logger

* refactor: `modulesDir` is unnecessary

* test: shouldUpdateInjectedFilesAfterRun

* fix(test): remove the test command

* test: updateInjectedPackagesAfterRun

* fix: eslint

* feat: rename config

* perf: diff to reduce fs operations

* perf: load source map only once

* chore(deps): remove unused dependencies

* fix: eslint

* refactor: use `symlink-dir`

* refactor: move type expr to an alias

* refactor: simplify types

* feat: reuse stats from the directory fetcher

* test: directories and symlinks

* feat: sort alphabetic

* test: diffDir

* test: rename a test

* test: remove nesting

* refactor: rename

* feat: remove buggy symlink support

* test: applyPatch

* docs: correct

* docs: fix

* test: extendFilesMap

* docs: remove outdated comment

* docs: remove unneeded comment

* test: fix

* test: more assertions

* test: DirPatcher

* test: more assertions

* test: more assertions

* test: just use `createDir`

* test: multiple patchers

* test: reuse stat results

* docs: consistent grammar

* test: workaround

* test: fix windows

* refactor: remove single-use `makeParent`

* refactor: remove nonsense test

How could I even misunderstand my own code?!

`Patcher.apply()` will never call stat on the files because they have all
been loaded to calculate `Patcher.patch`.

This test is therefore nonsense.

* feat: rename

* feat: rename again

* feat: remove `boolean`

* fix: broken lockfile

* test: use a fixture for testing sync injected deps

* test: refactor syne injected deps test

* test: refactor sync injected deps test

* test: refactor sync injected deps test

* refactor: rename injected deps to syncer

* refactor: change injected deps logger

* docs: update changeset

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2025-02-24 02:09:45 +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
Zoltan Kochan
2a6b51f483 chore(release): 10.4.0 2025-02-14 01:18:32 +01:00
Zoltan Kochan
1dc2804f7a chore(release): 10.3.0 2025-02-11 00:34:43 +01:00
Zoltan Kochan
97e0f5da61 chore(release): 10.2.0 2025-02-03 18:32:38 +01:00
Zoltan Kochan
c5a0b9ea43 chore(release): 10.1.0 2025-01-26 22:26:45 +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
Zoltan Kochan
42ecf04fd0 chore(release): 10.0.0 2025-01-07 15:28:17 +01:00
Zoltan Kochan
c5080ded56 chore(release): 10.0.0-rc.3 2025-01-05 13:26:28 +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
Zoltan Kochan
e103abe941 chore(release): 10.0.0-rc.2 2024-12-29 02:47:35 +01:00
Zoltan Kochan
b27e7f553a chore(release): 10.0.0-rc.1 2024-12-27 14:20:04 +01:00
Zoltan Kochan
3278c588cd chore(release): 10.0.0-rc.0 2024-12-16 02:31:45 +01:00
Zoltan Kochan
d47c4266db perf: faster repeat install (#8838) 2024-12-08 23:42:33 +01:00
Zoltan Kochan
3fe70e7897 refactor!: all lib versions should start with pnpm major version 2024-11-29 01:04:45 +01:00
Zoltan Kochan
9fcc7e808e chore(release): 10.0.0-beta.0 2024-11-28 12:35:01 +01:00
Khải
19d5b51558 feat(exec): check dependencies before running scripts (#8645)
* refactor: break a long line into multiple lines

* feat: cache that tracks workspace structures

* feat: handle hash collisions

* docs(changeset): packages-list-cache

* feat(packages-list-cache): store mtime

* fix(packages-list-cache): JSON5 and YAML manifests

* feat(packages-list-cache): add catalogs

* style: sort fields alphabetically

* fix: actually fix it

* lint: fix

* lint: fix

* test(packages-list-cache): test

* feat(exec): check deps before run scripts

Resolves https://github.com/pnpm/pnpm/issues/8585

* style: fix eslint

* feat: use a single lastValidatedTimestamp

* refactor: rearrange

* perf: don't do pointless comparisons

* perf: optimize non-workspace

* perf: optimize sharedWorkspaceLockfile=false

* perf: remove unnecessary fs reads

* refactor: statManifestFile

* perf: skip comparing manifest to lockfile by stats

* feat: add wantedLockfileDir to error message

* refactor: shorten a function name

* refactor: rename a function

* docs: improve wordings

* feat: export `linkedPackagesAreUpToDate`

* feat: make sure lockfile specs satisfy manifest (wip)

* docs: todo

* fix: projectId

* feat: skip install-related scripts

* fix: type errors

* refactor: use tagged union

* refactor: remove unnecessary type expression

* docs: todo

* feat: add linkedPackagesAreUpToDate (wip)

* refactor: rearrange fields

* refactor: remove a temporary variable

* feat: export `getWorkspacePackagesByDirectory`

* feat: make workspacePackages optional

* feat: complete `linkedPackagesAreUpToDate`

* docs: remove unapplicable todo

* docs: explain why check is skipped

* feat: load allProjects and try again

* refactor: remove unused dependencies

* refactor: remove commented-out code

* refactor: replace `else if` with `return`

* feat: use-case without workspace manifest

* perf: skip unnecessary work

* feat: add a guard

* fix: eslint

* refactor: move code to new package

* refactor: sort dependencies

* test: outline

* refactor: extract assertLockfilesEqual for testing

* test: skip failing tests for now

* fix: eslint

* test: assertLockfilesEqual

* refactor: extract statManifestFile for testing

* test: todo

* test: statManifestFile

* test: shouldRunCheck

* refactor: rename a test file

* test: add

* test: todo

* docs: remove a commented-out code

* test: create groups

* test: todo

* test: add

* test: platform agnostic

* test: remove unnecessary scripts

* test: use `assert.strictEqual` instead

* test: export bin locations

* test: nested `pnpm run`

* test: todo

* test: add `cwd` option to `execPnpmSync`

* test: add

* fix: recursive

* test: add

* test: fix package names

* fix: catalogs comparison

* test: add

* refactor: just use ramda filter

* test: add

* test: mutations

* fix: package.json

* fix: jest

* feat(packages-list): debug logs

* feat: add debug messages

* fix: eslint

* test: check debug messages in other case

* docs: add next step

* test: mtime updates without modification

* docs: correct test description

* test: mtime changes

* test: check should be skipped

* docs: remove fulfilled todos

* fix: remove `.only`

* docs: todo

* docs: correct test names

* test: workspace structure changes

* test: packages list cache

* test: add

* refactor: divide a test file into 2

* docs: consistent wordings

* refactor: clearer error messages

* fix: ignore check in recursive nested scripts

* test: no dependencies

* test: print error messages on failures

* test: improve stdout/stderr in error messages

* docs: consistent wordings

* docs: clarify what did what

* test: nested script

* docs: consistent test descriptions

* docs(changeset): correction

* fix: save catalogs to packages list

* test: catalogs

* test: fix

* test: fix windows

* refactor: remove unused option field

* refactor: prefer `!= null`

* feat: use `node_modules` instead

* refactor: rename a package

* refactor: apply suggestion

* refactor: remove workspaceDir

* refactor: move `shouldRunCheck` to `exec`

* feat: rename config key

* refactor: rename a test dir

* refactor: correct grammar

* refactor: make loadPackagesList sync

* test: multiple lockfiles

* feat: prevent deletion of `node_modules`

* feat: skip checking on filtered install

* fix: accidentally dropping catalogs

* refactor: remove unnecessary `Promise.all`

* refactor: use `virtualStoreDir` from config

* refactor: split `opts` into `ctx` and `opts`

* test: fix

* style: fix eslint

* test: fix windows

* feat(exec): add `verifyDepsBeforeRun` to `exec`

* refactor: sync stat

* feat: stop ignoring filtered install

* test: filtered install

* refactor: rearrange imports

* feat: rename "packages list" to "workspace state"

* test: fix

* fix: workspace state on failed install
2024-11-15 01:01:09 +01:00
Zoltan Kochan
26a910cbf8 chore(release): 10.0.0-alpha.0 2024-10-28 04:16:49 +01:00
Zoltan Kochan
0309365fda chore(release): 9.12.3 2024-10-28 03:11:09 +01:00
Zoltan Kochan
1dd419cbb4 test: fix killing the registry mock server on teardown (#8695) 2024-10-25 21:24:08 +02:00
Zoltan Kochan
5da5e75e08 chore(release): 9.12.0 2024-10-02 12:19:20 +02:00
btea
9797a1e889 refactor: remove useless parameters from the catch statement (#8583) 2024-09-29 12:08:48 +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
fe996fee1d chore(release): 9.10.0 2024-09-09 15:43:02 +02:00
Zoltan Kochan
10d8007747 chore(release): 9.9.0 2024-08-26 17:12:28 +02:00
Zoltan Kochan
ed3ca011ce chore(release): 9.8.0 2024-08-22 12:22:59 +02:00
Zoltan Kochan
56861a569a chore(release): 9.7.1 2024-08-14 16:43:15 +02:00
Khải
82f7ed2112 fix: replace pnpm warnings with subfield warnings (#8415)
close #8413
2024-08-13 16:55:54 +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
Zoltan Kochan
97c95cca48 chore: update typescript to v5.5 (#8364)
* chore: update typescript to v5.5

* fix: some errors

* chore(deps): update @pnpm/logger

* chore(deps): use catalogs

* refactor: remove a type no longer necessary

* chore(deps): revert the catalog changes

This reverts commit 5a3d4394f1.

* refactor: move types to their own files

* refactor: change logger error type

* feat: add pkgsStack to LogBase

* feat: add type param to StreamParser

* refactor: move error fields out for clarity

* style: fix eslint

* feat: nullify non existence fields

* feat: add hint

* feat: remove the nullifications

This reverts commit 955e196032.

* feat: add `package` field

* feat: extend `RequestRetryMessage.error`

* fix: missing `id` field

* fix: statsLogger

* fix: correct types

* fix: pkgsDiff

* refactor: use interfaces

* fix: reportSummary

* fix: revert erroneous change

This reverts commit 81042a0783.

* fix: audit

* fix: silentReporter

* fix: reporter

* fix: eslint

* fix: main.ts

* fix: errorHandler

* refactor: share code

* fix: test/reportingPeerDependencyIssues

* fix: default-reporter/test/index.ts

* fix: test/reportingErrors.ts

* fix: test/execPnpm

---------

Co-authored-by: khai96_ <hvksmr1996@gmail.com>
2024-08-09 19:18:32 +02:00
Zoltan Kochan
449041c5aa chore(release): libs 2024-08-07 18:07:03 +02:00
Khải
5bf6aaa407 refactor: move @pnpm/logger to the monorepo (#8385)
* chore: create @pnpm/logger

* fix: workaround typescript error

* chore: update manifests

* chore(deps): link @pnpm/logger from workspace
2024-08-07 18:02:08 +02:00
Zoltan Kochan
2d3a119bb4 chore(release): 9.7.0 2024-08-07 02:13:26 +02:00
Zoltan Kochan
87439cdf35 chore(release): libs 2024-08-05 13:45:55 +02:00
Zoltan Kochan
5d059765a8 chore(release): libs 2024-07-29 15:58:56 +02:00
Zoltan Kochan
3b82169faf chore(release): 9.6.0 2024-07-22 01:41:03 +02:00
Zoltan Kochan
07a7ac4a93 chore(release): 9.5.0 2024-07-07 18:27:55 +02:00
Zoltan Kochan
a3d5f609d0 chore(release): 9.5.0-beta.1 2024-07-04 15:54:08 +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
576f13878e refactor: deduplicate arrayOfWorkspacePackagesToMap (#8265) 2024-07-01 14:45:13 +02:00
Zoltan Kochan
dd00eeb18c refactor: normalize dir field names across project objects (#8262) 2024-07-01 11:27:04 +02:00
Zoltan Kochan
1865472bde chore: use catalogs 2024-06-27 22:06:05 +02:00
Zoltan Kochan
79830ff0b9 chore: use catalogs 2024-06-27 21:18:27 +02:00