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
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
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
a76da0c53c
feat!: remove conversion of lockfile v6 to v9 ( #8866 )
2024-12-15 14:39:19 +01:00
Zoltan Kochan
d433cb9c9f
feat: adding the package name into the index file name ( #8510 )
...
close #8204
2024-09-15 18:26:28 +02:00
Zoltan Kochan
797ef0fc46
refactor: rename lockfile-types to lockfile.types
2024-07-27 14:46:23 +02:00
Khải
d21464e790
refactor(utils): return type annotations ( #7924 )
2024-04-14 11:29:54 +02:00
Zoltan Kochan
c9db742824
fix: update typescript to v5.4 ( #7905 )
2024-04-12 14:03:45 +02: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
19542ecd28
test: use sync operations for assertions ( #7663 )
2024-02-16 16:23:23 +01:00
Zoltan Kochan
c7d0564225
refactor: lockfile-file ( #7655 )
2024-02-16 11:14:47 +01:00
Zoltan Kochan
ee61ca4cb7
style: update eslint ( #6236 )
2023-03-18 14:57:29 +02:00
Zoltan Kochan
47e45d717d
feat!: breaking config changes in v8 ( #6035 )
...
* auto-install-peers=true
* save-workspace-protocol=rolling
* publishConfig.linkDirectory true by default
* resolve-peers-from-workspace-root is true by default
* set dedupeDirectDeps to true by default in @pnpm/core.
2023-02-05 11:43:22 +02:00
Zoltan Kochan
9cbe293876
refactor: put all non-public projects to directories that start with __
2022-11-20 02:40:44 +02:00