Zoltan Kochan
6c480a4375
perf: replace node-fetch with undici ( #10537 )
...
Replace node-fetch with native undici for HTTP requests throughout pnpm.
Key changes:
- Replace node-fetch with undici's fetch() and dispatcher system
- Replace @pnpm/network.agent with a new dispatcher module in @pnpm/network.fetch
- Cache dispatchers via LRU cache keyed by connection parameters
- Handle proxies via undici ProxyAgent instead of http/https-proxy-agent
- Convert test mocking from nock to undici MockAgent where applicable
- Add minimatch@9 override to fix ESM incompatibility with brace-expansion
2026-03-29 12:44:00 +02:00
Zoltan Kochan
4a36b9a110
refactor: rename internal packages to @pnpm/<domain>.<leaf> convention ( #10997 )
...
## Summary
Rename all internal packages so their npm names follow the `@pnpm/<domain>.<leaf>` convention, matching their directory structure. Also rename directories to remove redundancy and improve clarity.
### Bulk rename (94 packages)
All `@pnpm/` packages now derive their name from their directory path using dot-separated segments. Exceptions: `packages/`, `__utils__/`, and `pnpm/artifacts/` keep leaf names only.
### Directory renames (removing redundant prefixes)
- `cli/cli-meta` → `cli/meta`, `cli/cli-utils` → `cli/utils`
- `config/config` → `config/reader`, `config/config-writer` → `config/writer`
- `fetching/fetching-types` → `fetching/types`
- `lockfile/lockfile-to-pnp` → `lockfile/to-pnp`
- `store/store-connection-manager` → `store/connection-manager`
- `store/store-controller-types` → `store/controller-types`
- `store/store-path` → `store/path`
### Targeted renames (clarity improvements)
- `deps/dependency-path` → `deps/path` (`@pnpm/deps.path`)
- `deps/calc-dep-state` → `deps/graph-hasher` (`@pnpm/deps.graph-hasher`)
- `deps/inspection/dependencies-hierarchy` → `deps/inspection/tree-builder` (`@pnpm/deps.inspection.tree-builder`)
- `bins/link-bins` → `bins/linker`, `bins/remove-bins` → `bins/remover`, `bins/package-bins` → `bins/resolver`
- `installing/get-context` → `installing/context`
- `store/package-store` → `store/controller`
- `pkg-manifest/manifest-utils` → `pkg-manifest/utils`
### Manifest reader/writer renames
- `workspace/read-project-manifest` → `workspace/project-manifest-reader` (`@pnpm/workspace.project-manifest-reader`)
- `workspace/write-project-manifest` → `workspace/project-manifest-writer` (`@pnpm/workspace.project-manifest-writer`)
- `workspace/read-manifest` → `workspace/workspace-manifest-reader` (`@pnpm/workspace.workspace-manifest-reader`)
- `workspace/manifest-writer` → `workspace/workspace-manifest-writer` (`@pnpm/workspace.workspace-manifest-writer`)
### Workspace package renames
- `workspace/find-packages` → `workspace/projects-reader`
- `workspace/find-workspace-dir` → `workspace/root-finder`
- `workspace/resolve-workspace-range` → `workspace/range-resolver`
- `workspace/filter-packages-from-dir` merged into `workspace/filter-workspace-packages` → `workspace/projects-filter`
### Domain moves
- `pkg-manifest/read-project-manifest` → `workspace/project-manifest-reader`
- `pkg-manifest/write-project-manifest` → `workspace/project-manifest-writer`
- `pkg-manifest/exportable-manifest` → `releasing/exportable-manifest`
### Scope
- 1206 files changed
- Updated: package.json names/deps, TypeScript imports, tsconfig references, changeset files, renovate.json, test fixtures, import ordering
2026-03-17 21:50:40 +01:00
Zoltan Kochan
5d5818e44f
style: enforce node: protocol for builtin imports ( #10951 )
...
Add n/prefer-node-protocol rule and autofix all bare builtin imports
to use the node: prefix. Simplify the simple-import-sort builtins
pattern to just ^node: since all imports now use the prefix.
2026-03-13 07:59:51 +01:00
Zoltan Kochan
1c8c4e49f5
style: add eslint-plugin-simple-import-sort ( #10947 )
...
Add eslint-plugin-simple-import-sort to enforce consistent import ordering:
- Node.js builtins first
- External packages second
- Relative imports last
- Named imports sorted alphabetically within each statement
2026-03-13 02:02:38 +01:00
Brandon Cheng
01914345d5
build: enable @typescript-eslint/no-import-type-side-effects ( #10630 )
...
* build: enable `@typescript-eslint/no-import-type-side-effects`
* build: disable `@typescript-eslint/consistent-type-imports`
* chore: apply fixes for `no-import-type-side-effects`
pnpm exec eslint "**/src/**/*.ts" "**/test/**/*.ts" --fix
2026-03-08 00:02:48 +01:00
3w36zj6
bb8baa7cff
fix(npm-resolver): request full metadata for optional dependencies ( #10455 )
...
close #9950
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2026-01-26 01:13:06 +01:00
btea
0dfa8b862b
fix: installation failed due to installation link redirection (v11) ( #10286 )
...
* fix: installation failed due to installation link redirection
* fix: handle all different cases of redirect locations
* docs: update changesets
* refactor: implement CR suggestion
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2025-12-12 20:19:36 +01:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
Zoltan Kochan
87d3aa8bfc
fix: fetching packument from AWS CodeArtifact ( #9863 )
...
close #9862
2025-08-15 12:10:22 +02:00
Khải
5d7ba81f77
refactor: replace & with interface extends where possible ( #9437 )
2025-04-18 23:02:25 +02:00
Zoltan Kochan
750ae7d1d7
feat(cli): installing new configurational dependencies ( #9377 )
2025-04-07 13:38:18 +02:00
btea
b0f3c71b7b
fix: get the final address by installing package through links ( #8842 )
...
close #8833
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-12-11 13:22:15 +01:00
Khải
757ae8200d
refactor(modules-mounter+network): return types ( #7894 )
2024-04-11 00:59:59 +02:00
Zoltan Kochan
442d97daad
refactor: error handling in fetch
2024-03-28 17:59:10 +01:00
Nacho Aldama
7733f3a943
feat: support scoped client certificates ( #7626 )
...
close #7427
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-02-14 12:11:12 +01:00
Zoltan Kochan
4b97f1f07a
perf: don't use await inside loops ( #6617 )
2023-06-05 12:12:47 +03:00
Zoltan Kochan
1989a068b3
chore(deps): update
2023-06-03 22:41:42 +03:00
Zoltan Kochan
ee61ca4cb7
style: update eslint ( #6236 )
2023-03-18 14:57:29 +02:00
Zoltan Kochan
583e3954be
fix: remove suppressImplicitAnyIndexErrors from typescript settings ( #5991 )
2023-01-28 18:19:26 +02:00
Zoltan Kochan
0055af5898
style: fix
2023-01-11 02:19:41 +02:00
Zoltan Kochan
4ca53b0b50
refactor: group projects in different subdirectories ( #5659 )
2022-11-20 01:35:22 +02:00