Commit Graph

144 Commits

Author SHA1 Message Date
Zoltan Kochan
aa33269f9f fix: peer dependency rules should not change the lockfile (#7758)
* fix: peer dependency rules should not change the lockfile

* test: fix

* fix: hide peer issues warning if there nothing to report
2024-03-13 17:55:18 +01:00
BlueGreenMagick
8c5fe4febe fix: packageManager field can contain various values (#7734)
* fix: fix packageManager field not working with prerelease version

* fix: remove hash from packageManager reference

* test: install should not fail for packageManager field with hash

* fix: packageManager field may contain URL instead of semver

corepack uses `URL.canParse()` to check if a given value is a URL or semver,
which was only added in recent Node versions and
is not supported by all node versions `"node" >= "18.12"` that pnpm supports.

So instead, we check if the value contains ':'
as it may not appear on semver, while it must appear on URL.

* test: install should not fail for packageManager field with url

* test: checking prerelease versions in package-is-installable

* fix: typo

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-03-07 02:00:03 +01:00
Zoltan Kochan
0564745b1d style: use unknown in try/catch (#7709) 2024-03-06 01:47:04 +01:00
Zoltan Kochan
a5a3b995c1 test: use sync fs operations in tests (#7664) 2024-02-16 19:43:04 +01:00
Zoltan Kochan
857c0547ac fix(deps): update 2024-02-12 22:46:58 +01:00
Zoltan Kochan
3477ee5ee8 feat!: check the packageManager field (#7635)
* feat!: check the packageManager field

* test: fix

* refactor: update error message to match what corepack prints

* feat: add pm-strict option

* refactor: pm-strict=>package-manager-strict

* fix: remove packageManager field from package.json on publish
2024-02-11 01:07:23 +01:00
Khải
004addf63e feat(completion): print completion code to stdout (#7597)
* feat(completion): generate-completion

close #3083

* feat: better error message

* test: generate-completion

* feat(completion): add powershell

* chore(deps): update @pnpm/tabtab to 0.3.0

* switch to provided type declarations
* fix typings
* update tests
* update bundle scripts

* refactor: remove unnecessary `??`

* refactor: replace a type def with provided types

* chore(deps): update @pnpm/tabtab to 0.4.0

* feat(cli): rename completion command

* chore(deps): update @pnpm/tabtab to 0.4.1

* refactor: use tabtab's new features

* fix: pass shell

* chore(deps): update @pnpm/tabtab to 0.5.0

* chore(deps): update @pnpm/tabtab to 0.5.1

* fix: remove unused import

* refactor: move completion to plugins

* feat: remove `{install,uninstall}-completion`

Just `pnpm completion` is enough

* test: fix

* refactor: direct import

* refactor: move tests to next to the lib

* refactor: merge 2 packages into 1

* fix: update changeset and remove install-completion
2024-02-06 23:18:17 +01:00
Zoltan Kochan
1fc7c86778 Merge branch 'v8' 2024-01-27 16:55:07 +01:00
Zoltan Kochan
778efe2022 chore(release): 8.15.0 2024-01-27 16:48:08 +01:00
Young Jin Park
f12884def8 fix: print correctly aggregate output when mixing stages (#7557)
close #7556
2024-01-25 23:43:55 +01:00
Young Jin Park
e6428d85d7 fix: print correctly aggregate output when mixing stages (#7557)
close #7556
2024-01-25 23:43:22 +01:00
chlorine
ac71ce108c fix: the warning should not be printed when --json is specified (#7522)
close #7514
2024-01-13 14:33:37 +01:00
Zoltan Kochan
ecda06d7b5 Merge branch 'v8' 2024-01-10 16:04:26 +01:00
Zoltan Kochan
388e1cc1cb chore(release): 8.14.1 2024-01-10 15:57:53 +01:00
Zoltan Kochan
6e3b75a42f chore(release): 9.0.0-alpha.0 2024-01-08 19:12:45 +01:00
Zoltan Kochan
43cdd87c0c feat!: drop Node.js 16 support 2024-01-08 11:57:44 +01:00
Zoltan Kochan
c0182b429f chore(release): 8.14.0 2024-01-02 23:57:01 +01:00
Zoltan Kochan
7bef886144 chore(release): libs 2024-01-02 10:31:17 +01:00
Yanzi
fac2ed4241 feat: pnpm i a-module-already-in-dev-deps should show message (#7348)
close #926

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-12-27 02:01:12 +01:00
Zoltan Kochan
568860daae chore(release): 8.13.1 2023-12-26 15:39:22 +01:00
Simon He
4e71066ddc feat: new parameter --fail-if-no-match supported (#7409)
close #7403

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-12-26 13:06:10 +00:00
Zoltan Kochan
74e8f474f3 chore(release): libs 2023-12-14 16:15:57 +01:00
Zoltan Kochan
8a86facc06 chore(release): libs 2023-12-05 19:44:18 +01:00
Zoltan Kochan
633c0d6f8f revert: "fix: pnpm add a-module-already-in-dev-deps should show message that it wasn't moved to dependencies (#7319)"
This reverts commit 45bdc79b17.
2023-11-27 15:30:19 +01:00
Zoltan Kochan
058edcff85 chore(release): 8.11.0 2023-11-24 17:27:18 +01:00
Yanzi
45bdc79b17 fix: pnpm add a-module-already-in-dev-deps should show message that it wasn't moved to dependencies (#7319)
close #926
2023-11-20 03:40:09 +02:00
Zoltan Kochan
2d8015b0eb chore(deps): update 2023-11-16 17:36:11 +02:00
Zoltan Kochan
df9eade77c chore(release): 8.10.3 2023-11-12 14:02:55 +02:00
Zoltan Kochan
fc858f6a51 chore(release): libs 2023-11-01 12:34:02 +02:00
Zoltan Kochan
8e027f9067 chore(deps): update 2023-10-24 23:02:17 +03:00
Zoltan Kochan
b90029432d chore(release): 8.10.0-0 2023-10-24 15:54:22 +03:00
Nacho Aldama
43ce9e4a6a feat: add support to install different architectures (#7214)
close #5965

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-10-24 15:50:40 +03:00
Zoltan Kochan
95ffe6f639 test: check spelling in markdown files 2023-10-20 18:38:01 +03:00
Zoltan Kochan
733d612ad1 test: check spelling with cspell (#7229) 2023-10-20 15:58:27 +03:00
Zoltan Kochan
cf508e0680 chore(release): 8.9.1 2023-10-15 17:46:05 +03:00
Zoltan Kochan
1ce2dd13ad fix(deps): update didyoumean2 to v6 2023-10-15 15:25:22 +03:00
Zoltan Kochan
01bc58e2c4 fix(deps): update 2023-10-15 13:08:09 +03:00
Zoltan Kochan
201695f166 chore(release): 8.9.0-0 2023-10-08 22:55:35 +03:00
Zoltan Kochan
3ad2ec63eb chore(release): libs 2023-10-08 17:21:51 +03:00
LaicZhang
41b5eb7a5b perf: replace startsWith with === (#7138) 2023-09-27 16:32:05 +03:00
Zoltan Kochan
73ebfc94e0 chore(release): 8.8.0 2023-09-26 15:24:32 +03:00
Chris
ee328fd25e feat(reporter): add --hide-reporter-prefix option (#7086)
close #7061

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-09-23 03:56:36 +03:00
Zoltan Kochan
7173127aa0 chore(release): 8.7.6 2023-09-17 22:18:18 +03:00
Zoltan Kochan
61b9ca1896 feat: print a summary about deprecated subdeps (#7090)
close #6707
2023-09-15 01:56:14 +03:00
Zoltan Kochan
3ed5a7cd44 chore(release): libs 2023-09-13 12:32:41 +03:00
Zoltan Kochan
10cb4b3245 chore(release): 8.7.5 2023-09-11 15:15:09 +03:00
Zoltan Kochan
d194baeb50 chore(release): 8.7.4 2023-09-06 01:08:56 +03:00
Zoltan Kochan
89302a4d30 chore(release): 8.7.2 2023-09-04 15:45:36 +03:00
Brandon Cheng
cc785f7e19 fix: report correct errors when using the pnpm server (#7032) 2023-09-02 22:28:59 +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