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
Zoltan Kochan
3a5bfaa94f
chore: update zkochan packages to latest versions ( #10930 )
...
Update all packages from zkochan/packages to their latest major versions
and exclude them from minimumReleaseAge requirement. This includes
updating catalog entries, adapting to breaking API changes (default
exports replaced with named exports, sync functions renamed with Sync
suffix), and updating type declarations.
2026-03-11 13:47:46 +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
Zoltan Kochan
ec7c5d7d1a
feat: improve git URL detection to recognize plain HTTP/HTTPS URLs
...
Improve git URL detection to recognize plain HTTP/HTTPS URLs
ending in `.git` and prioritize git resolver over tarball resolver.
close #10468
2026-01-16 19:38:02 +01:00
Zoltan Kochan
0bcbaf9994
refactor: move out skip resolution logic from package requester ( #10439 )
2026-01-12 13:08:50 +01:00
Zoltan Kochan
01760da877
fix(git-resolver): installing git-hosted dependency using annotated tags ( #10349 )
...
close #10335
2025-12-22 23:05:40 +01:00
klassiker
c5fbddee05
fix(git-fetcher): ensure the specified commit is used after checkout ( #10310 )
...
* fix(git-fetcher): ensure the specified commit is used after checkout
* fix(git-resolver): always resolve to a full commit
* chore: add changeset heavy-dragons-start
* test: fix related test case
* test: fix some other test that gets stuck
* Update heavy-dragons-start.md with PR reference
Add reference to pull request #10310 for clarity.
2025-12-17 03:26:18 +01:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
Khải
272129193c
refactor: improve resolver types ( #9544 )
2025-05-16 13:14:06 +02:00
btea
d15c27438d
fix: correct url loss pathname ( #9548 )
...
close #9545
2025-05-15 18:30:19 +02:00
btea
6b6ccf97e7
fix: remove url.parse ( #9502 )
...
close #9492
2025-05-11 14:15:38 +02:00
Zoltan Kochan
8a9f3a4835
refactor: rename pref to bare specifier ( #9445 )
2025-04-20 22:58:08 +02:00
Zoltan Kochan
5b73df1eb1
refactor: resolvers should calculate the specifiers that are saved into package.json ( #9426 )
...
* refactor: resolvers should return specifier templates
* refactor: updating workspace protocol specs in package.json
* refactor: move workspace selector calculation logic to npm-resolver
* refactor: move workspace selector calculation logic to npm-resolver
* refactor: calculating range in npm-resolver
* refactor: rename normalizedPref and specifierTemplate to specifier
* refactor: specifiers creation
* refactor: npm-resolver
* refactor: remove which-version-is-pinned package
* refactor: which version is pinned
* docs: add changesets
* refactor: implement suggestions
* refactor: revert regex usage
2025-04-18 17:48:03 +02:00
btea
adb236f1a1
refactor: improve regexp ( #9203 )
2025-03-02 13:17:09 +01:00
mato533
d6a4ff1892
feat(git-resolver): respect proxy settings when resolving git ( #9016 )
...
close : #6530
2025-01-28 18:48:37 +01:00
Utsav Shah
b10096228c
fix(git-resolver): handle private git repo resolution ( #8906 )
...
* fix(git-resolver): handle private git repo resolution
In the case where:
1. No git auth token was specified by the user
2. The package requested to be fetched via https
3. The user does not have SSH access to the repo but has HTTPS access
4. The package was hosted in a private GitHub repo
pnpm would fallback to using SSH since it was a "likely private repo"
and would fail to resolve the package. Now, rather than only checking if
there is an auth token specified, it also checks both:
1. Is the repo private
2. Does the user have access to ls-remote it.
And if these conditions are true, it tries to use https anyway.
This matches the behavior of npm and Yarn berry. Yarn classic also has
this bug, and there's a code comment that alludes to it.
2024-12-27 02:48:59 +01:00
btea
e8c0ae354b
chore: remove unnecessary comment ( #8896 )
2024-12-22 01:43:09 +01:00
btea
9797a1e889
refactor: remove useless parameters from the catch statement ( #8583 )
2024-09-29 12:08:48 +02:00
Khải
24ad47cfb8
refactor: replace array.reduce ( #8537 )
2024-09-18 04:41:35 +02:00
Zoltan Kochan
45f4262f03
refactor: create a separate type for NodeId ( #8092 )
2024-05-17 11:23:52 +02:00
Zoltan Kochan
c969f374de
fix: git-hosted dependencies ( #8005 )
...
close #7990
2024-04-24 13:46:09 +02:00
Khải
45243a5c63
refactor(resolving): type checking perf ( #7883 )
2024-04-10 10:52:33 +02:00
Zoltan Kochan
53594a3787
feat!: package ID should be an exact version spec ( #7748 )
2024-03-10 14:46:25 +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
733d612ad1
test: check spelling with cspell ( #7229 )
2023-10-20 15:58:27 +03:00
Khải
22bbe92554
feat(git-resolver): fix private git repo ( #6832 )
...
fixes #6827
closes #6829
2023-07-19 13:48:05 +03:00
Zoltan Kochan
de9b6c20d4
revert: "fix(git-resolver): wrong scheme to git ls-remote ( #6806 )"
...
This reverts commit 6fe0b60e61 .
ref #6827
2023-07-18 12:44:51 +03:00
Khải
6fe0b60e61
fix(git-resolver): wrong scheme to git ls-remote ( #6806 )
...
close #6805
2023-07-17 11:40:54 +03:00
Andrei Neculau
28796377cb
fix: handle git+ssh with semver ( #6239 )
2023-03-21 00:40:26 +02: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
4ca53b0b50
refactor: group projects in different subdirectories ( #5659 )
2022-11-20 01:35:22 +02:00