Commit Graph

10701 Commits

Author SHA1 Message Date
Zoltan Kochan
991a2bf407 chore(release): 9.0.0-alpha.3 v9.0.0-alpha.3 2024-02-09 01:52:19 +01:00
Zoltan Kochan
862c707610 fix: converting dep path to file name (#7632)
close #7631
2024-02-09 01:51:29 +01:00
Zoltan Kochan
6d9f79e54b chore(release): 9.0.0-alpha.2 v9.0.0-alpha.2 2024-02-09 01:21:02 +01:00
Zoltan Kochan
98a126699c fix: resolve peer of peer from the deps of direct dependent package (#7606)
close #7444

Peer dependencies of peer dependencies are now resolved correctly. When peer dependencies have peer dependencies of their own, the peer dependencies are grouped with their own peer dependencies before being linked to their dependents.

For instance, if `card` has `react` in peer dependencies and `react` has `typescript` in its peer dependencies, then the same version of `react` may be linked from different places if there are multiple versions of `typescript`. For instance:

```
project1/package.json
{
  "dependencies": {
    "card": "1.0.0",
    "react": "16.8.0",
    "typescript": "7.0.0"
  }
}
project2/package.json
{
  "dependencies": {
    "card": "1.0.0",
    "react": "16.8.0",
    "typescript": "8.0.0"
  }
}
node_modules
  .pnpm
    card@1.0.0(react@16.8.0(typescript@7.0.0))
      node_modules
        card
        react --> ../../react@16.8.0(typescript@7.0.0)/node_modules/react
    react@16.8.0(typescript@7.0.0)
      node_modules
        react
        typescript --> ../../typescript@7.0.0/node_modules/typescript
    typescript@7.0.0
      node_modules
        typescript
    card@1.0.0(react@16.8.0(typescript@8.0.0))
      node_modules
        card
        react --> ../../react@16.8.0(typescript@8.0.0)/node_modules/react
    react@16.8.0(typescript@8.0.0)
      node_modules
        react
        typescript --> ../../typescript@8.0.0/node_modules/typescript
    typescript@8.0.0
      node_modules
        typescript
```

In the above example, both projects have `card` in dependencies but the projects use different versions of `typescript`. Hence, even though the same version of `card` is used, `card` in `project1` will reference `react` from a directory where it is placed with `typescript@7.0.0` (because it resolves `typescript` from the dependencies of `project1`), while `card` in `project2` will reference `react` with `typescript@8.0.0`.
2024-02-09 00:50:08 +01:00
Zoltan Kochan
e5fbac331e fix: don't print unnecessary warning in project that uses hoisted node_modules 2024-02-09 00:10:52 +01:00
Zoltan Kochan
f67ad31f64 fix: never wrap lines in the lockfile 2024-02-08 22:37:56 +01:00
Zoltan Kochan
3c7c0926f6 ci: update pnpm/action-setup to v3.0.0 2024-02-08 11:35:42 +01:00
Zoltan Kochan
7a8e342ba9 ci: update pnpm/action-setup to v3.0.0 2024-02-08 11:34:55 +01:00
Steven Petryk
4b8858be21 chore(pd): ensure pd always runs with sourcemaps (#7628)
This change makes it so that `pd` starts a Node process and passes
`--enable-source-maps` to it, which allows for better debugging when
`pd` commands fail.

I'm not sure if this will work on Windows since it changes a simple
`require` to a `childProcess.execSync`.
2024-02-08 10:43:57 +01:00
Zoltan Kochan
e515678f7f test: fail if cannot run registry mock 2024-02-08 02:10:35 +01:00
Zoltan Kochan
89b396b4c6 refactor!: createPeersFolderSuffix renamed to createPeersDirSuffix 2024-02-08 00:52:21 +01:00
Zoltan Kochan
e74688a30c chore(deps): update @pnpm/registry-mock 2024-02-08 00:40:22 +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
Hiếu Đặng
985381c091 fix: Gitlab resolver (#7609)
close #7603
2024-02-06 23:09:30 +01:00
Zoltan Kochan
f5eadba943 revert: resolve peer having peer correctly
ref #7583
2024-02-03 21:57:55 +01:00
Nacho Aldama
1a3449e940 feat: support node-options in .npmrc file (#7601)
сlose #7596
2024-02-01 13:21:03 +01:00
Steven Petryk
4511aaf6e9 chore(pd): make esbuild find js-yaml correctly (#7598)
* chore(pd): make esbuild find `js-yaml` correctly

For some reason, esbuild uses the upstream version of `js-yaml` rather
than the @zkochan fork. This throws a little plugin into esbuild's
resolution to resolve `js-yaml` using Node's resolvers instead, which
seems to find the correct version.

There may be a better way to do this, especially considering esbuild
does fine in the normal build of pnpm as far as I can tell... though
that may be because `tsc` does the first pass.
2024-01-31 01:07:56 +01:00
Zoltan Kochan
977060fc67 fix: resolve peer having peer correctly (#7583)
close #7444
2024-01-31 00:28:16 +01:00
Jake Bailey
d636eed20b fix(object-hasher): switch to object-hash to fix hashing of large objects (#7591) 2024-01-29 20:33:44 +01:00
Zoltan Kochan
732430a1f3 fix: don't add bundleDependencies=false to the lockfile (#7580)
close #7576
2024-01-28 12:25:20 +01:00
Zoltan Kochan
ba417f6962 chore: update packageManager field 2024-01-27 17:45:05 +01:00
Zoltan Kochan
641ea3e566 chore(release): 9.0.0-alpha.1 v9.0.0-alpha.1 2024-01-27 17:33:35 +01:00
Zoltan Kochan
329f8b6863 docs: remove not needed changesets 2024-01-27 17:30:45 +01:00
Zoltan Kochan
1fc7c86778 Merge branch 'v8' 2024-01-27 16:55:07 +01:00
Zoltan Kochan
778efe2022 chore(release): 8.15.0 v8.15.0 2024-01-27 16:48:08 +01:00
Khải
f43bdcf45d feat(cli): forbid combining specs and --latest (#7567)
---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-27 16:38:25 +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
Nacho Aldama
df9b16aa98 fix: don't fail if the file already exists (Windows Reflinks) (#7555)
close #7554
2024-01-27 14:47:16 +01:00
Khải
31054a63e6 fix(update): stop downgrading prereleases (#7466)
close #7436

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-27 14:47:03 +01:00
Nacho Aldama
e146c258a8 fix: don't fail if the file already exists (Windows Reflinks) (#7555)
close #7554
2024-01-27 14:44:37 +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
btea
fd42caf242 feat: extract name from license file (#7530) 2024-01-26 23:28:43 +01:00
btea
10a0896551 feat: extract name from license file (#7530) 2024-01-26 23:05:20 +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
Zoltan Kochan
0c383327ea fix: reduce the side-effects cache key length (#7563)
close #5056
2024-01-25 03:20:08 +01:00
Zoltan Kochan
a3f90c2757 fix: reduce the side-effects cache key length (#7563)
close #5056
2024-01-25 03:17:11 +01:00
Nacho Aldama
e2e08b98f6 feat: set default import method in Win to hardlink (#7564)
Close #7524
Close #7547
Close #7492

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-24 13:42:37 +01:00
Nacho Aldama
a516ba0e5c feat: set default import method in Win to hardlink (#7564)
Close #7524
Close #7547
Close #7492

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-24 13:42:06 +01:00
Rex Zeng
b13d2dc1ae feat: add sub folder support for git url (#7487)
close #4765

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-01-24 02:15:02 +01:00
Zoltan Kochan
11439d08fb chore(release): 8.14.3 v8.14.3 2024-01-23 10:09:37 +01:00
btea
cbc9417879 fix: update licenses command usage info (#7539) 2024-01-23 10:06:28 +01:00
await-ovo
3c6726936c fix(pack): "pnpm pack" should work as expected when prepack modifies the manifest (#7558) 2024-01-23 10:06:19 +01:00
await-ovo
5f05d90d15 fix(pack): "pnpm pack" should work as expected when prepack modifies the manifest (#7558) 2024-01-23 10:05:38 +01:00
btea
b7656c85a7 fix: update licenses command usage info (#7539) 2024-01-23 01:54:17 +01:00
Zoltan Kochan
793d523103 Merge branch 'v8' 2024-01-22 10:14:47 +01:00
Zoltan Kochan
b93bc1aa41 chore(release): 8.14.2 v8.14.2 2024-01-22 10:10:27 +01:00
Brandon Cheng
5a9188eeee chore(deps): update typescript-eslint (6.11.0 -> 6.18.1) (#7545)
* chore: uppdate @typescript-eslint/* 6.11.0 -> 6.18.1

https://github.com/typescript-eslint/typescript-eslint/issues/8261

```
TypeError: Cannot read properties of undefined (reading 'some')
Occurred while linting /home/runner/work/pnpm/pnpm/cli/default-reporter/src/reporterForClient/pkgsDiff.ts:70
Rule: "@typescript-eslint/prefer-nullish-coalescing"
    at LogicalExpression[operator = "||"] (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/@typescript-eslint+eslint-plugin@6.19.0_@typescript-eslint+parser@6.19.0_eslint@8.56.0_typescript@5.3.3/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js:267:32)
    at ruleErrorHandler (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/linter.js:1076:28)
    at /home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/node-event-generator.js:297:26)
    at NodeEventGenerator.applySelectors (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/node-event-generator.js:326:22)
    at NodeEventGenerator.enterNode (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/node-event-generator.js:340:14)
    at CodePathAnalyzer.enterNode (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:803:23)
    at /home/runner/work/pnpm/pnpm/node_modules/.pnpm/eslint@8.56.0/node_modules/eslint/lib/linter/linter.js:1111:32
```

* refactor: fix instance of no-floating-promises in calc-dep-state package

```
packages/calc-dep-state/src/index.ts
  70:5  error  An array of Promises may be unintentional. Consider handling the promises' fulfillment or rejection with Promise.all or similar, or explicitly marking the expression as ignored with the `void` operator  @typescript-eslint/no-floating-promises
```
2024-01-22 00:46:07 +01:00
MrAngelos6
f8e305423f fix: print correct node version on unsupported node error (#7544) 2024-01-21 19:56:46 +01:00
await-ovo
9fb45d0fc5 fix(plugin-commands-publishing): should pack main file or bin files defined in publishConfig (#7538)
close #4195
2024-01-20 02:01:43 +01:00