Commit Graph

18 Commits

Author SHA1 Message Date
Zoltan Kochan
187049055f chore: upgrade @typescript/native-preview to 7.0.0-dev.20260421.2 (#11332)
* chore: upgrade @typescript/native-preview to 7.0.0-dev.20260421.2

- Add explicit `types: ["node"]` to the shared tsconfig because tsgo
  20260421 no longer auto-acquires `@types/*` from `node_modules`.
- Refactor test files to explicitly import jest globals (`describe`,
  `it`, `test`, `expect`, `beforeEach`, etc.) from `@jest/globals`
  instead of relying on `@types/jest` ambient declarations. Under the
  new tsgo build, `import { jest } from '@jest/globals'` shadows the
  ambient `jest` namespace, breaking `@types/jest`'s `declare var
  describe: jest.Describe;` globals.
- Add `@jest/globals` to each package's devDependencies where tests
  now import from it, and add `@types/node` to packages that need it
  but were relying on hoisted resolution.
- Replace `fail()` calls with `throw new Error(...)` since `fail` is
  no longer globally available.

* chore: fix remaining tsgo type-strictness errors

- Strip `as <PnpmType>` casts on objects passed to toMatchObject /
  toStrictEqual / toEqual; @jest/globals rejects the typed objects
  (which include AsymmetricMatchers) vs. the repo-specific type.
- Type `jest.fn<...>()` explicitly where the mock's signature matters
  for toHaveBeenCalledWith.
- Replace `beforeEach(() => X)` with `beforeEach(() => { X })` so the
  return value is void, as the stricter jest typing requires.
- Use `expect.objectContaining({...})` in one place where the full
  expected object triggered stricter type resolution.
- Cast `prompt.mock.calls` arg through `as unknown as Record<...>[]`
  for patch.test.ts's nested-array matchers.
- Fix off-by-one `<reference path>` in pnpm/test/getConfig.test.ts
  that only surfaced now.
- Move `@jest/globals` from devDependencies to dependencies in the
  two `__utils__` packages that import it from `src/`.
- Clean up unused imports from the @jest/globals migration.

* chore: address Copilot review on #11332

- Move misplaced `@jest/globals` imports to the top import block in
  checkEngine, run.ts, and workspace/root-finder tests where the
  script dropped them below executable code.
- Replace `try { await x(); throw new Error('should have thrown') } catch`
  in bins/linker, lockfile/fs, and resolving/local-resolver tests with
  `await expect(x()).rejects.toMatchObject({...})`. The old pattern
  swallowed an unrelated `throw` if the under-test call silently
  succeeded, which would fail on the catch-block assertion with a
  misleading message.
2026-04-21 22:50:40 +02:00
Zoltan Kochan
06d6c2d405 chore(release): 11.0.0-rc.0 2026-04-10 18:30:33 +02:00
Zoltan Kochan
d6b8e281b6 chore: use pn instead of pnpm (#11124) 2026-03-28 11:55:51 +01:00
Brandon Cheng
0bf7051fb3 build: enable TypeScript verbatimModuleSyntax compiler option (#10628)
* build: enable TypeScript `verbatimModuleSyntax`

* fix: use `import type` to elide import errors during bundling

```
> pnpm dlx node@runtime:24.6.0 bundle.ts

Error: R] Could not resolve "@npm/types"

    ../pkg-manifest/exportable-manifest/lib/transform/index.js:1:15:
      1 │ import {} from '@npm/types';
        ╵                ~~~~~~~~~~~~

  You can mark the path "@npm/types" as external to exclude it from the bundle, which will remove this error and leave the unresolved path in the bundle.

Error: Build failed with 1 error:
../pkg-manifest/exportable-manifest/lib/transform/index.js:1:15: ERROR: Could not resolve "@npm/types"
    at failureErrorWithLog (/home/runner/work/pnpm/pnpm/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/lib/main.js:1467:15)
```

* fix: use `import type` to elide import errors in tests
2026-03-05 12:07:28 +01:00
Brandon Cheng
6f806be0ae chore: enable TypeScript's erasableSyntaxOnly config (#10365)
* chore: configure `erasableSyntaxOnly`

* refactor: remove class property access modifiers in constructor

```
../dedupe/check/src/DedupeCheckIssuesError.ts:5:16 - error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.

5   constructor (public dedupeCheckIssues: DedupeCheckIssues) {
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../reviewing/dependencies-hierarchy/src/getTree.ts:243:24 - error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.

243   private constructor (private readonly keypath: readonly string[]) {}
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

* chore: migrate from enum types

```
../pkg-manager/plugin-commands-installation/src/import/index.ts:66:6 - error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.

66 enum YarnLockType {
        ~~~~~~~~~~~~

../lockfile/detect-dep-types/src/index.ts:5:13 - error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.

5 export enum DepType {
              ~~~~~~~
```

* chore: add changelog

* chore: remove `ts-node` dev dependency (#10371)

* chore: remove `ts-node` dev dependency

* chore: remove `ts-node` usages from `package.json` scripts
2025-12-27 11:23:49 +01:00
Zoltan Kochan
7e2910e70f chore(release): 11.0.0-alpha.0 2025-11-13 15:44:27 +01:00
Zoltan Kochan
df6d546e13 chore: fix repository URLs in package.json files of utils 2025-11-10 00:58:29 +01:00
Zoltan Kochan
491a84fb26 feat: use ESM instead of commonjs (#9870) 2025-08-25 10:02:00 +02:00
Zoltan Kochan
dfea901cbf chore: use catalogs only in dependencies (#9868) 2025-08-15 17:59:00 +02:00
Zoltan Kochan
20085495b0 fix: @pnpm/tsconfig should be private 2025-06-08 15:27:08 +02:00
Zoltan Kochan
89bc2c6637 chore(release): 10.12.0 2025-06-08 15:04:58 +02:00
Khải
86e001604d feat: improve mismatched specifiers error message (#9598)
* feat: improve mismatched specifiers error message

* test: fix

* feat: display as diff

* docs(changeset): change it to minor

* docs(changeset): add tsconfig

* docs(changeset): more details

* feat: make it clear which spec is belongs to which

* docs: update changeset
2025-06-06 09:09:26 +02:00
Zoltan Kochan
65e3af8a09 fix: remove replaceall polyfill 2023-03-27 01:15:13 +03:00
Zoltan Kochan
a4ce8e1f27 Merge branch 'main' into v8 2023-02-23 13:13:30 +02:00
Zoltan Kochan
5e32ea9b19 fix: update TypeScript to v5 (#5990)
Co-authored-by: Brandon Cheng <gluxon@users.noreply.github.com>
2023-02-23 13:05:44 +02:00
Zoltan Kochan
ec5d01199f chore: update tags 2023-02-19 16:10:07 +02:00
Zoltan Kochan
583e3954be fix: remove suppressImplicitAnyIndexErrors from typescript settings (#5991) 2023-01-28 18:19:26 +02:00
Zoltan Kochan
9cbe293876 refactor: put all non-public projects to directories that start with __ 2022-11-20 02:40:44 +02:00