Commit Graph

87 Commits

Author SHA1 Message Date
Khải
83681daf57 fix: install packages with incompatible libc (#8569)
close #7362
2024-09-27 22:46:16 +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
24ad47cfb8 refactor: replace array.reduce (#8537) 2024-09-18 04:41:35 +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
Zoltan Kochan
eb8bf2a993 feat: self-update command (#8424) 2024-08-19 14:26:17 +02:00
Zoltan Kochan
797ef0fc46 refactor: rename lockfile-types to lockfile.types 2024-07-27 14:46:23 +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
Khải
0ef168b77d feat: per-package node version (#8277)
close #6720
2024-07-13 14:08:57 +02:00
Zoltan Kochan
a2e9bdcc02 refactor: remove path-exists from tests 2024-07-08 17:51:23 +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
84654bd2ad fix: installation with filtering and dedupe-peer-dependents=true (#8270)
close #6300
2024-07-03 15:43:01 +02:00
Zoltan Kochan
341656f9b3 refactor: make workspace packages a map 2024-07-02 22:49:38 +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
79830ff0b9 chore: use catalogs 2024-06-27 21:18:27 +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
04b8363a8d refactor: store workspace manifest in @pnpm/config for reuse (#8213)
* feat: store workspacePackagePatterns in @pnpm/config

* refactor: pass workspace patterns from config to findWorkspacePackages

* chore: add changeset
2024-06-17 01:26:45 +02:00
Zoltan Kochan
13e55b2865 fix: a filtered install should update the lockfile first (#8183)
close #8165
2024-06-12 14:49:39 +02:00
Zoltan Kochan
c9db742824 fix: update typescript to v5.4 (#7905) 2024-04-12 14:03:45 +02:00
Khải
e8fc6139ea refactor(install): type checking perf (#7877) 2024-04-09 16:23:44 +02:00
Colin Casey
d4e13ca969 fix(prune): add --ignore-scripts arg to prune command (#7836)
close #5030
2024-03-28 00:05:07 +01:00
Khải
316c18aba4 feat(cli): forbid combining specs and --latest (#7567)
---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-27 16:37:17 +01:00
Khải
0ec0a44da7 fix(update): stop downgrading prereleases (#7466)
close #7436

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-27 14:41:58 +01:00
Daniel Maricic
38e3c53697 fix(install-help): add ignore-workspace (#7509) 2024-01-10 12:32:04 +01:00
Brandon Cheng
064aeb681e feat: accept install command line options as dedupe options (#7473)
* refactor: reuse OPTIONS.ignoreScripts in dedupe help

* feat: accept install command line options as dedupe options

* test: add test to ensure .npmrc is used by pnpm dedupe

* test: add test for "pnpm dedupe --store-dir=..."

* test: ensure pnpm dedupe does not accidentally inherit --frozen-lockfile

* revert: remove newly added e2e tests in dedupe

* test: add unit test to check contents of dedupe cliOptionTypes
2024-01-02 00:47:46 +01:00
Andrey Sitnik
619e9ed6f4 fix: update --interactive for light theme (#7454)
close #7439
2023-12-24 01:48:19 +01:00
Zoltan Kochan
6558d1865f fix: dedupe commands of direct dependencies (#7359) 2023-12-05 16:39:52 +01:00
Zoltan Kochan
3db0db8d12 revert: "feat: use-experimental-npmjs-files-index option (#7177)"
This reverts commit a2bf6a0e96.
2023-11-22 02:01:27 +02:00
Tristan Knight
a2bf6a0e96 feat: use-experimental-npmjs-files-index option (#7177)
close #1328
2023-11-19 02:45:33 +02:00
Zoltan Kochan
e56207df65 refactor: rootProjectManifestDir 2023-10-24 15:30:06 +03:00
Zoltan Kochan
d6592964f0 refactor: rootProjectManifestDir is a required option 2023-10-24 15:14:33 +03:00
Zoltan Kochan
46dc34dcc8 fix: reading settings from package.json when shared-workspace-lockfile is false (#7202)
close #7184
2023-10-15 12:46:56 +03:00
await-ovo
bc83798d46 refactor(plugin-commands-installation): optimize cli output after select dependencies when update (#7125)
* refactor(plugin-commands-installation): optimize cli output after select dependencies when update

* docs: add changeset

* chore: set dep group choice to disabled

* fix: test case

* feat: filter out dep group choice in prompt output

* docs: update changesets

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-10-13 22:36:08 +03:00
Zoltan Kochan
d774a3196c feat: onlyBuiltDependenciesFile (#7167)
close #7137
2023-10-08 01:50:47 +03:00
Alvis Tang
12f45a83d2 fix: honor never/only-built-dependencies in workspace setup (#7141)
close #7135
close #5407

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-10-03 19:42:13 +03:00
Jannis Morgenstern
832e288263 feat: add disallow-workspace-cycles option to error on cyclic dependencies (#7144)
* feat: add `no-cyclic` option to error on cyclic dependencies

* refactor: rename no-cyclic to disallow-workspace-cycles
2023-10-03 19:25:22 +03:00
LaicZhang
41b5eb7a5b perf: replace startsWith with === (#7138) 2023-09-27 16:32:05 +03:00
Bryan Lee
ba48fe0bc4 feat: add pnpm dedupe --ignore-scripts (#7103)
close #7102
2023-09-19 02:09:09 +03:00
Brandon Cheng
e9aa6f682a chore(deps): update TypeScript 5.1.6 -> 5.2.2 (#7016)
* test: use sha512 integrity in fixtures to fix ci break

* test: update snapshots for sha512 fixture change

* chore(deps): remove unneeded peer dependency exception

The `peerDependencyRules.allowedVersions` exception on
`@typescript-eslint/eslint-plugin` no longer seems to be necessary.
Removing it does not introduce any new peer dependency errors on
`pnpm install`.

I suspect this was needed for the
`eslint-config-standard-with-typescript` dependency in the past, but a
@typescript-eslint/eslint-plugin upgrade made it no longer necessary.

* chore(deps): update @typescript-eslint dependencies 5.62.0 -> 6.5.0

@typescript-eslint 6.5.0 is the first version to introduce support for
TypeScript 5.2.

https://github.com/typescript-eslint/typescript-eslint/releases/tag/v6.5.0

```
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.2.0

YOUR TYPESCRIPT VERSION: 5.2.2

Please only submit bug reports when using the officially supported version.
```

* chore(deps): update eslint-config-standard-with-typescript 37.0.0 -> 39.0.0

Version 38.0.0 is the first version to support @typescript-eslint v6.
https://github.com/standard/eslint-config-standard-with-typescript/releases/tag/v38.0.0

Otherwise the following error appears.

```
> eslint "src/**/*.ts" "test/**/*.ts" "--fix"

Oops! Something went wrong! :(

ESLint: 8.47.0

Error: ../../.eslintrc.json » @pnpm/eslint-config » eslint-config-standard-with-typescript:
        Configuration for rule "@typescript-eslint/restrict-plus-operands" is invalid:
        Value {"checkCompoundAssignments":true} should NOT have additional properties.

    at ConfigValidator.validateRuleOptions (/Users/gluxon/Developer/pnpm/node_modules/.pnpm/@eslint+eslintrc@2.1.2/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2039:23)
    at /Users/gluxon/Developer/pnpm/node_modules/.pnpm/@eslint+eslintrc@2.1.2/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2094:18
```

* chore: remove unnecessary disables for restrict-template-expressions

The `@typescript-eslint/restrict-template-expressions` rule relaxed
what types are allowed in template expressions.

c13ce0b4f7 (diff-b852e1e199d2976eee1183fc84ac12a5d42fc61f0ae4b1c290dd54d621546db0)

Many of these disables were for interpolated values that had an `any`
type.

* chore: remove unnecessary disables for restrict-plus-operands

The original error was:

```
Invalid operand for a '+' operation. Operands must each be a number or string. Got `any`. eslint@typescript-eslint/restrict-plus-operands
```

It look like the newer version now allows `any`.

* style: fix errors of prefer-optional-chain and prefer-nullish-coalescing

The `@typescript-eslint/prefer-optional-chain` and
`@typescript-eslint/prefer-nullish-coalescing` rules got a bit
smarter. This commit applies autofixes. I believe the changes should be
equivalent to what existed before.

Example of the new `@typescript-eslint/prefer-optional-chain` lints.

```
pnpm/pkg-manifest/exportable-manifest/src/index.ts
  71:10  error  Prefer using an optional chain expression instead, as it's more concise and easier to read  @typescript-eslint/prefer-optional-chain
  87:10  error  Prefer using an optional chain expression instead, as it's more concise and easier to read  @typescript-eslint/prefer-optional-chain
```

Example of the new `@typescript-eslint/prefer-nullish-coalescing` lints.

```
pnpm/fs/find-packages/src/index.ts
  32:38  error  Prefer using nullish coalescing operator (`??`) instead of a ternary expression, as it is simpler to read  @typescript-eslint/prefer-nullish-coalescing
```

* chore(deps): update TypeScript 5.1.6 -> 5.2.2

* chore(deps): update @yarnpkg/core->@types/lodash override to 4.14.197

This fixes a compilation error that appears on TypeScript 5.2.2. This
error was fixed in a later version of `@types/lodash`.

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/66123

```
../node_modules/.pnpm/@types+lodash@4.14.181/node_modules/@types/lodash/index.d.ts:45:15 - error TS2428: All declarations of 'WeakMap' must have identical type parameters.

45     interface WeakMap<K extends object, V> { }
                 ~~~~~~~

Found 4 errors.
```
2023-08-31 16:27:01 +03:00
Clark Tomlinson
81e5ada3a9 feat(interactive-update): group dependancies by type, add package url column (#6978)
* feat(interactive-update): group dependancies by type, add package url column

Partially resolves https://github.com/pnpm/pnpm/issues/6314

* refactor: update

* docs: update changeset

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-08-30 22:26:39 +03:00
Khải
ef3609049f feat(install): use side effect cache when rebuild (#7003)
close #6890
close #6996
2023-08-30 17:14:18 +03:00
Nacho Aldama
e0474bc4c3 fix: warn when linking a package with peerDeps (#6956)
close #615
2023-08-22 12:58:38 +03:00
Nacho Aldama
bf21c9bf3a fix: add support for npm lockfile v3 in import (#6931)
closes #6233

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-08-17 16:51:30 +03:00
await-ovo
12b0f09768 fix(plugin-commands-patching): patch should works correctly when shared-workspace-file is false (#6889) 2023-08-03 02:53:06 +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
Zoltan Kochan
0b830f947a fix: pnpm update --global --latest (#6671)
close #3779
2023-06-14 07:41:16 +03:00
Zoltan Kochan
955d07394a refactor: rename find-workspace-packages package 2023-06-09 16:27:00 +03:00
Zoltan Kochan
1989a068b3 chore(deps): update 2023-06-03 22:41:42 +03:00