Commit Graph
164 Commits
Author SHA1 Message Date
Ben Ayles 497fea8de5 feat: add windows arm64 build (#8252)
close #8251
2024-06-28 00:51:24 +02:00
Zoltan Kochan 7678113d79 chore: use catalogs (#8249) 2024-06-27 17:22:38 +02:00
Zoltan Kochan 6e031e7428 test: fix auth tests 2024-06-18 02:45:48 +02:00
Zoltan Kochan 347c79a8cd chore(release): 9.4.0 2024-06-17 17:44:19 +02:00
Zoltan Kochan ed9c041f61 fix(deps): update 2024-06-11 11:27:03 +02:00
Zoltan Kochan d24d7974ac chore(release): 9.3.0 2024-06-10 13:58:41 +02:00
Zoltan Kochan 0ccdca2167 docs: fix jetbrains logo size 2024-06-09 22:18:49 +02:00
Brandon Cheng c7e1b6fae8 chore: configure TypeScript project references for tests (#8128)
* refactor: store link values before converting to references

* fix: use .sort() without localeCompare

https://github.com/pnpm/pnpm/pull/8128#discussion_r1614031566

> Nit, but you probably just want to call sort without a comparison
> function; these are already strings and locale compare is not a good
> comparison for anything but human readable strings since it will
> differ on different people's machines based on their language setting.
> I've hit this too many times before for code gen.

* feat: configure meta-updater to write test/tsconfig.json files

* fix: relative imports for __typings__

* chore: `pnpm run meta-updater`

* fix: explicitly use test/tsconfig.json for ts-jest
2024-05-31 12:48:13 +02:00
Brandon Cheng 5de89d81a6 chore: remove top-level composite property from tsconfig.json files (#8130)
* chore: remove no-op composite property

* chore: remove top-level composite property from existing files
2024-05-28 02:37:40 +02:00
Brandon Cheng 2e3fe94f4f chore: use more specific devDependencies pattern for eslint import check (#8131)
* fix: use more specific devDependencies pattern for eslint import check

* fix: allow test.ts files in src to import devDependencies

Fixes

```
/home/runner/work/pnpm/pnpm/store/plugin-commands-store/src/cleanExpiredDlxCache.test.ts
Error:   3:1  error  '@pnpm/crypto.base32-hash' should be listed in the project's dependencies, not devDependencies  import/no-extraneous-dependencies
Error:   4:1  error  '@pnpm/prepare' should be listed in the project's dependencies, not devDependencies             import/no-extraneous-dependencies
```
2024-05-28 02:36:32 +02:00
Zoltan Kochan 838b7f0125 chore(release): libs 2024-05-22 00:24:34 +02:00
Zoltan Kochan 355ccd1243 chore(release): libs 2024-05-21 14:46:39 +02:00
KhảiandZoltan Kochan b1d7f8c6cf fix(override): relative file in workspace (#8055)
close #8053

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-05-10 23:31:33 +02:00
Zoltan Kochan d6d31d6adc fix(deps): update 2024-05-07 15:27:13 +02:00
Zoltan Kochan 7e69321e53 chore(release): 9.1.0-0 2024-04-29 15:36:28 +02:00
Khải 2786b549d9 chore(eslint): explicit-module-boundary-types (#7926) 2024-04-14 13:37:50 +02:00
Khải d21464e790 refactor(utils): return type annotations (#7924) 2024-04-14 11:29:54 +02:00
Zoltan Kochan 253d50c550 fix: optional peer dependencies should resolve to optional dependencies (#7918) 2024-04-13 18:26:47 +02:00
Zoltan Kochan c9db742824 fix: update typescript to v5.4 (#7905) 2024-04-12 14:03:45 +02:00
Zoltan Kochan 035eeb6f46 chore(deps): update 2024-04-10 00:34:00 +02:00
Zoltan Kochan 43bd75c5b8 chore(release): libs 2024-04-09 17:14:05 +02:00
KhảiandZoltan Kochan 98566d95bc feat(dlx): cache (#7835)
close #5277

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2024-04-09 03:30:58 +02:00
Zoltan Kochan 501133d30b refactor: bump lockfile version to v9 instead of v7 (#7861)
In order to align the lockfile version with pnpm version that ships it.
2024-04-06 17:12:37 +02:00
Zoltan Kochan 670ed188df fix: auto install optional peer (#7837) 2024-03-28 00:02:14 +01:00
Zoltan Kochan e74e7847f3 fix: resolve missing optional peer if it is installed as a dep somewhere (#7830) 2024-03-27 13:43:52 +01:00
Zoltan Kochan b1f3308e57 docs: add new sponsor 2024-03-26 21:30:06 +01:00
Zoltan Kochan 8eddd21f07 fix: resolve missing peer from versions already present in other parts of the dep graph (#7812) 2024-03-22 19:45:54 +01:00
Zoltan Kochan d491da0c08 docs: add cerbos to sponsors 2024-03-19 00:13:29 +01:00
Zoltan Kochan e71ca7579e fix: vulnerable dependency 2024-03-15 00:54:41 +01:00
Zoltan Kochan 7d2bde1083 docs: add new sponsor 2024-03-08 01:12:10 +01:00
Zoltan Kochan 0564745b1d style: use unknown in try/catch (#7709) 2024-03-06 01:47:04 +01:00
Zoltan Kochan 1ecda50502 feat(lockfile)!: dividing "packages" field to "packages" and "snapshots" (#7700)
close #7685
2024-03-04 23:31:01 +01:00
Zoltan Kochan 7db98cae0f feat!: bump lockfile to v7 (#7666) 2024-02-17 12:57:58 +01:00
Zoltan Kochan 19542ecd28 test: use sync operations for assertions (#7663) 2024-02-16 16:23:23 +01:00
Zoltan Kochan 8249a23bca docs: remove sponsor 2024-02-16 13:39:03 +01:00
Zoltan Kochan c7d0564225 refactor: lockfile-file (#7655) 2024-02-16 11:14:47 +01:00
Zoltan Kochan 857c0547ac fix(deps): update 2024-02-12 22:46:58 +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 e74688a30c chore(deps): update @pnpm/registry-mock 2024-02-08 00:40:22 +01:00
Zoltan Kochan 977060fc67 fix: resolve peer having peer correctly (#7583)
close #7444
2024-01-31 00:28:16 +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
KhảiandZoltan Kochan 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
KhảiandZoltan Kochan 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
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
Zoltan Kochan 279f32954d docs: add new platinum sponsor 2024-01-20 00:31:41 +01:00
Zoltan Kochan 04f6233d2d docs: add new platinum sponsor 2024-01-20 00:24:16 +01:00
Zoltan Kochan 388e1cc1cb chore(release): 8.14.1 2024-01-10 15:57:53 +01:00
Brandon Cheng a2f5f5c990 test: fix file system race conditions in tests by switching to an IPC server (#7472)
* test: create new @pnpm/test-ipc-server private util package

* test: use @pnpm/test-ipc-server for previously refactored tests

* test: use @pnpm/test-ipc-server for tests using json-append

* test: change how --no-bail is passed to avoid passing it to scripts

This test began failing after the conversion to use
`@pnpm/test-echo-server` since the `--no-bail` script was being passed
to scripts.

Changing how --no-bail is configured to fix this test.

* test: use @pnpm/test-ipc-server in exec/lifecycle fixture tests

* test: use @pnpm/test-ipc-server in pkg-manager/headless fixture tests

* test: use @pnpm/test-ipc-server in exec/prepare-package fixture tests

* test: switch pnpm test from json-append to @pnpm.e2e/hello-world-js-bin

* test: fix and re-enable 'rebuild multiple packages in correct order'

The pnpm-workspace.yaml file didn't contain all packages, causing:

```
2023-12-22T02:24:46.2277155Z FAIL test/recursive.ts
2023-12-22T02:24:46.2277881Z   ● rebuild multiple packages in correct order
2023-12-22T02:24:46.2278348Z
2023-12-22T02:24:46.2278734Z     expect(received).toStrictEqual(expected) // deep equality
2023-12-22T02:24:46.2279302Z
2023-12-22T02:24:46.2279517Z     - Expected  - 1
2023-12-22T02:24:46.2279932Z     + Received  + 0
2023-12-22T02:24:46.2280186Z
2023-12-22T02:24:46.2280791Z       Array [
2023-12-22T02:24:46.2281256Z         "project-1",
2023-12-22T02:24:46.2281733Z     -   "project-2",
2023-12-22T02:24:46.2282135Z       ]
2023-12-22T02:24:46.2282334Z
2023-12-22T02:24:46.2282475Z       216 |   }, [])
2023-12-22T02:24:46.2282870Z       217 |
2023-12-22T02:24:46.2283788Z     > 218 |   expect(server1.getMessages()).toStrictEqual(['project-1', 'project-2'])
2023-12-22T02:24:46.2284725Z           |                                 ^
2023-12-22T02:24:46.2285802Z       219 |   expect(server2.getMessages()).toStrictEqual(['project-1', 'project-3'])
2023-12-22T02:24:46.2286683Z       220 | })
2023-12-22T02:24:46.2287049Z       221 |
2023-12-22T02:24:46.2287269Z
2023-12-22T02:24:46.2287588Z       at Object.<anonymous> (test/recursive.ts:218:33)
```
2024-01-01 16:40:03 +01:00
Zoltan Kochan 568860daae chore(release): 8.13.1 2023-12-26 15:39:22 +01:00