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ải
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ải
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ả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
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
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