Zoltan Kochan
70d565cf79
chore(release): 10.5.1
2025-02-26 12:56:43 +01:00
Zoltan Kochan
0b31bf00d8
fix: dlx should ignore settings from package.json ( #9179 )
...
close #9178
close #9174
2025-02-26 12:55:17 +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
3a71df0588
refactor: use lex-comparator
2025-02-16 14:29:23 +01:00
Zoltan Kochan
0205498322
fix: print warning about ignored builds on repeat install ( #9116 )
...
close #9106
close #9111
2025-02-16 03:12:37 +01:00
Zoltan Kochan
2a6b51f483
chore(release): 10.4.0
2025-02-14 01:18:32 +01:00
Zoltan Kochan
4aa6d45e5c
feat: approve-builds works with global packages ( #9095 )
2025-02-13 01:42:49 +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
c52f55af30
refactor: create exec.pnpm-cli-runner ( #9064 )
2025-02-08 22:34:19 +01:00
Khải
265946bb6d
fix: verify-deps-before-run after install --prod|--no-optional ( #9055 )
...
close #9019
2025-02-07 12:36:58 +01:00
Zoltan Kochan
d40dfebdca
chore(release): 10.2.1
2025-02-06 20:00:29 +01:00
Zoltan Kochan
afbb65495e
fix: running approve-builds from a subdirectory of a workspace ( #9048 )
2025-02-05 23:45:26 +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
btea
5d7192c3de
fix: exit approve-builds command when getAutomaticallyIgnoredBuilds return empty list ( #9024 )
...
* fix: exit `approve-builds` command when `getAutomaticallyIgnoredBuilds` return empty list
* feat: print an info message when there are no packages to approve
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-02-02 22:02:27 +01:00
Junxiao Shi
c0d1c0191b
fix(lifecycle): properly quote args ( #9018 )
...
* fix(lifecycle): properly quote args
close #8980
close #7641
2025-01-29 23:32:46 +01:00
Zoltan Kochan
a2a4509af5
fix: sort keys in pnpm.onlyBuiltDependencies
2025-01-29 11:06:23 +01:00
Zoltan Kochan
c5a0b9ea43
chore(release): 10.1.0
2025-01-26 22:26:45 +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
c96eb2b042
fix(lifecycle): skip verify for install hooks ( #8957 )
...
close #8954
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-01-10 23:14:27 +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
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
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
878ea8c43b
feat!: use an allow list of built dependencies by default ( #8897 )
2024-12-24 14:06:50 +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
516c4b301b
fix: improve how ignored lifecycle scripts are reported ( #8899 )
2024-12-22 21:22:06 +01:00
Zoltan Kochan
38eb97a8b3
chore(release): libs
2024-12-18 13:40:41 +01:00
Zoltan Kochan
3278c588cd
chore(release): 10.0.0-rc.0
2024-12-16 02:31:45 +01:00
Zoltan Kochan
a76da0c53c
feat!: remove conversion of lockfile v6 to v9 ( #8866 )
2024-12-15 14:39:19 +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
Zoltan Kochan
7d7c51ecd6
feat!: dlx should use exact versions of packages in the cache key ( #8811 )
...
close #8722
2024-11-27 09:04:42 +01:00
Zoltan Kochan
7997ed4ae2
fix: running install automatically before run ( #8805 )
2024-11-25 14:02:17 +01:00
Zoltan Kochan
39c53852ea
fix: some commands should not fail if a different package manager is set in package.json ( #8802 )
...
close #7959
2024-11-25 10:13:23 +01:00
Zoltan Kochan
4dd27a894f
feat: add an option to install dependencies before running scripts ( #8781 )
2024-11-25 09:02:12 +01:00
Zoltan Kochan
e200728e0b
fix: parameters should be passed down to the executed script when running pnpm t ( #8776 )
2024-11-17 22:55:04 +01:00
btea
ef7c10221c
fix: pnpm exec should specify command ( #8774 )
2024-11-17 17:07:32 +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
Jonathan Hefner
8c3de19fc1
fix(dlx): ENOENT when symlink=false ( #8732 ) ( #8733 )
...
Prior to this commit, if `symlink` was set to `false` (such as in an RC
file), `dlx` would throw `ENOENT` because it expected the
`node_modules/the-package` symlink to exist:
```console
$ pnpm config get symlink
false
$ rm -rf ~/.cache/pnpm/
$ pnpm dlx the-package
Packages: +1
+
Progress: resolved 1, reused 1, downloaded 0, added 1, done
ENOENT ENOENT: no such file or directory, open '/home/${USER}/.cache/pnpm/dlx/.../
node_modules/the-package/package.json'
```
This commit filters the `symlink` option before installing the package,
allowing the symlink to be created, preventing the error.
Fixes #8732 .
2024-11-06 10:43:35 +01:00
btea
934f1836f1
fix: script command regular parameters do not support the v flag ( #8711 )
2024-11-03 21:32:40 +01:00
Khải
f76ff6389b
fix(dlx): race condition ( #8712 )
2024-10-29 12:15:00 +01:00