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
Zoltan Kochan
c5d4d81f56
refactor: rename FilesIndex to FilesMap ( #10427 )
2026-01-08 18:17:57 +01:00
Zoltan Kochan
0048667db4
refactor: use Maps instead of Records ( #10312 )
2025-12-15 11:48:19 +01:00
Zoltan Kochan
efb48dcab5
feat: install js runtime as prod dependency ( #10141 )
2025-10-31 17:12:50 +01:00
Zoltan Kochan
491a84fb26
feat: use ESM instead of commonjs ( #9870 )
2025-08-25 10:02:00 +02:00
Zoltan Kochan
27cbc09206
style: fix jest-related linting issues ( #9894 )
2025-08-22 21:56:49 +02:00
Zoltan Kochan
c89c93d59b
test: use @jest/globals ( #9877 )
2025-08-19 00:16:25 +02:00
Khải
9b4f73caaf
chore(scripts): typecheck-only ( #8395 )
...
* chore(scripts): typecheck-only
* feat: change all configuration
* feat: include pnpm/ and pnpm/test/
* chore(deps): remove unused dependency
* refactor(typescript-only): use find-packages
* refactor(typescript-only): refactor paths
* fix: typescript-only
* fix: update compile-only
* fix: compile pnpm
* fix: windows
* fix: windows
* chore: meta-updater
* refactor(tsconfig): remove explicit composite
* fix: path in windows
* feat: don't depend on cwd
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2024-08-11 08:26:01 +02:00
Brandon Cheng
c7e1b6fae8
chore: configure TypeScript project references for tests ( #8128 )
...
* refactor: store link values before converting to references
* fix: use .sort() without localeCompare
https://github.com/pnpm/pnpm/pull/8128#discussion_r1614031566
> Nit, but you probably just want to call sort without a comparison
> function; these are already strings and locale compare is not a good
> comparison for anything but human readable strings since it will
> differ on different people's machines based on their language setting.
> I've hit this too many times before for code gen.
* feat: configure meta-updater to write test/tsconfig.json files
* fix: relative imports for __typings__
* chore: `pnpm run meta-updater`
* fix: explicitly use test/tsconfig.json for ts-jest
2024-05-31 12:48:13 +02:00
Zoltan Kochan
a5a3b995c1
test: use sync fs operations in tests ( #7664 )
2024-02-16 19:43:04 +01:00
Zoltan Kochan
d92070876d
revert: "feat(deploy): apply publishConfig to all packages during deploy ( #6943 )" ( #7058 )
...
This reverts commit d57e4de6dc .
This reverts #6943
This will solve:
- https://github.com/pnpm/pnpm/issues/7040
- https://github.com/pnpm/pnpm/issues/6994
2023-09-06 01:05:47 +03:00
Zoltan Kochan
4a1a9431dc
fix(directory-fetcher): return the fetched package's manifest ( #7052 )
2023-09-05 11:57:18 +03:00
Jacob Ley
d57e4de6dc
feat(deploy): apply publishConfig to all packages during deploy ( #6943 )
...
When deploying packages, the package.json of the deployed package
(as well as any other locally defined dependencies)
should be treated as if it published, and mutate the package.json
according to `publishConfig` and local `workspace:` dependencies.
close #6693
---------
Co-authored-by: Zoltan Kochan <z@kochan.io >
2023-08-25 02:13:29 +03:00
Zoltan Kochan
9cbe293876
refactor: put all non-public projects to directories that start with __
2022-11-20 02:40:44 +02:00
Zoltan Kochan
4ca53b0b50
refactor: group projects in different subdirectories ( #5659 )
2022-11-20 01:35:22 +02:00