Zoltan Kochan
dba4153767
refactor: rename packages and consolidate runtime resolvers ( #10999 )
...
* refactor: rename workspace.sort-packages and workspace.pkgs-graph
- workspace.sort-packages -> workspace.projects-sorter
- workspace.pkgs-graph -> workspace.projects-graph
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* refactor: rename packages/ to core/ and pkg-manifest.read-package-json to reader
- Rename packages/ directory to core/ for clarity
- Rename pkg-manifest/read-package-json to pkg-manifest/reader (@pnpm/pkg-manifest.reader)
- Update all tsconfig, package.json, and lockfile references
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* refactor: consolidate runtime resolvers under engine/runtime domain
- Remove unused @pnpm/engine.runtime.node.fetcher package
- Rename engine/runtime/node.resolver to node-resolver (dash convention)
- Move resolving/bun-resolver to engine/runtime/bun-resolver
- Move resolving/deno-resolver to engine/runtime/deno-resolver
- Update all package names, tsconfig paths, and lockfile references
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* chore: update lockfile after removing node.fetcher
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: sort tsconfig references and package.json deps alphabetically
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: auto-fix import sorting
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: update __typings__ paths in tsconfig.lint.json for moved resolvers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: remove deno-resolver from deps of bun-resolver
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-18 00:19:58 +01: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
f47ef4b125
refactor: reorganize monorepo domain structure ( #10987 )
...
Reorganize the monorepo's top-level domain directories for clarity:
- pkg-manager/ split into:
- installing/ (core, headless, client, resolve-dependencies, etc.)
- installing/linking/ (hoist, direct-dep-linker, modules-cleaner, etc.)
- bins/ (link-bins, package-bins, remove-bins)
- completion/ merged into cli/
- dedupe/ moved to installing/dedupe/
- env/ renamed to engine/ with subdomains:
- engine/runtime/ (node.fetcher, node.resolver, plugin-commands-env, etc.)
- engine/pm/ (plugin-commands-setup, plugin-commands-self-updater)
- env.path moved to shell/
- tools/ and runtime/ dissolved
- reviewing/ and lockfile audit packages moved to deps/:
- deps/inspection/ (list, outdated, dependencies-hierarchy)
- deps/compliance/ (audit, licenses, sbom)
- registry/ moved to resolving/registry/
- semver/peer-range moved to deps/
- network/fetching-types moved to fetching/
- packages/ slimmed down, moving packages to proper domains:
- calc-dep-state, dependency-path -> deps/
- parse-wanted-dependency -> resolving/
- git-utils -> network/
- naming-cases -> text/
- make-dedicated-lockfile -> lockfile/
- render-peer-issues -> installing/
- plugin-commands-doctor -> cli/
- plugin-commands-init -> workspace/
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 13:45:54 +01:00
Zoltan Kochan
31858c544b
refactor: merge env lockfile into pnpm-lock.yaml ( #10964 )
...
Instead of a separate pnpm-lock.env.yaml file, the env lockfile
(configDependencies and packageManagerDependencies) is now stored as
the first YAML document in pnpm-lock.yaml, separated by `---`.
The combined file starts with `---\n` when an env document is present,
allowing pnpm to check just the first 4 bytes to know whether
the file contains an env document. Reading uses streaming I/O that
stops as soon as the document separator is found, avoiding parsing
of the full lockfile.
Writing preserves both documents: when the env lockfile is updated
the main lockfile portion is kept, and vice versa.
2026-03-15 01:44:20 +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
e3ec45421b
fix(assert-project): check for .exe when .cmd does not exist on Windows
...
After hardlinking node.exe directly instead of creating a cmd-shim,
the isExecutable utility needs to also accept .exe files on Windows.
2026-02-23 17:26:43 +01:00
btea
4015eeb8e9
chore: replace write-pkg with write-package ( #10351 )
2025-12-22 16:21:30 +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
dab9abef5c
Merge remote-tracking branch 'origin/main' into v11
2025-10-24 14:19:07 +02:00
Zoltan Kochan
43d7b18c2f
chore(release): 10.19.0
2025-10-21 15:30:20 +02:00
Zoltan Kochan
a43166624e
Merge remote-tracking branch 'origin/main' into v11
2025-10-10 10:01:19 +02:00
Zoltan Kochan
6618431aee
chore(release): libs
2025-09-29 11:56:00 +02:00
Zoltan Kochan
cb0c5b94c6
Merge remote-tracking branch 'origin/main' into v11
2025-09-19 14:31:36 +02:00
Zoltan Kochan
ea44ff979f
chore(release): 10.16.1
2025-09-13 19:20:27 +02:00
Zoltan Kochan
6f861bccaa
Merge remote-tracking branch 'origin/main' into v11
2025-09-12 22:35:14 +02:00
Zoltan Kochan
a3c1498403
chore(release): 10.16.0
2025-09-12 14:24:30 +02:00
Zoltan Kochan
3df6702bcb
fix: update load-json-file, write-json-file, write-pkg
2025-08-28 11:37:38 +02:00
Zoltan Kochan
491a84fb26
feat: use ESM instead of commonjs ( #9870 )
2025-08-25 10:02:00 +02:00
Zoltan Kochan
facd7656e8
refactor: always use extensions in relative imports ( #9878 )
2025-08-19 15:25:11 +02:00
Zoltan Kochan
dfea901cbf
chore: use catalogs only in dependencies ( #9868 )
2025-08-15 17:59:00 +02:00
Zoltan Kochan
a4d654807c
chore(release): 10.14.0
2025-07-31 15:00:26 +02:00
Zoltan Kochan
fb9de7ac3a
chore(release): 10.14.0-0
2025-07-23 14:54:13 +02:00
Zoltan Kochan
89bc2c6637
chore(release): 10.12.0
2025-06-08 15:04:58 +02:00
Zoltan Kochan
cecd039cd8
chore(release): 10.11.1
2025-06-02 15:59:40 +02:00
Zoltan Kochan
a014bb0e28
test: write settings to pnpm-workspace.yaml instead of .npmrc ( #9523 )
2025-05-14 15:02:58 +02:00
Zoltan Kochan
789e7235ce
chore(release): 10.11.0
2025-05-13 16:01:19 +02:00
Zoltan Kochan
a4ba06ddc9
chore(release): 10.9.0
2025-04-21 10:13:38 +02:00
Zoltan Kochan
f337e7182f
chore(release): 10.8.1
2025-04-14 12:52:42 +02:00
Zoltan Kochan
6574546eee
chore(release): 10.8.0
2025-04-07 18:21:12 +02:00
Zoltan Kochan
bd4caa5051
chore(release): 10.7.0
2025-03-26 11:56:11 +01:00
Zoltan Kochan
f19cbc27ac
chore(release): 10.6.5
2025-03-19 14:20:12 +01:00
Zoltan Kochan
86ff415755
chore(release): 10.6.0
2025-03-06 12:09:26 +01:00
Zoltan Kochan
0e9fff7bef
chore(release): 10.5.0
2025-02-25 12:27:14 +01:00
Zoltan Kochan
c5a0b9ea43
chore(release): 10.1.0
2025-01-26 22:26:45 +01:00
Zoltan Kochan
42ecf04fd0
chore(release): 10.0.0
2025-01-07 15:28:17 +01:00
Zoltan Kochan
c5080ded56
chore(release): 10.0.0-rc.3
2025-01-05 13:26:28 +01:00
Zoltan Kochan
b27e7f553a
chore(release): 10.0.0-rc.1
2024-12-27 14:20:04 +01:00
Zoltan Kochan
3278c588cd
chore(release): 10.0.0-rc.0
2024-12-16 02:31:45 +01:00
Zoltan Kochan
a76da0c53c
feat!: remove conversion of lockfile v6 to v9 ( #8866 )
2024-12-15 14:39:19 +01:00
Zoltan Kochan
9fcc7e808e
chore(release): 10.0.0-beta.0
2024-11-28 12:35:01 +01:00
Zoltan Kochan
32613a05af
Merge remote-tracking branch 'origin/main' into v10
2024-10-28 04:01:43 +01:00
Zoltan Kochan
0309365fda
chore(release): 9.12.3
2024-10-28 03:11:09 +01:00
Zoltan Kochan
790ce1e869
Merge branch 'main' into v10
2024-10-25 22:24:10 +02:00
Zoltan Kochan
1dd419cbb4
test: fix killing the registry mock server on teardown ( #8695 )
2024-10-25 21:24:08 +02:00
Zoltan Kochan
50c3aaf46f
Merge branch 'main' into v10
2024-10-23 14:08:15 +02:00
Zoltan Kochan
744711c8b3
chore(release): 9.12.2
2024-10-16 16:09:10 +02:00